> ## 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.

# One coin

> Everything the coin page shows: identity, market cap, holders, links, the strategy it runs, its books, open perp positions, the last 40 events on its timeline and its launch if it came from purps.lol.



## OpenAPI

````yaml https://purps.lol/api/v1/openapi.json get /coins/{mint}
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/{mint}:
    get:
      tags:
        - Coins
      summary: One coin
      description: >-
        Everything the coin page shows: identity, market cap, holders, links,
        the strategy it runs, its books, open perp positions, the last 40 events
        on its timeline and its launch if it came from purps.lol.
      operationId: getCoin
      parameters:
        - name: mint
          in: path
          required: true
          description: >-
            The token's mint address (Solana) or contract address (Robinhood
            Chain).
          schema:
            type: string
      responses:
        '200':
          description: The coin.
          content:
            application/json:
              schema:
                type: object
                properties:
                  ok:
                    type: boolean
                    enum:
                      - true
                  data:
                    $ref: '#/components/schemas/Coin'
        '404':
          description: Every failure carries the same envelope.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '429':
          description: Every failure carries the same envelope.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
components:
  schemas:
    Coin:
      type: object
      properties:
        mint:
          type: string
          description: Mint or contract address.
        chain:
          type: string
          description: Which chain.
          enum:
            - solana
            - robinhood
        origin:
          type: string
          description: Where it came from.
          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: Coin status.
        createdAt:
          type: string
          description: ISO 8601.
        url:
          type: string
          description: The coin's page on purps.lol.
        marketCapUsd:
          type: number
          description: Market cap in US dollars.
          nullable: true
        circulatingSupply:
          type: number
          description: Supply the market cap is based on.
          nullable: true
        tokenSupply:
          type: number
          description: Total supply as stored.
          nullable: true
        holders:
          type: integer
          description: Holder count.
          nullable: true
        links:
          type: object
          description: Socials, from the token's metadata or its DexScreener profile.
          properties:
            twitter:
              type: string
              description: X / Twitter URL.
              nullable: true
            telegram:
              type: string
              description: Telegram URL.
              nullable: true
            website:
              type: string
              description: Website URL.
              nullable: true
        pair:
          type: object
          description: The token this coin trades against, when it is not SOL.
          nullable: true
          properties:
            address:
              type: string
              description: Mint or contract address of the pair token.
            symbol:
              type: string
              description: Pair ticker.
            decimals:
              type: integer
              description: Pair decimals.
              nullable: true
        wallets:
          type: object
          description: The wallets the strategy runs from.
          properties:
            solana:
              type: string
              description: Solana wallet.
              nullable: true
            hyperliquid:
              type: string
              description: Perp wallet.
              nullable: true
            robinhood:
              type: string
              description: Robinhood Chain wallet.
              nullable: true
        strategy:
          $ref: '#/components/schemas/StrategyView'
          type: object
          description: >-
            How the coin uses its fees. Null for a coin that only exists on the
            launchpad.
          nullable: true
        accounting:
          $ref: '#/components/schemas/Accounting'
          type: object
          description: The coin's books.
        positions:
          type: array
          description: Open perp positions.
          items:
            $ref: '#/components/schemas/Position'
        payoutsPaid:
          type: array
          description: 'Lifetime holder payouts, per asset: `{ asset, amount, usd }`.'
          items:
            type: object
        activity:
          type: array
          description: The last 40 events on the coin's timeline, newest first.
          items:
            $ref: '#/components/schemas/Event'
        launch:
          $ref: '#/components/schemas/Launch'
          type: object
          description: The purps.lol launch record, else null.
          nullable: true
        prices:
          type: object
          description: Reference prices at the time of the request.
          properties:
            solUsd:
              type: number
              description: SOL in US dollars.
              nullable: true
            quoteUsd:
              type: number
              description: The pair token in US dollars.
              nullable: true
    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`.
    StrategyView:
      type: object
      properties:
        preset:
          type: string
          description: '`steady`, `balanced` or `degen` when created from a preset.'
          nullable: true
        rewardMode:
          type: string
          description: '`burn`, `holders` or `backed`.'
          enum:
            - burn
            - holders
            - backed
        split:
          type: object
          description: Where each claimed fee goes, in basis points.
          properties:
            buybackBps:
              type: integer
              description: To buybacks.
            marginBps:
              type: integer
              description: To perp margin.
            reserveBps:
              type: integer
              description: To the reserve.
        legs:
          type: array
          description: The perp legs.
          items:
            $ref: '#/components/schemas/Leg'
        payout:
          type: object
          description: What holders are paid in, for `backed` coins.
          properties:
            mint:
              type: string
              description: Primary payout asset.
              nullable: true
            mint2:
              type: string
              description: Second payout asset, when a coin pays two.
              nullable: true
        holderMinimumUsd:
          type: number
          description: Smallest holding that is included in airdrops.
          nullable: true
    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.
    Position:
      type: object
      properties:
        market:
          type: string
          description: Perp market.
        side:
          type: string
          description: Long or short.
          enum:
            - long
            - short
        status:
          type: string
          description: '`open` or `opening`.'
        size:
          type: number
          description: Position size in the market's base unit.
          nullable: true
        entryPrice:
          type: number
          description: Average entry.
          nullable: true
        leverage:
          type: number
          description: Leverage multiple.
          nullable: true
        collateralUsd:
          type: number
          description: Margin behind the position.
          nullable: true
        liquidationPrice:
          type: number
          description: Where it would be liquidated.
          nullable: true
        unrealizedPnlUsd:
          type: number
          description: Open profit or loss.
          nullable: true
        roe:
          type: number
          description: Return on the margin, as a fraction.
          nullable: true
        realizedPnlUsd:
          type: number
          description: Profit already banked from this market.
    Event:
      type: object
      properties:
        id:
          type: string
          description: Stable event id.
        type:
          type: string
          description: >-
            `fee_claim`, `buyback`, `burn`, `holder_payout`, `perp_open`,
            `launch`, `graduation` and others.
        status:
          type: string
          description: '`confirmed`, `pending` or `failed`.'
        amount:
          type: number
          description: The amount involved, in `asset`.
          nullable: true
        asset:
          type: string
          description: The asset of `amount`.
          nullable: true
        txHash:
          type: string
          description: The on-chain transaction, when there is one.
          nullable: true
        at:
          type: string
          description: ISO 8601.
        detail:
          type: object
          description: Extra fields that vary by event type.
          nullable: true
    Launch:
      type: object
      properties:
        mint:
          type: string
          description: The coin's mint.
        name:
          type: string
          description: Display name.
        symbol:
          type: string
          description: Ticker.
        imageUrl:
          type: string
          description: Logo URL.
          nullable: true
        status:
          type: string
          description: >-
            `live` on the curve, `migrated` once graduated, `pending` or
            `failed` before that.
          enum:
            - pending
            - live
            - migrated
            - failed
        venue:
          type: string
          description: The launch venue.
          enum:
            - dbc
            - launchlab
        quote:
          type: object
          description: The token the curve trades in.
          properties:
            mint:
              type: string
              description: Quote mint.
            symbol:
              type: string
              description: Quote ticker.
            iconUrl:
              type: string
              description: Quote logo.
              nullable: true
        priceQuote:
          type: number
          description: Last price in the quote token.
          nullable: true
        curvePct:
          type: number
          description: Curve progress, 0 to 100.
          nullable: true
        raisedQuote:
          type: number
          description: Quote raised on the curve.
        devBuyQuote:
          type: number
          description: The creator's own first buy.
        fees:
          type: object
          description: The fee setup.
          properties:
            preset:
              type: string
              description: 'Where fees go: `airdrop`, `split`, `creator` or `strategy`.'
            platformPpm:
              type: integer
              description: Platform fee, parts per million of curve volume.
            creatorPpm:
              type: integer
              description: Creator fee, parts per million of curve volume.
            creatorBps:
              type: integer
              description: Creator fee tier on Meteora, basis points.
              nullable: true
        creatorWallet:
          type: string
          description: Who launched it.
        feeWallet:
          type: string
          description: Where creator fees land.
          nullable: true
        airdrop:
          type: object
          description: Holder airdrops.
          properties:
            potQuote:
              type: number
              description: Accrued toward the next airdrop.
            paidQuote:
              type: number
              description: Paid to holders so far.
            lastAt:
              type: string
              description: When the last one settled.
              nullable: true
        migratedAt:
          type: string
          description: When it graduated.
          nullable: true
        createdAt:
          type: string
          description: When it launched.
        url:
          type: string
          description: The coin's page on purps.lol.
    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.

````