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

# List coins

> Every visible coin on the platform, one page at a time. The same list the /coins page draws, in the same order.



## OpenAPI

````yaml https://purps.lol/api/v1/openapi.json get /coins
openapi: 3.1.0
info:
  title: PURPS API
  version: 1.0.0
  description: >-
    Everything purps.lol can do, as JSON. Read the coin list, a coin's full page
    and the launchpad; launch coins on purps.lol, pump.fun and Robinhood Chain;
    wire an existing pump.fun coin's fees into a strategy. No key, no signup. A
    write is authorised by your own wallet's signature and every transaction is
    signed in your wallet, never by us. Every response is `{ ok: true, data }`
    or `{ ok: false, error }`. Cross-origin requests are allowed from any site.
servers:
  - url: https://purps.lol/api/v1
security: []
tags:
  - name: Coins
    description: Read what the site shows.
  - name: Launch on purps.lol
    description: Launch a coin on purps.lol. Prepare, sign, submit, send, poll.
  - name: Launch on pump.fun
    description: Launch straight on pump.fun with fees wired to a strategy.
  - name: Launch on Robinhood Chain
    description: Launch through Pons on Robinhood Chain.
  - name: Redirect a pump.fun coin
    description: Point an existing pump.fun coin's creator fees at a strategy.
  - name: Manage a coin
    description: Attach a strategy to a coin launched without one. Creator-signed.
  - name: Transactions
    description: Send a signed Solana transaction through our relay and watch it land.
paths:
  /coins:
    get:
      tags:
        - Coins
      summary: List coins
      description: >-
        Every visible coin on the platform, one page at a time. The same list
        the /coins page draws, in the same order.
      operationId: listCoins
      parameters:
        - name: sort
          in: query
          description: Order of the list.
          schema:
            type: string
            enum:
              - mcap
              - earnings
              - burned
              - fees
              - buyback
              - active
              - newest
            default: mcap
        - name: offset
          in: query
          description: How many coins to skip.
          schema:
            type: integer
            default: 0
            minimum: 0
        - name: limit
          in: query
          description: Page size.
          schema:
            type: integer
            default: 25
            minimum: 1
            maximum: 50
        - name: filter
          in: query
          description: '`holders` keeps only coins that pay their holders.'
          schema:
            type: string
            enum:
              - holders
        - name: origin
          in: query
          description: >-
            Where the coin was born: our launchpad, pump.fun through this site,
            or a coin that was redirected here.
          schema:
            type: string
            enum:
              - launchpad
              - pumpfun
              - redirects
        - name: chain
          in: query
          description: Which chain.
          schema:
            type: string
            enum:
              - both
              - solana
              - robinhood
            default: both
      responses:
        '200':
          description: A page of coins.
          content:
            application/json:
              schema:
                type: object
                properties:
                  ok:
                    type: boolean
                    enum:
                      - true
                  data:
                    $ref: '#/components/schemas/CoinPage'
        '429':
          description: Every failure carries the same envelope.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
