Public read-only API for builders. Access token data, trades, OHLCV candles, trending tokens, and leaderboards across all memez.wtf chains.
https://ylinicymupbjyndckejb.supabase.co/functions/v1/api-v1Header: x-api-key
Sign in and visit Developer Settings
Every request must include a valid API key in the x-api-key header. Keys are self-service from your account. All keys share the same flat rate limits at launch.
Rate limit
120
requests / minute
Daily quota
50,000
requests / day
Rate-limit state is returned in every response via X-RateLimit-* headers. If you exceed a limit you will receive a 429 response with a Retry-After header.
Read-only by design. The API only accepts GET requests — any other method returns 405. There are no trading, launch, wallet, transfer or account endpoints, and an API key grants no ability to place orders or move funds. Trading always requires a signed-in memez.wtf session with your own connected wallet signature.
/v1/statusHealth check and the caller's current rate-limit state.
curl -H "x-api-key: mz_live_..." \
"https://ylinicymupbjyndckejb.supabase.co/functions/v1/api-v1/v1/status"{
"data": {
"message": "memez.wtf public API v1",
"docs": "https://memez.wtf/api-docs"
},
"meta": {
"version": "v1",
"rate_limit": {
"limit_per_minute": 120,
"remaining_minute": 118,
"limit_per_day": 50000,
"remaining_day": 49982
}
}
}/v1/chainsList the supported chains and their metadata.
curl -H "x-api-key: mz_live_..." \
"https://ylinicymupbjyndckejb.supabase.co/functions/v1/api-v1/v1/chains"{
"data": [
{ "id": "solana", "name": "Solana", "native_currency": "SOL" },
{ "id": "ethereum", "name": "Ethereum", "native_currency": "ETH" },
{ "id": "bsc", "name": "BNB Chain", "native_currency": "BNB" },
{ "id": "base", "name": "Base", "native_currency": "ETH" },
{ "id": "ton", "name": "GRAM", "native_currency": "TON" },
{ "id": "robinhood", "name": "Robinhood Chain", "native_currency": "ETH" }
],
"meta": { "version": "v1" }
}/v1/tokensList tokens with filtering, sorting, and cursor pagination.
| Parameter | Type | Description |
|---|---|---|
| chain | string | Filter by chain id (solana, ethereum, bsc, base, ton, robinhood) |
| search | string | Filter by name or symbol (case-insensitive prefix) |
| status | string | Filter by status: bonding, graduated, external |
| sort | string | Sort: market_cap, volume_24h, price_change_24h, created_at (default: market_cap desc) |
| limit | integer | Page size (max 100, default 20) |
| cursor | string | Opaque cursor from previous page |
curl -H "x-api-key: mz_live_..." \
"https://ylinicymupbjyndckejb.supabase.co/functions/v1/api-v1/v1/tokens?chain=solana&status=bonding&limit=20"{
"data": [
{
"id": "...",
"name": "Example Coin",
"symbol": "EXAMPLE",
"chain": "solana",
"address": "So1...abc",
"price_usd": 0.00042,
"market_cap_usd": 420000,
"volume_24h_usd": 12000,
"price_change_24h_pct": 5.2,
"holders": 128,
"status": "bonding",
"bonding_progress_pct": 67.5,
"url": "https://memez.wtf/token/..."
}
],
"meta": {
"version": "v1",
"next_cursor": "...",
"has_more": true
}
}/v1/tokens/{chain}/{address}Full detail for a single token. Use the literal chain id to look up by memez UUID.
| Parameter | Type | Description |
|---|---|---|
| chain* | string | Chain id or "id" to lookup by memez UUID |
| address* | string | Contract address or memez token id |
curl -H "x-api-key: mz_live_..." \
"https://ylinicymupbjyndckejb.supabase.co/functions/v1/api-v1/v1/tokens/solana/So1...abc"{
"data": {
"id": "...",
"name": "Example Coin",
"symbol": "EXAMPLE",
"chain": "solana",
"address": "So1...abc",
"decimals": 9,
"price_usd": 0.00042,
"price_native": 0.0021,
"market_cap_usd": 420000,
"ath_market_cap_usd": 500000,
"volume_24h_usd": 12000,
"price_change_24h_pct": 5.2,
"liquidity_usd": 15000,
"holders": 128,
"total_supply": 1000000000,
"circulating_supply": 850000000,
"total_locked": 0,
"total_burned": 50000000,
"status": "bonding",
"bonding_progress_pct": 67.5,
"graduation_dex": null,
"logo_url": "https://memez.wtf/...png",
"description": "An example memecoin.",
"links": { "website": "...", "twitter": "...", "telegram": "..." },
"creator_id": "...",
"launched_at": "2026-08-19T12:00:00Z",
"created_at": "2026-08-19T12:00:00Z",
"updated_at": "2026-08-19T12:00:00Z",
"url": "https://memez.wtf/token/..."
},
"meta": { "version": "v1" }
}/v1/tokens/{chain}/{address}/tradesRecent trades for a token, newest first. Internal platform trades and external DEX trades are returned in a unified shape.
| Parameter | Type | Description |
|---|---|---|
| chain* | string | Chain id or "id" |
| address* | string | Contract address or memez token id |
| limit | integer | Page size (max 100, default 20) |
| cursor | string | Opaque cursor |
curl -H "x-api-key: mz_live_..." \
"https://ylinicymupbjyndckejb.supabase.co/functions/v1/api-v1/v1/tokens/solana/So1...abc/trades?limit=20"{
"data": [
{
"id": "...",
"side": "buy",
"amount_tokens": 100000,
"amount_native": 0.5,
"price_per_token": 0.000005,
"tx_hash": "...",
"timestamp": "2026-08-19T12:00:00Z"
}
],
"meta": {
"version": "v1",
"next_cursor": "...",
"has_more": false
}
}/v1/tokens/{chain}/{address}/candlesOHLCV candles for a token over a time range.
| Parameter | Type | Description |
|---|---|---|
| chain* | string | Chain id or "id" |
| address* | string | Contract address or memez token id |
| resolution | string | 1m, 5m, 15m, 1h, 4h, 1d (default: 1h) |
| from | ISO 8601 | Start time |
| to | ISO 8601 | End time |
| limit | integer | Max candles (default 100, max 500) |
curl -H "x-api-key: mz_live_..." \
"https://ylinicymupbjyndckejb.supabase.co/functions/v1/api-v1/v1/tokens/solana/So1...abc/candles?resolution=1h&limit=100"{
"data": [
{
"time": "2026-08-19T11:00:00Z",
"open": 0.0000048,
"high": 0.0000052,
"low": 0.0000047,
"close": 0.0000050,
"volume": 2500000
}
],
"meta": { "version": "v1", "resolution": "1h" }
}/v1/trendingTrending tokens ranked by organic volume, holder momentum, and social signals. Excludes paid boosts.
| Parameter | Type | Description |
|---|---|---|
| chain | string | Optional chain filter |
| limit | integer | Max results (default 20, max 100) |
curl -H "x-api-key: mz_live_..." \
"https://ylinicymupbjyndckejb.supabase.co/functions/v1/api-v1/v1/trending?limit=20"{
"data": [
{
"id": "...",
"name": "Trending Coin",
"symbol": "TREND",
"chain": "solana",
"address": "...",
"price_usd": 0.00012,
"market_cap_usd": 120000,
"volume_24h_usd": 45000,
"price_change_24h_pct": 42.0,
"holders": 340,
"status": "bonding",
"url": "https://memez.wtf/token/..."
}
],
"meta": { "version": "v1", "count": 20 }
}/v1/leaderboards/{type}Leaderboards for top traders and top callers.
| Parameter | Type | Description |
|---|---|---|
| type* | string | traders or callers |
| limit | integer | Max results (default 50, max 100) |
| timeframe | string | all, 24h, 7d, 30d (default: all) |
curl -H "x-api-key: mz_live_..." \
"https://ylinicymupbjyndckejb.supabase.co/functions/v1/api-v1/v1/leaderboards/traders?limit=50"{
"data": [
{
"rank": 1,
"user_id": "...",
"username": "degen_larry",
"display_name": "Larry",
"realized_pnl_usd": 12500,
"win_rate": 0.62,
"total_trades": 84
}
],
"meta": { "version": "v1", "type": "traders", "timeframe": "all" }
}Errors use a consistent envelope. The code field is stable and safe to branch on in your integration.
{
"error": {
"code": "invalid_api_key",
"message": "This API key is invalid or has been revoked."
}
}| Status | Code | Meaning |
|---|---|---|
| 401 | missing_api_key | No x-api-key header was sent. |
| 401 | invalid_api_key | Key is unknown or revoked. |
| 404 | unknown_endpoint | Path does not exist. |
| 405 | method_not_allowed | Only GET and OPTIONS are allowed. |
| 429 | rate_limited | Per-minute limit exceeded. |
| 429 | daily_quota_exceeded | Daily quota exhausted. |
| 503 | auth_unavailable | Key verification temporarily failed. |
| 500 | internal_error | Unexpected server error. |
Reach out on X or Telegram if you are building something and need additional endpoints or higher limits.