API Reference
Complete reference for all zSignals API endpoints. Click on any endpoint for detailed documentation and examples.
Trending & Market Data
/v1/market/trending
Get trending tokens sorted by volume and market activity
Example Response
{
"rank": 1,
"symbol": "ENJOY",
"name": "Enjoy Token",
"contract_address": "0xc0ffee254729296a45a3885639AC7E10F9d54979",
"creator_handle": "enjoyer",
"trade_count": 142,
"volume_24h": 125000.50
}
Query Parameters
limit |
integer | Number of results (1-100) | Default: 100 |
offset |
integer | Skip results for pagination | Default: 0 |
timeframe |
string | Time period: 1h, 24h, 7d | Default: 24h |
/v1/tokens/:id
Get detailed information for a specific token by contract address
Path Parameters
id |
string | Required | Token ID or contract address |
Response
{
"symbol": "ENJOY",
"name": "Enjoy Token",
"contract_address": "0xc0ffee254729296a45a3885639AC7E10F9d54979",
"price_usd": 0.000125,
"market_cap": 2500000,
"volume_24h": 125000,
"holders_count": 4521,
"liquidity_usd": 450000,
"change_24h": 15.3,
"change_7d": 45.2,
"created_at": "2024-01-10T12:00:00Z"
}
/v1/tokens/:id/price-history
Get historical price data for a specific token
Query Parameters
period |
string | Time period: 1h, 4h, 24h, 7d | Default: 24h |
/v1/tokens/:id/metrics
Get detailed token metrics (supply, ATH/ATL, etc.)
Response
{
"token": {
"symbol": "BALAJIS",
"name": "balajis.eth",
"address": "0x..."
},
"metrics": {
"market_cap": 4170.23,
"total_supply": 1000000,
"circulating_supply": 1000000,
"holders_count": 1523,
"volume_24h": 1250.50,
"trades_24h": 142,
"price_change_24h": 15.3,
"all_time_high": 0.00825,
"all_time_low": 0.00102
},
"last_updated": "2025-10-06T10:30:00Z"
}
/v1/tokens/:id/holders
Get holder distribution analytics from Blockscout
Query Parameters
limit |
integer | Number of top holders (1-100) | Default: 100 |
Response
{
"token": {
"symbol": "BALAJIS",
"name": "balajis.eth",
"address": "0x..."
},
"total_holders": 1523,
"distribution": {
"top10_concentration": 45.2,
"top25_concentration": 62.8,
"top50_concentration": 78.5,
"top100_concentration": 89.2,
"gini_coefficient": 0.85,
"whale_count": 12,
"whale_percentage": 0.27
},
"holder_types": {
"contract_holders": 89,
"eoa_holders": 1434
},
"holders": [
{
"address": "0x...",
"balance": 125000,
"percentage": 12.5
}
],
"data_source": "blockscout",
"last_updated": "2025-10-06T10:30:00Z"
}
/v1/tokens/:id/swaps
Get recent swap history for a specific token
Query Parameters
limit |
integer | Number of swaps (1-100) | Default: 50 |
Comprehensive Data
/v1/all
Get all Z100 data (creators + posts) in a single comprehensive call
Query Parameters
period |
string | Time period: 1h, 4h, 24h, 7d | Default: 24h |
include_changes |
boolean | Include historical comparison data | Default: true |
/v1/tokens
Search/filter tokens by specific fields
Query Parameters
field |
string | Required | Field to search: symbol, name, address, creator |
value |
string | Required | Value to match |
Example
curl "https://api.zsignals.xyz/v1/tokens?field=symbol&value=BALAJIS" \
-H "Authorization: Bearer YOUR_API_KEY"
/v1/search
General search across all Z100 tokens
Query Parameters
q |
string | Required | Search query (min 2 characters) |
/v1/market/volume
Get aggregate volume data across all tokens
Query Parameters
period |
string | Time period: 1h, 4h, 24h, 7d | Default: 24h |
Discovery
/v1/discover/rising
Get rising/emerging tokens with strong momentum
Query Parameters
limit |
integer | Number of results (1-50) | Default: 20 |
/v1/discover/new-launches
Get recently launched tokens
Query Parameters
limit |
integer | Number of results (1-50) | Default: 20 |
z100 Leaderboards
/v1/z100/creators
Get top 100 Zora creators ranked by portfolio value and activity
{
"rank": 1,
"handle": "jessepollak",
"name": "jessepollak",
"creator_address": "0x2211d1d0020daea8039e46cf1367962070d77da9",
"portfolio_value": "$10.4M",
"portfolio_value_raw": 10395910.24,
"volume_24h": "$117.6K",
"total_volume": "$31.5M",
"unique_holders": 30153,
"change_24h": "-0.7%"
}
Query Parameters
limit |
integer | Number of results (1-100) | Default: 100 |
sort |
string | Sort by: value, volume, holders | Default: value |
/v1/z100/posts
Get top 100 Zora posts ranked by engagement and market metrics
{
"rank": 1,
"symbol": "Base is for everyone",
"name": "Base is for everyone",
"creator_name": "base",
"creator_address": "0x19ff7ea0badffa183f03533c3884f9ca03145aad",
"market_cap": "$2.1M",
"market_cap_raw": 2128407.14,
"volume_24h": "$7.0K",
"total_volume": "$120.2M",
"unique_holders": 78986,
"change_24h": "-3.3%"
}
Query Parameters
limit |
integer | Number of results (1-100) | Default: 100 |
sort |
string | Sort by: engagement, volume, holders | Default: engagement |
z100 Index
/v1/z100/index
Get Z100 Index value and aggregate metrics (market-cap weighted, baseline 1000)
Query Parameters
period |
string | Time period: 1h, 4h, 24h, 7d | Default: 24h |
Response
{
"period": "24h",
"index_value": 1247.53,
"total_volume": 1247530000,
"total_trades": 45823,
"creator_volume": 823450000,
"post_volume": 424080000,
"active_creators": 100,
"active_posts": 100,
"top_creators": ["balajis", "wbnns", "vitalik", "punk6529", "beeple"],
"top_posts": ["enjoy", "higher", "degen", "farther", "build"],
"timestamp": 1696592400
}
/v1/z100/historical
Get historical Z100 index data
⚠️ Requires Professional or Enterprise tier
Query Parameters
from |
string | ISO 8601 date | Default: 7 days ago |
to |
string | ISO 8601 date | Default: now |
interval |
string | hourly, daily, weekly | Default: daily |
Recent Activity
/v1/market/recent-swaps
Get recent swaps and trading activity across all tokens
{
"transaction_hash": "0xb8e1aae0a22d56b8cb7bd02963910d0369a9aeba37847bc9125820eb4aed2161",
"pool_id": "0x1a3812473f28d4203387e8f3836d07f4215135b9c0a5cd0e304403a04c5d8f53",
"timestamp": 1759764041,
"token_symbol": "arbstein",
"is_buy": false,
"amount_in": 3.83253363799726,
"amount_out": 3.83253363799726,
"volume_usd": 0.34
}
Query Parameters
limit |
integer | Number of results (1-100) | Default: 50 |
type |
string | Filter by: buy, sell, all | Default: all |
min_value |
decimal | Minimum USD value | Optional |
Pagination
All list endpoints support pagination using limit and offset parameters:
# First page (items 1-20)
GET /v1/market/trending?limit=20&offset=0
# Second page (items 21-40)
GET /v1/market/trending?limit=20&offset=20
# Third page (items 41-60)
GET /v1/market/trending?limit=20&offset=40
Pagination Response Headers
Paginated responses include helpful headers:
X-Total-Count: 500
X-Page-Count: 25
X-Current-Page: 1
X-Per-Page: 20
Response Formats
Success Response
Successful requests return JSON data with HTTP status 200:
{
"data": [...],
"meta": {
"total": 100,
"page": 1,
"per_page": 20
}
}
Error Response
Failed requests return error details with appropriate HTTP status:
{
"error": {
"code": "RESOURCE_NOT_FOUND",
"message": "The requested token was not found",
"details": {
"token": "0xinvalid"
}
}
}
Server-Sent Events (SSE) Streaming
Real-time swap data streaming via EventSource. Note: SSE endpoint is at the root domain, not under /api/v1.
const eventSource = new EventSource('https://zsignals.xyz/stream/swaps');
eventSource.onmessage = (event) => {
const swap = JSON.parse(event.data);
console.log('New swap:', swap);
};
eventSource.onerror = (error) => {
console.error('SSE error:', error);
eventSource.close();
};
SSE Response Format
Each swap event contains the following data:
{
"timestamp": 1696592400,
"tx_hash": "0xabc123...",
"token_symbol": "BALAJIS",
"token_address": "0x0578d8a44db98b23bf096a382e016e29a5ce0ffe",
"is_buy": true,
"volume_usd": 125.50,
"amount": 30000,
"price_per_token": 0.00418,
"pool_address": "0x...",
"trader": "0x..."
}
Stream Characteristics
| Property | Value | Description |
|---|---|---|
Endpoint |
/stream/swaps | Server-Sent Events endpoint |
Authentication |
None required | Public stream for all users |
Update Frequency |
Real-time | Events sent as swaps occur |
Connection Type |
Long-lived HTTP | Automatic reconnection on disconnect |