> ## Documentation Index
> Fetch the complete documentation index at: https://docs.metastreams.dev/llms.txt
> Use this file to discover all available pages before exploring further.

# Token holders

> List one token's current holders, largest balance first, with each wallet's trading figures on the token.

The current holders of one token, ranked by balance, largest first. Pools and lockers rank with the other wallets and carry their flag, `liquidity_pool` or `locker`. [`spot.holders`](/reference/streams/spot-holders) streams the same rows.

## Filters

* `flags` takes a comma-separated list of [wallet classifications](/resources/glossary#wallet-classifications), such as `bundler,insider`. A holder is kept when it carries at least one of them. A holder has no trade route, so `fomo` keeps wallets flagged `fomo`.
* `trader` takes one wallet address, and keeps only that wallet's row.
* `period` picks the span of the trading figures. `lifetime`, the default, covers every round trip the wallet made on the token. `cycle` covers the open round trip: everything since the wallet last held none of the token.
* `limit` sets how many rows return. It is 30 by default, and the API clamps it to 1–150 rather than refusing it.

## Response

A response carries `holders`, `holderCount` and `top10`. It has no cursor: one read returns the largest holders, up to `limit`.

* `holders` lists the rows. `rank` is 1-based. Under `flags`, it ranks within the kept wallets.
* `holderCount` is the token's total holder count. It does not change with `limit` or `flags`. It counts trading wallets only, so it can be lower than a list that includes pools.
* `top10` holds `avgEntryPrice` and `avgExitPrice`, weighted by balance, across the first 10 rows returned. Each is `null` when no row has one.

Volumes, token totals, trade counts, entry and exit prices and `realizedPnl` cover the `period`. `balance`, `supplyPct`, `nativeBalance` and `funding` describe the wallet now. With `period=cycle`, `avgEntryPrice` is the cost basis of the open position. A row leaves out `flags`, `platforms` and `identities` when they are empty.

A row carries no value and no unrealized PnL. Price it from the token's `price`, from [Token details](/reference/rest/token-details) or [`spot.tokens`](/reference/streams/spot-tokens):

* The value is `balance` times the token's price.
* The unrealized PnL is the value minus `balance` times `avgEntryPrice`.

An unknown token returns `200` with an empty `holders` list and a `holderCount` of 0, not a `404`.

## Errors

| Code | When |
| - | - |
| `UNSUPPORTED_CHAIN` | `chain` is not a supported slug |
| `VALIDATION_ERROR` | A malformed address or `trader`, a `trader` that does not match the chain's format, an unknown flag or period, or an unknown parameter |

<RequestExample>
  ```bash cURL theme={null}
  curl "https://api.metastreams.dev/v1/tokens/solana/DezXAZ8z7PnrnRJjz3wXBoRgixCa6xjnB7YaB1pPB263/holders?limit=50" \
    -H "Authorization: Bearer $API_KEY"
  ```

  ```bash Filtered theme={null}
  curl "https://api.metastreams.dev/v1/tokens/solana/DezXAZ8z7PnrnRJjz3wXBoRgixCa6xjnB7YaB1pPB263/holders?flags=bundler,insider" \
    -H "Authorization: Bearer $API_KEY"
  ```

  ```typescript TypeScript theme={null}
  const url = new URL(
    "https://api.metastreams.dev/v1/tokens/solana/DezXAZ8z7PnrnRJjz3wXBoRgixCa6xjnB7YaB1pPB263/holders",
  );
  url.searchParams.set("limit", "50");
  url.searchParams.set("period", "cycle");

  const response = await fetch(url, {
    headers: { Authorization: `Bearer ${process.env.API_KEY}` },
  });
  if (!response.ok) throw new Error(`HTTP ${response.status}`);
  const { holders, holderCount, top10 } = await response.json();
  ```
</RequestExample>

<ResponseExample>
  ```json List theme={null}
  {
    "holders": [
      {
        "rank": 7,
        "address": "7YttLkHDoNj9wyDur5pM1ejNaAvT9X4eqaYcHQqtj2G5",
        "nativeBalance": "412.7",
        "balance": "20500000000",
        "supplyPct": "0.0231",
        "buyVolume": { "native": "2500", "usd": "450000" },
        "tokensBought": "25000000000",
        "buyCount": 14,
        "sellVolume": { "native": "598.5", "usd": "108000" },
        "tokensSold": "4500000000",
        "sellCount": 3,
        "firstPurchaseAt": 1781250000000,
        "avgEntryPrice": { "native": "0.0000001", "usd": "0.000018" },
        "avgExitPrice": { "native": "0.000000133", "usd": "0.000024" },
        "avgEntryMarketCap": { "native": "8880000", "usd": "1598400000" },
        "avgExitMarketCap": { "native": "11810400", "usd": "2131200000" },
        "realizedPnl": { "native": "148.5", "usd": "27000" },
        "remainingPct": "82",
        "funding": {
          "status": "resolved",
          "address": "5tzFkiKscXHK5ZXCGbXZxdw7gTjjD1mBwuoFbhUvuAi9",
          "amount": "500",
          "asset": null,
          "symbol": "SOL",
          "sourceKind": "cex",
          "sourceLabel": "Binance",
          "timestamp": 1781200000000,
          "tx": "3nVq8Fz1kT7pR2mWcX9sLdHfA4jEuY6gVnX1oB5iC0wQ2rT8yU3iO7pA1sD4fG6h"
        },
        "flags": ["whale"],
        "platforms": [{ "platform": "photon" }],
        "identities": [
          {
            "source": "gmgn",
            "displayName": "Bonk Whale",
            "handle": "bonkwhale",
            "twitter": "bonkwhale",
            "telegram": null,
            "farcaster": null,
            "avatar": null
          }
        ]
      }
    ],
    "holderCount": 982114,
    "top10": {
      "avgEntryPrice": { "native": "0.000000094", "usd": "0.0000169" },
      "avgExitPrice": { "native": "0.000000128", "usd": "0.0000231" }
    }
  }
  ```

  ```json Empty theme={null}
  {
    "holders": [],
    "holderCount": 0,
    "top10": { "avgEntryPrice": null, "avgExitPrice": null }
  }
  ```
</ResponseExample>


## OpenAPI

````yaml specs/openapi.json GET /v1/tokens/{chain}/{address}/holders
openapi: 3.1.0
info:
  title: Metastreams API
  description: >-
    Click's B2B market-data API. Amounts are decimal strings, timestamps are
    Unix milliseconds, and every field name is camelCase.
  license:
    name: Proprietary
    identifier: Proprietary
  version: 1.0.0
servers:
  - url: https://{host}
    variables:
      host:
        default: api.metastreams.dev
        description: API host.
security:
  - bearerKey: []
paths:
  /v1/tokens/{chain}/{address}/holders:
    get:
      tags:
        - tokens
      summary: >-
        A token's current holders, largest balance first, optionally narrowed to
        wallet classifications.
      description: >-
        Pools and lockers rank here and carry their flag. `holderCount` stays
        the token's total under

        `flags`.
      operationId: token_holders
      parameters:
        - name: chain
          in: path
          description: Chain the resource lives on.
          required: true
          schema:
            $ref: '#/components/schemas/SpotChain'
        - name: address
          in: path
          description: Token mint or contract address.
          required: true
          schema:
            type: string
          example: So11111111111111111111111111111111111111112
        - name: limit
          in: query
          description: Rows to return, clamped to 1-150; 30 when absent.
          required: false
          schema:
            type: integer
            format: int32
            maximum: 150
            minimum: 1
        - name: trader
          in: query
          description: Restrict to one holder wallet.
          required: false
          schema:
            type: string
        - name: flags
          in: query
          description: >-
            Wallet classifications to keep, comma-separated. Absent or empty
            keeps every holder.
          required: false
          schema:
            type: string
          example: bundler,insider
        - name: period
          in: query
          description: >-
            Span the trading figures cover: `cycle`, the open round trip, or
            `lifetime`, every round

            trip. `lifetime` when absent.
          required: false
          schema:
            $ref: '#/components/schemas/HolderPeriod'
      responses:
        '200':
          description: >-
            Current holders, largest balance first; an unknown token answers an
            empty list.
          headers:
            X-Credits-Cost:
              schema:
                type: integer
              description: >-
                Credits charged for this request. Zero on any non-2xx. Sent on a
                metered tier only.
            X-Credits-Remaining:
              schema:
                type: integer
              description: Credit balance after this request. Sent on a metered tier only.
            X-RateLimit-Remaining:
              schema:
                type: integer
              description: >-
                Requests left in the bucket this request spent from. Not sent
                with a 401.
            X-Request-ID:
              schema:
                type: string
              description: >-
                This request's trace ID. Echoed from the request, or generated
                when it sent none.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/UiTokenHolderList'
        '400':
          description: >-
            Unsupported chain, a malformed address or trader, an unknown flag or
            period, or a malformed parameter.
          headers:
            X-Credits-Cost:
              schema:
                type: integer
              description: >-
                Credits charged for this request. Zero on any non-2xx. Sent on a
                metered tier only.
            X-Credits-Remaining:
              schema:
                type: integer
              description: Credit balance after this request. Sent on a metered tier only.
            X-RateLimit-Remaining:
              schema:
                type: integer
              description: >-
                Requests left in the bucket this request spent from. Not sent
                with a 401.
            X-Request-ID:
              schema:
                type: string
              description: >-
                This request's trace ID. Echoed from the request, or generated
                when it sent none.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorEnvelope'
        '401':
          description: Missing or invalid API key.
          headers:
            X-Credits-Cost:
              schema:
                type: integer
              description: >-
                Credits charged for this request. Zero on any non-2xx. Sent on a
                metered tier only.
            X-Credits-Remaining:
              schema:
                type: integer
              description: Credit balance after this request. Sent on a metered tier only.
            X-RateLimit-Remaining:
              schema:
                type: integer
              description: >-
                Requests left in the bucket this request spent from. Not sent
                with a 401.
            X-Request-ID:
              schema:
                type: string
              description: >-
                This request's trace ID. Echoed from the request, or generated
                when it sent none.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorEnvelope'
        '402':
          description: >-
            The organization's credits this billing period reach its plan's
            limit.
          headers:
            X-Credits-Cost:
              schema:
                type: integer
              description: >-
                Credits charged for this request. Zero on any non-2xx. Sent on a
                metered tier only.
            X-Credits-Remaining:
              schema:
                type: integer
              description: Credit balance after this request. Sent on a metered tier only.
            X-RateLimit-Remaining:
              schema:
                type: integer
              description: >-
                Requests left in the bucket this request spent from. Not sent
                with a 401.
            X-Request-ID:
              schema:
                type: string
              description: >-
                This request's trace ID. Echoed from the request, or generated
                when it sent none.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorEnvelope'
        '403':
          description: The key is valid, but its plan excludes this endpoint.
          headers:
            X-Credits-Cost:
              schema:
                type: integer
              description: >-
                Credits charged for this request. Zero on any non-2xx. Sent on a
                metered tier only.
            X-Credits-Remaining:
              schema:
                type: integer
              description: Credit balance after this request. Sent on a metered tier only.
            X-RateLimit-Remaining:
              schema:
                type: integer
              description: >-
                Requests left in the bucket this request spent from. Not sent
                with a 401.
            X-Request-ID:
              schema:
                type: string
              description: >-
                This request's trace ID. Echoed from the request, or generated
                when it sent none.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorEnvelope'
        '429':
          description: Rate limit exceeded.
          headers:
            Retry-After:
              schema:
                type: integer
              description: Seconds to wait before retrying.
            X-Credits-Cost:
              schema:
                type: integer
              description: >-
                Credits charged for this request. Zero on any non-2xx. Sent on a
                metered tier only.
            X-Credits-Remaining:
              schema:
                type: integer
              description: Credit balance after this request. Sent on a metered tier only.
            X-RateLimit-Remaining:
              schema:
                type: integer
              description: >-
                Requests left in the bucket this request spent from. Not sent
                with a 401.
            X-Request-ID:
              schema:
                type: string
              description: >-
                This request's trace ID. Echoed from the request, or generated
                when it sent none.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorEnvelope'
        '500':
          description: Unexpected server failure.
          headers:
            X-Credits-Cost:
              schema:
                type: integer
              description: >-
                Credits charged for this request. Zero on any non-2xx. Sent on a
                metered tier only.
            X-Credits-Remaining:
              schema:
                type: integer
              description: Credit balance after this request. Sent on a metered tier only.
            X-RateLimit-Remaining:
              schema:
                type: integer
              description: >-
                Requests left in the bucket this request spent from. Not sent
                with a 401.
            X-Request-ID:
              schema:
                type: string
              description: >-
                This request's trace ID. Echoed from the request, or generated
                when it sent none.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorEnvelope'
        '503':
          description: Dependency down or maintenance.
          headers:
            X-Credits-Cost:
              schema:
                type: integer
              description: >-
                Credits charged for this request. Zero on any non-2xx. Sent on a
                metered tier only.
            X-Credits-Remaining:
              schema:
                type: integer
              description: Credit balance after this request. Sent on a metered tier only.
            X-RateLimit-Remaining:
              schema:
                type: integer
              description: >-
                Requests left in the bucket this request spent from. Not sent
                with a 401.
            X-Request-ID:
              schema:
                type: string
              description: >-
                This request's trace ID. Echoed from the request, or generated
                when it sent none.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorEnvelope'
components:
  schemas:
    SpotChain:
      type: string
      description: >-
        Chain slug. One spelling per chain, in paths and bodies alike. Only a
        chain with spot data is published.
      enum:
        - solana
        - base
        - bsc
        - robinhood
        - arc
    HolderPeriod:
      type: string
      description: >-
        The span a holder row's trading figures cover: `lifetime`, every round
        trip, or `cycle`, the open one. `lifetime` when absent.
      enum:
        - cycle
        - lifetime
    UiTokenHolderList:
      type: object
      description: >-
        `GET /v1/tokens/{chain}/{address}/holders` response: current holders,
        largest balance first.
      required:
        - holders
        - holderCount
        - top10
      properties:
        holderCount:
          type: integer
          format: int64
          description: >-
            The token's own holder total, whatever the `limit` and any `flags`
            filter. It counts

            trading wallets only, so it can run below a full listing that
            includes pool vaults.
          minimum: 0
        holders:
          type: array
          items:
            $ref: '#/components/schemas/UiSpotHolder'
          description: Holders the read returned, largest balance first.
        top10:
          $ref: '#/components/schemas/UiHolderCohortStats'
          description: >-
            Balance-weighted entry and exit prices across the first 10 holders;
            the filtered cohort

            under `flags`.
    ErrorEnvelope:
      type: object
      description: The complete error response body — every error is exactly this.
      required:
        - error
      properties:
        error:
          $ref: '#/components/schemas/ErrorDetail'
          description: The error.
    UiSpotHolder:
      type: object
      description: >-
        One wallet's holding and trading figures on one token.


        Volumes, token totals, trade counts, entry and exit prices and realized
        PnL cover the read's

        `period`.
      required:
        - address
        - balance
        - supplyPct
        - buyVolume
        - tokensBought
        - buyCount
        - sellVolume
        - tokensSold
        - sellCount
        - realizedPnl
        - remainingPct
        - funding
      properties:
        address:
          type: string
          description: Wallet address.
        avgEntryMarketCap:
          oneOf:
            - type: 'null'
            - $ref: '#/components/schemas/UiMoney'
              description: >-
                Size-weighted market cap across the wallet's buys; `null` when
                none was recorded.
        avgEntryPrice:
          oneOf:
            - type: 'null'
            - $ref: '#/components/schemas/UiMoney'
              description: >-
                Entry price per token over the period; `null` before the
                period's first buy. `cycle`

                reads the open position's cost basis, and `lifetime` averages
                every buy.
        avgExitMarketCap:
          oneOf:
            - type: 'null'
            - $ref: '#/components/schemas/UiMoney'
              description: >-
                Size-weighted market cap across the wallet's sells; `null` when
                none was recorded.
        avgExitPrice:
          oneOf:
            - type: 'null'
            - $ref: '#/components/schemas/UiMoney'
              description: >-
                Volume-weighted exit price over the period; `null` until the
                wallet sells in it.
        balance:
          $ref: '#/components/schemas/Decimal'
          description: Token units the wallet holds now.
        buyCount:
          type: integer
          format: int32
          description: Buy trades over the period.
          minimum: 0
        buyVolume:
          $ref: '#/components/schemas/UiMoney'
          description: Spent buying this token over the period.
        firstPurchaseAt:
          oneOf:
            - type: 'null'
            - $ref: '#/components/schemas/UnixMilliseconds'
              description: >-
                The wallet's first buy of this token; `null` for a wallet that
                only received transfers.
        flags:
          type: array
          items:
            type: string
            description: >-
              A flag the classifier put on the wallet. This is an open
              enumeration: the classifier learns new flags, so keep a value you
              do not recognize.
            examples:
              - bundler
              - sniper
              - insider
              - dev
              - fresh
              - whale
              - kol
              - liquidity_pool
              - locker
              - pro_trader
              - system
              - fomo
              - phishing
        funding:
          $ref: '#/components/schemas/UiWalletFunding'
          description: >-
            The wallet's first inbound funding. Always present; its status says
            whether the lookup

            has settled.
        identities:
          type: array
          items:
            $ref: '#/components/schemas/UiWalletIdentity'
          description: The wallet's resolved identities, one element per source.
        nativeBalance:
          oneOf:
            - type: 'null'
            - $ref: '#/components/schemas/Decimal'
              description: >-
                The wallet's balance of the chain's native asset; `null` until
                the chain reports one.
        platforms:
          type: array
          items:
            $ref: '#/components/schemas/UiPlatform'
          description: The wallet's trading-platform identities.
        rank:
          type:
            - integer
            - 'null'
          format: int64
          description: >-
            1-based rank in the requested ordering; a `flags` filter ranks
            within the filtered

            cohort. Absent on live `spot.holders` updates.
          minimum: 0
        realizedPnl:
          $ref: '#/components/schemas/UiMoney'
          description: Profit or loss the wallet locked in by selling over the period.
        remainingPct:
          $ref: '#/components/schemas/Decimal'
          description: Share of its peak holdings the wallet still holds, 0-100.
        sellCount:
          type: integer
          format: int32
          description: Sell trades over the period.
          minimum: 0
        sellVolume:
          $ref: '#/components/schemas/UiMoney'
          description: Received from selling this token over the period.
        supplyPct:
          $ref: '#/components/schemas/Decimal'
          description: Share of total supply the wallet holds, 0-100.
        tokensBought:
          $ref: '#/components/schemas/Decimal'
          description: Token units bought over the period, including any sold since.
        tokensSold:
          $ref: '#/components/schemas/Decimal'
          description: Token units sold over the period.
    UiHolderCohortStats:
      type: object
      description: Balance-weighted entry and exit prices across a holder cohort.
      properties:
        avgEntryPrice:
          oneOf:
            - type: 'null'
            - $ref: '#/components/schemas/UiMoney'
              description: >-
                Balance-weighted entry price across the cohort; `null` when no
                holder has one.
        avgExitPrice:
          oneOf:
            - type: 'null'
            - $ref: '#/components/schemas/UiMoney'
              description: >-
                Balance-weighted exit price across the cohort; `null` when no
                holder has one.
    ErrorDetail:
      type: object
      description: The `error` object inside the envelope.
      required:
        - code
        - message
      properties:
        code:
          $ref: '#/components/schemas/ErrorCode'
          description: >-
            Stable, machine-readable. Clients switch on this, never on
            `message`.
        details:
          description: Optional; shape is fixed per code.
        message:
          type: string
          description: |-
            Human-readable, written for the integrating developer:
            `[What happened]. [What to do next — if actionable].`
    UiMoney:
      type: object
      description: >-
        A chain-denominated value with its USD equivalent. The enclosing object
        carries the

        `chain` that names `native`'s unit.
      required:
        - native
      properties:
        native:
          $ref: '#/components/schemas/Decimal'
          description: Value in the owning chain's gas asset.
        usd:
          oneOf:
            - type: 'null'
            - $ref: '#/components/schemas/Decimal'
              description: Value in USD; `null` when the native asset is unpriced.
    Decimal:
      type: string
      format: decimal
      description: An exact decimal, as a string.
      example: '123.456789'
    UnixMilliseconds:
      type: integer
      format: int64
      description: An instant, as milliseconds since the Unix epoch.
    UiWalletFunding:
      type: object
      description: A wallet's first inbound funding.
      required:
        - status
      properties:
        address:
          type:
            - string
            - 'null'
          description: Funder wallet or exchange address.
        amount:
          oneOf:
            - type: 'null'
            - $ref: '#/components/schemas/Decimal'
              description: Amount received, denominated in `asset`.
        asset:
          type:
            - string
            - 'null'
          description: Asset the funding moved; `null` for the chain's native asset.
        sourceKind:
          oneOf:
            - type: 'null'
            - $ref: '#/components/schemas/FundingSourceKind'
              description: What the funder is (exchange, bridge, wallet, …).
        sourceLabel:
          type:
            - string
            - 'null'
          description: Display label for the funder, e.g. an exchange name.
        status:
          $ref: '#/components/schemas/FundingStatus'
          description: Whether the lookup has settled.
        symbol:
          type:
            - string
            - 'null'
          description: Display ticker of `asset`.
        timestamp:
          oneOf:
            - type: 'null'
            - $ref: '#/components/schemas/UnixMilliseconds'
              description: When the funding transfer occurred.
        tx:
          type:
            - string
            - 'null'
          description: The funding transaction's signature or hash.
    UiWalletIdentity:
      type: object
      description: One source's resolved profile for a trade's trader.
      required:
        - source
      properties:
        avatar:
          type:
            - string
            - 'null'
          description: >-
            CDN URL of the avatar to render; `null` until the picture is
            mirrored.
        displayName:
          type:
            - string
            - 'null'
          description: Human-readable name to render.
        farcaster:
          type:
            - string
            - 'null'
          description: The wallet's Farcaster handle, where the source links one.
        handle:
          type:
            - string
            - 'null'
          description: The wallet's handle on the source.
        source:
          $ref: '#/components/schemas/IdentitySource'
          description: Who resolved this identity.
        telegram:
          type:
            - string
            - 'null'
          description: The wallet's Telegram handle, where the source links one.
        twitter:
          type:
            - string
            - 'null'
          description: The wallet's bare X handle, where the source links one.
    UiPlatform:
      oneOf:
        - type: object
          description: >-
            fomo.family, the terminal that routed the trade. The trader's
            profile is the `fomoscan`

            element of `identities`.
          required:
            - platform
          properties:
            platform:
              type: string
              enum:
                - fomo
        - type: object
          description: >-
            A token's DexScreener listing; present only while its profile is
            paid.
          required:
            - isPaid
            - platform
          properties:
            isPaid:
              type: boolean
              description: Whether the token's DexScreener profile is paid.
            paidAt:
              oneOf:
                - type: 'null'
                - $ref: '#/components/schemas/UnixMilliseconds'
                  description: Earliest profile payment time.
            platform:
              type: string
              enum:
                - dexScreener
        - type: object
          description: Axiom.
          required:
            - platform
          properties:
            platform:
              type: string
              enum:
                - axiom
        - type: object
          description: '"Banana Gun".'
          required:
            - platform
          properties:
            platform:
              type: string
              enum:
                - bananaGun
        - type: object
          description: Bloom.
          required:
            - platform
          properties:
            platform:
              type: string
              enum:
                - bloom
        - type: object
          description: '"BONKbot".'
          required:
            - platform
          properties:
            platform:
              type: string
              enum:
                - bonkbot
        - type: object
          description: BtcTurk.
          required:
            - platform
          properties:
            platform:
              type: string
              enum:
                - btcTurk
        - type: object
          description: BullX.
          required:
            - platform
          properties:
            platform:
              type: string
              enum:
                - bullX
        - type: object
          description: Click's own router, identified by its fee vault.
          required:
            - platform
          properties:
            platform:
              type: string
              enum:
                - click
        - type: object
          description: '"GMGN".'
          required:
            - platform
          properties:
            platform:
              type: string
              enum:
                - gmgn
        - type: object
          description: '"Lucky Block".'
          required:
            - platform
          properties:
            platform:
              type: string
              enum:
                - luckyBlock
        - type: object
          description: Maestro.
          required:
            - platform
          properties:
            platform:
              type: string
              enum:
                - maestro
        - type: object
          description: '"Manifold Trading".'
          required:
            - platform
          properties:
            platform:
              type: string
              enum:
                - manifoldTrading
        - type: object
          description: '"MEVX".'
          required:
            - platform
          properties:
            platform:
              type: string
              enum:
                - mevx
        - type: object
          description: Mintech.
          required:
            - platform
          properties:
            platform:
              type: string
              enum:
                - mintech
        - type: object
          description: Nighthawk.
          required:
            - platform
          properties:
            platform:
              type: string
              enum:
                - nighthawk
        - type: object
          description: Nova.
          required:
            - platform
          properties:
            platform:
              type: string
              enum:
                - nova
        - type: object
          description: '"OX.FUN".'
          required:
            - platform
          properties:
            platform:
              type: string
              enum:
                - oxFun
        - type: object
          description: Padre.
          required:
            - platform
          properties:
            platform:
              type: string
              enum:
                - padre
        - type: object
          description: PepeBoost.
          required:
            - platform
          properties:
            platform:
              type: string
              enum:
                - pepeBoost
        - type: object
          description: Phantom.
          required:
            - platform
          properties:
            platform:
              type: string
              enum:
                - phantom
        - type: object
          description: Photon.
          required:
            - platform
          properties:
            platform:
              type: string
              enum:
                - photon
        - type: object
          description: SexBotSolana.
          required:
            - platform
          properties:
            platform:
              type: string
              enum:
                - sexBotSolana
        - type: object
          description: Shuriken.
          required:
            - platform
          properties:
            platform:
              type: string
              enum:
                - shuriken
        - type: object
          description: '"SOL Sniper Bot".'
          required:
            - platform
          properties:
            platform:
              type: string
              enum:
                - solSniperBot
        - type: object
          description: '"Sol Trading Bot".'
          required:
            - platform
          properties:
            platform:
              type: string
              enum:
                - solTradingBot
        - type: object
          description: Trojan.
          required:
            - platform
          properties:
            platform:
              type: string
              enum:
                - trojan
      description: >-
        A platform attached to a token, a wallet, or a trade.


        The fieldless variants are trading terminals. Each doc gives the
        producer string its

        variant maps from.
    ErrorCode:
      type: string
      description: |-
        Every wire error code the API can return.

        Append-only: a new code is non-breaking, since clients fall back on the
        HTTP status for one they do not recognize, and a published code is never
        renamed or removed.
      enum:
        - UNAUTHORIZED
        - FORBIDDEN
        - VALIDATION_ERROR
        - UNSUPPORTED_CHAIN
        - NOT_FOUND
        - RATE_LIMITED
        - CREDITS_EXHAUSTED
        - INTERNAL_ERROR
        - SERVICE_UNAVAILABLE
        - RANGE_TOO_LARGE
        - INVALID_CREDENTIALS
        - ORIGIN_NOT_ALLOWED
        - NOT_ORG_MEMBER
        - MEMBERSHIP_INACTIVE
        - EMAIL_NOT_VERIFIED
        - EMAIL_TAKEN
        - ALREADY_MEMBER
        - INVITATION_ALREADY_SENT
        - INVITATION_ALREADY_ACCEPTED
        - LAST_ADMIN
        - CANNOT_REMOVE_SELF
        - KEY_LIMIT_REACHED
        - TOKEN_EXPIRED
        - PAYLOAD_TOO_LARGE
        - UNSUPPORTED_MEDIA_TYPE
        - IMAGE_TOO_LARGE
    FundingSourceKind:
      type: string
      description: Whether a known exchange or another wallet funded the creator.
      enum:
        - cex
        - wallet
    FundingStatus:
      type: string
      description: Whether the creator wallet's funding lookup has settled.
      enum:
        - unresolved
        - resolved
    IdentitySource:
      type: string
      description: >-
        Who resolved a trader's identity. The set grows; keep a value you do not
        recognize.
      enum:
        - codex
        - fomo
        - pump
        - gmgn
        - axiom
        - unknown
  securitySchemes:
    bearerKey:
      type: http
      scheme: bearer
      description: 'Send the API key as `Authorization: Bearer <key>`.'

````

This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.