components:
  schemas:
    CoinPage:
      type: object
      properties:
        total:
          type: integer
          description: How many coins match, across every page.
        offset:
          type: integer
          description: The offset this page starts at.
        limit:
          type: integer
          description: The page size used.
        flagshipMint:
          type: string
          description: The mint of $PURPS itself.
        items:
          type: array
          description: The coins on this page.
          items:
            $ref: '#/components/schemas/CoinSummary'
    Error:
      type: object
      properties:
        ok:
          type: boolean
          description: Always false on a failure.
        error:
          type: string
          description: >-
            A short reason in plain words: `coin not found`, `too many
            requests`, `invalid wallet signature`.
    CoinSummary:
      type: object
      properties:
        mint:
          type: string
          description: Mint address on Solana, contract address on Robinhood Chain.
        chain:
          type: string
          description: Which chain the coin lives on.
          enum:
            - solana
            - robinhood
        origin:
          type: string
          description: >-
            Where it came from. `pump` is a redirected pump.fun coin, `pumpfun`
            one launched through this site, `pons` a Robinhood Chain launch.
          enum:
            - launchpad
            - pumpfun
            - pump
            - meteora
            - pons
        name:
          type: string
          description: Display name.
        symbol:
          type: string
          description: Ticker.
        imageUrl:
          type: string
          description: Logo URL.
          nullable: true
        status:
          type: string
          description: '`active` once the strategy is running.'
        createdAt:
          type: string
          description: When the coin was registered here, ISO 8601.
        url:
          type: string
          description: The coin's page on purps.lol.
        marketCapUsd:
          type: number
          description: Market cap in US dollars.
          nullable: true
        holders:
          type: integer
          description: Holder count.
          nullable: true
        rewardMode:
          type: string
          description: >-
            What profits do: `burn` buys and burns the coin, `holders` airdrops
            the coin to holders, `backed` airdrops another asset.
          enum:
            - burn
            - holders
            - backed
        feeShareBps:
          type: integer
          description: Share of creator fees routed to the strategy, in basis points.
        legs:
          type: array
          description: The perp positions the strategy holds.
          items:
            $ref: '#/components/schemas/Leg'
        openPositions:
          type: integer
          description: How many of those are open right now.
        accounting:
          $ref: '#/components/schemas/Accounting'
          type: object
          description: The coin's books.
        launch:
          $ref: '#/components/schemas/LaunchSummary'
          type: object
          description: Curve facts for a purps.lol coin, else null.
          nullable: true
    Leg:
      type: object
      properties:
        market:
          type: string
          description: Perp market, e.g. `ETH` or `xyz:TSLA`. One of /markets.
        direction:
          type: string
          description: Long or short.
          enum:
            - long
            - short
        leverage:
          type: number
          description: Leverage multiple, within the market's cap.
    Accounting:
      type: object
      description: >-
        Lifetime figures. Chain amounts are in `unit`; perp amounts are in US
        dollars.
      properties:
        unit:
          type: string
          description: >-
            The unit of the chain-side figures: `SOL`, or the pair token on
            Robinhood Chain.
        feesClaimed:
          type: number
          description: Creator fees claimed so far.
        boughtBack:
          type: number
          description: Spent buying the coin back.
        buybackQueued:
          type: number
          description: Waiting to be spent on buybacks.
        reserve:
          type: number
          description: Held in the coin's reserve.
        tokensBurned:
          type: number
          description: Coins burned, in whole tokens.
        tokensPaidOut:
          type: number
          description: Coins airdropped to holders, in whole tokens.
        marginDepositedUsd:
          type: number
          description: Sent to the perp exchange as margin.
        pendingProfitUsd:
          type: number
          description: Profit taken but not yet brought home.
        realizedProfitUsd:
          type: number
          description: Profit realised on the perp side.
        profitWithdrawnUsd:
          type: number
          description: Profit brought back to the chain.
    LaunchSummary:
      type: object
      properties:
        quote:
          type: object
          description: The token the curve trades in.
          properties:
            mint:
              type: string
              description: Quote mint.
            symbol:
              type: string
              description: Quote ticker.
        curvePct:
          type: number
          description: How far along the bonding curve, 0 to 100.
          nullable: true
        migrated:
          type: boolean
          description: True once the coin has graduated to a pool.
        raisedQuote:
          type: number
          description: Quote raised on the curve.
        paysHolders:
          type: boolean
          description: Whether fees are airdropped to holders.
        airdrop:
          type: object
          description: The holder airdrops.
          properties:
            potQuote:
              type: number
              description: Accrued toward the next airdrop.
            paidQuote:
              type: number
              description: Paid to holders so far.
            payouts:
              type: integer
              description: Number of airdrops paid.
            lastAt:
              type: string
              description: When the last one settled.
              nullable: true
            lastHolders:
              type: integer
              description: How many wallets the last one paid.
              nullable: true

````