API Documentation

    Public read-only API for builders. Access token data, trades, OHLCV candles, trending tokens, and leaderboards across all memez.wtf chains.

    Base URL

    https://ylinicymupbjyndckejb.supabase.co/functions/v1/api-v1

    Auth

    Header: x-api-key

    Get a key

    Sign in and visit Developer Settings

    Authentication & Limits

    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.

    Endpoints

    GET
    /v1/status

    Health check and the caller's current rate-limit state.

    Example
    curl -H "x-api-key: mz_live_..." \
      "https://ylinicymupbjyndckejb.supabase.co/functions/v1/api-v1/v1/status"
    Sample response
    JSON
    {
      "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
        }
      }
    }
    GET
    /v1/chains

    List the supported chains and their metadata.

    Example
    curl -H "x-api-key: mz_live_..." \
      "https://ylinicymupbjyndckejb.supabase.co/functions/v1/api-v1/v1/chains"
    Sample response
    JSON
    {
      "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" }
    }
    GET
    /v1/tokens

    List tokens with filtering, sorting, and cursor pagination.

    ParameterTypeDescription
    chainstringFilter by chain id (solana, ethereum, bsc, base, ton, robinhood)
    searchstringFilter by name or symbol (case-insensitive prefix)
    statusstringFilter by status: bonding, graduated, external
    sortstringSort: market_cap, volume_24h, price_change_24h, created_at (default: market_cap desc)
    limitintegerPage size (max 100, default 20)
    cursorstringOpaque cursor from previous page
    Example
    curl -H "x-api-key: mz_live_..." \
      "https://ylinicymupbjyndckejb.supabase.co/functions/v1/api-v1/v1/tokens?chain=solana&status=bonding&limit=20"
    Sample response
    JSON
    {
      "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
      }
    }
    GET
    /v1/tokens/{chain}/{address}

    Full detail for a single token. Use the literal chain id to look up by memez UUID.

    ParameterTypeDescription
    chain*stringChain id or "id" to lookup by memez UUID
    address*stringContract address or memez token id
    Example
    curl -H "x-api-key: mz_live_..." \
      "https://ylinicymupbjyndckejb.supabase.co/functions/v1/api-v1/v1/tokens/solana/So1...abc"
    Sample response
    JSON
    {
      "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" }
    }
    GET
    /v1/tokens/{chain}/{address}/trades

    Recent trades for a token, newest first. Internal platform trades and external DEX trades are returned in a unified shape.

    ParameterTypeDescription
    chain*stringChain id or "id"
    address*stringContract address or memez token id
    limitintegerPage size (max 100, default 20)
    cursorstringOpaque cursor
    Example
    curl -H "x-api-key: mz_live_..." \
      "https://ylinicymupbjyndckejb.supabase.co/functions/v1/api-v1/v1/tokens/solana/So1...abc/trades?limit=20"
    Sample response
    JSON
    {
      "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
      }
    }
    GET
    /v1/tokens/{chain}/{address}/candles

    OHLCV candles for a token over a time range.

    ParameterTypeDescription
    chain*stringChain id or "id"
    address*stringContract address or memez token id
    resolutionstring1m, 5m, 15m, 1h, 4h, 1d (default: 1h)
    fromISO 8601Start time
    toISO 8601End time
    limitintegerMax candles (default 100, max 500)
    Example
    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"
    Sample response
    JSON
    {
      "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" }
    }
    GET
    /v1/trending

    Trending tokens ranked by organic volume, holder momentum, and social signals. Excludes paid boosts.

    ParameterTypeDescription
    chainstringOptional chain filter
    limitintegerMax results (default 20, max 100)
    Example
    curl -H "x-api-key: mz_live_..." \
      "https://ylinicymupbjyndckejb.supabase.co/functions/v1/api-v1/v1/trending?limit=20"
    Sample response
    JSON
    {
      "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 }
    }
    GET
    /v1/leaderboards/{type}

    Leaderboards for top traders and top callers.

    ParameterTypeDescription
    type*stringtraders or callers
    limitintegerMax results (default 50, max 100)
    timeframestringall, 24h, 7d, 30d (default: all)
    Example
    curl -H "x-api-key: mz_live_..." \
      "https://ylinicymupbjyndckejb.supabase.co/functions/v1/api-v1/v1/leaderboards/traders?limit=50"
    Sample response
    JSON
    {
      "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

    Errors use a consistent envelope. The code field is stable and safe to branch on in your integration.

    Error response
    {
      "error": {
        "code": "invalid_api_key",
        "message": "This API key is invalid or has been revoked."
      }
    }
    StatusCodeMeaning
    401missing_api_keyNo x-api-key header was sent.
    401invalid_api_keyKey is unknown or revoked.
    404unknown_endpointPath does not exist.
    405method_not_allowedOnly GET and OPTIONS are allowed.
    429rate_limitedPer-minute limit exceeded.
    429daily_quota_exceededDaily quota exhausted.
    503auth_unavailableKey verification temporarily failed.
    500internal_errorUnexpected server error.

    Need help?

    Reach out on X or Telegram if you are building something and need additional endpoints or higher limits.