ASTEROID XRPL Liquidity API

The Liquidity API from ASTEROID XRPL — 2 operation(s) for liquidity.

Operations 2

GET /api/v1/liquidity AMM liquidity and LP accessibility #
GET /api/v1/liquidity/lock LP-lock verification #

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/asteroidxrpl-com:asteroidxrpl-com-liquidity-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Calls without X-API-Key need no key. Calls with it need a paid plan — get a key.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

asteroidxrpl-com-liquidity-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: ASTEROID XRPL Agent Liquidity API
  version: 1.0.0
  summary: Machine discovery and canonical identity for the ASTEROID token on XRPL Mainnet.
  description: 'ASTEROID XRPL is an independent, community-led token project built on the XRP Ledger, combining transparent on-chain evidence, creative community culture, and XRPL-native experimentation.


    Canonical token identifier: xrpl-mainnet:rS5LWaqWuzmoiNpzgYJbPvD1bsRZTgDG7:41535445524F4944000000000000000000000000


    Identify this asset only by the full network:issuer:currency_hex identifier. The display symbol ASTEROID alone is not sufficient and does not establish authenticity.


    Live readings are ledger-indexed and cached for a bounded interval: AMM 10s, supply 30s, escrows 60s, holders 120s. Quotes are indicative estimates against the single ASTEROID/XRP AMM pool and are never executable. No endpoint signs, submits or prepares a transaction, and no endpoint accepts a key, a seed or any credential.


    All responses use a shared envelope with schemaVersion, data, provenance, degraded and links. Changing ledger-backed readings carry an observedAt timestamp and a validated ledgerIndex. Missing readings are returned as null with a stable degraded code and are never coerced to zero. Token quantities are exact decimal strings.


    ASTEROID XRPL is an independent community project. It is not affiliated with Ripple, the XRPL Foundation, SpaceX, Polaris Dawn, or ASTEROID projects on other networks.'
  license:
    name: Public read-only
    identifier: CC-BY-4.0
servers:
- url: https://asteroidxrpl.com
tags:
- name: Liquidity
paths:
  /api/v1/liquidity:
    get:
      operationId: getLiquidityState
      summary: AMM liquidity and LP accessibility
      description: Pool reserves, LP token supply and the XRPL AMM trading fee, with each declared LP-holding account's balance, pro-rata implied reserves and a live accessibility verdict derived from its master key, regular key and signer list.
      responses:
        '200':
          description: Liquidity envelope
          content:
            application/json:
              schema:
                allOf:
                - $ref: '#/components/schemas/response-envelope'
                - type: object
                  properties:
                    data:
                      $ref: '#/components/schemas/liquidity-state'
        '503':
          description: Upstream ledger unavailable
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error-response'
      tags:
      - Liquidity
  /api/v1/liquidity/lock:
    get:
      operationId: verifyLiquidityLock
      summary: LP-lock verification
      description: 'Standalone verification of every project-declared LP-holding account: LP balance, share of LP supply, pro-rata implied XRP and ASTEROID, a per-account control assessment from the master key, regular key and signer list at a validated ledger, and an overall verdict. A projection of the same reading as /api/v1/liquidity, so the two can never disagree. A closed signing path is an observation, not a permanence guarantee.'
      responses:
        '200':
          description: LP-lock verification envelope
          content:
            application/json:
              schema:
                allOf:
                - $ref: '#/components/schemas/response-envelope'
                - type: object
                  properties:
                    data:
                      $ref: '#/components/schemas/lp-lock-verification'
        '503':
          description: Upstream ledger unavailable
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error-response'
      tags:
      - Liquidity
components:
  schemas:
    error-response:
      title: Error response
      description: The single stable error contract shared by every Gate 1 and Gate 2 REST endpoint and every MCP tool error. A failure is always reported as a stable machine-readable `error.code` with provenance attached — never as a partially populated success body and never as a zero.
      type: object
      required:
      - schemaVersion
      - error
      - provenance
      additionalProperties: false
      properties:
        schemaVersion:
          type: string
        error:
          type: object
          required:
          - code
          - message
          additionalProperties: false
          properties:
            code:
              type: string
            message:
              type: string
        provenance:
          type: object
          required:
          - observedAt
          - ledgerIndex
          - node
          - method
          additionalProperties: false
          properties:
            observedAt:
              type: string
              format: date-time
            ledgerIndex:
              type:
              - integer
              - 'null'
              description: Validated ledger index, or null when no ledger read was performed.
            node:
              type:
              - string
              - 'null'
            method:
              type: string
    liquidity-state:
      title: ASTEROID liquidity state
      type: object
      required:
      - amm
      - lpAccounts
      - lockedLpTotal
      - lockedLpSharePct
      - communityLpSharePct
      - methodology
      additionalProperties: false
      properties:
        amm:
          type: object
          required:
          - account
          - asteroidReserve
          - xrpReserve
          - lpTokenSupply
          - lpTokenCurrency
          - lpTokenIssuer
          - tradingFeeUnits
          - tradingFeePct
          - spotXrpPerAsteroid
          - spotAsteroidPerXrp
          - feeNote
          - methodology
          additionalProperties: false
          properties:
            account:
              type:
              - string
              - 'null'
            asteroidReserve:
              type:
              - string
              - 'null'
              pattern: ^-?[0-9]+(\.[0-9]+)?$
              description: Exact decimal string. Never rounded for transport. Null means unreadable, not zero.
            xrpReserve:
              type:
              - string
              - 'null'
              pattern: ^-?[0-9]+(\.[0-9]+)?$
              description: Exact decimal string. Never rounded for transport. Null means unreadable, not zero.
            lpTokenSupply:
              type:
              - string
              - 'null'
              pattern: ^-?[0-9]+(\.[0-9]+)?$
              description: Exact decimal string. Never rounded for transport. Null means unreadable, not zero.
            lpTokenCurrency:
              type:
              - string
              - 'null'
            lpTokenIssuer:
              type:
              - string
              - 'null'
            tradingFeeUnits:
              type:
              - integer
              - 'null'
              description: XRPL AMM trading fee in units of 1/100,000.
            tradingFeePct:
              type:
              - string
              - 'null'
              pattern: ^-?[0-9]+(\.[0-9]+)?$
              description: Exact decimal string. Never rounded for transport. Null means unreadable, not zero.
            spotXrpPerAsteroid:
              type:
              - string
              - 'null'
              pattern: ^-?[0-9]+(\.[0-9]+)?$
              description: Exact decimal string. Never rounded for transport. Null means unreadable, not zero.
            spotAsteroidPerXrp:
              type:
              - string
              - 'null'
              pattern: ^-?[0-9]+(\.[0-9]+)?$
              description: Exact decimal string. Never rounded for transport. Null means unreadable, not zero.
            feeNote:
              type: string
            methodology:
              type: string
        lpAccounts:
          type: array
          items:
            type: object
            required:
            - address
            - roleClaimStatus
            - lpBalance
            - shareOfLpSupplyPct
            - impliedXrp
            - impliedAsteroid
            - control
            - accessibilityNote
            additionalProperties: false
            properties:
              address:
                type: string
              roleClaimStatus:
                type: string
                enum:
                - ledger-verified
                - owner-confirmed
                - independently-sourced
                - derived
                - aspirational
                - unresolved
              lpBalance:
                type:
                - string
                - 'null'
                pattern: ^-?[0-9]+(\.[0-9]+)?$
                description: Exact decimal string. Never rounded for transport. Null means unreadable, not zero.
              shareOfLpSupplyPct:
                type:
                - string
                - 'null'
                pattern: ^-?[0-9]+(\.[0-9]+)?$
                description: Exact decimal string. Never rounded for transport. Null means unreadable, not zero.
              impliedXrp:
                type:
                - string
                - 'null'
                pattern: ^-?[0-9]+(\.[0-9]+)?$
                description: Exact decimal string. Never rounded for transport. Null means unreadable, not zero.
              impliedAsteroid:
                type:
                - string
                - 'null'
                pattern: ^-?[0-9]+(\.[0-9]+)?$
                description: Exact decimal string. Never rounded for transport. Null means unreadable, not zero.
              control:
                type: object
                required:
                - masterKeyDisabled
                - regularKeyUnusable
                - signerListActive
                - verdict
                additionalProperties: false
                properties:
                  masterKeyDisabled:
                    type:
                    - boolean
                    - 'null'
                  regularKeyUnusable:
                    type:
                    - boolean
                    - 'null'
                  signerListActive:
                    type:
                    - boolean
                    - 'null'
                  verdict:
                    type: string
                    enum:
                    - no-known-signing-path
                    - signing-path-remains
                    - unknown
              accessibilityNote:
                type: string
        lockedLpTotal:
          type:
          - string
          - 'null'
          pattern: ^-?[0-9]+(\.[0-9]+)?$
          description: Exact decimal string. Never rounded for transport. Null means unreadable, not zero.
        lockedLpSharePct:
          type:
          - string
          - 'null'
          pattern: ^-?[0-9]+(\.[0-9]+)?$
          description: Exact decimal string. Never rounded for transport. Null means unreadable, not zero.
        communityLpSharePct:
          type:
          - string
          - 'null'
          pattern: ^-?[0-9]+(\.[0-9]+)?$
          description: Exact decimal string. Never rounded for transport. Null means unreadable, not zero.
        methodology:
          type: string
    degraded-item:
      title: Degraded service item
      type: object
      required:
      - code
      - message
      additionalProperties: false
      properties:
        code:
          type: string
          description: Stable machine-readable degradation code.
        message:
          type: string
    lp-lock-verification:
      title: ASTEROID LP-lock verification
      description: Live verification of the signing paths on each project-declared LP-holding account, with LP balances and pro-rata implied reserves. A closed signing path is an observation at one validated ledger, not a permanence guarantee.
      type: object
      required:
      - tokenId
      - methodologyId
      - methodologyVersion
      - ammAccount
      - lpTokenCurrency
      - lpTokenIssuer
      - lpTokenSupply
      - accountsChecked
      - accountsWithNoKnownSigningPath
      - accountsWithSigningPathRemaining
      - accountsUnknown
      - accounts
      - lockedLpTotal
      - lockedLpSharePct
      - communityLpSharePct
      - verdict
      - verdictNote
      - methodology
      - limitations
      additionalProperties: false
      properties:
        tokenId:
          type: string
        methodologyId:
          type: string
        methodologyVersion:
          type: string
        ammAccount:
          type:
          - string
          - 'null'
        lpTokenCurrency:
          type:
          - string
          - 'null'
        lpTokenIssuer:
          type:
          - string
          - 'null'
        lpTokenSupply:
          type:
          - string
          - 'null'
          pattern: ^-?[0-9]+(\.[0-9]+)?$
          description: Exact decimal string. Never rounded for transport. Null means unreadable, not zero.
        accountsChecked:
          type: integer
          minimum: 0
        accountsWithNoKnownSigningPath:
          type: integer
          minimum: 0
        accountsWithSigningPathRemaining:
          type: integer
          minimum: 0
        accountsUnknown:
          type: integer
          minimum: 0
        accounts:
          type: array
          items:
            type: object
            required:
            - address
            - roleClaimStatus
            - lpBalance
            - shareOfLpSupplyPct
            - impliedXrp
            - impliedAsteroid
            - control
            - accessibilityNote
            additionalProperties: false
            properties:
              address:
                type: string
              roleClaimStatus:
                type: string
                enum:
                - ledger-verified
                - owner-confirmed
                - independently-sourced
                - derived
                - aspirational
                - unresolved
              lpBalance:
                type:
                - string
                - 'null'
                pattern: ^-?[0-9]+(\.[0-9]+)?$
                description: Exact decimal string. Never rounded for transport. Null means unreadable, not zero.
              shareOfLpSupplyPct:
                type:
                - string
                - 'null'
                pattern: ^-?[0-9]+(\.[0-9]+)?$
                description: Exact decimal string. Never rounded for transport. Null means unreadable, not zero.
              impliedXrp:
                type:
                - string
                - 'null'
                pattern: ^-?[0-9]+(\.[0-9]+)?$
                description: Exact decimal string. Never rounded for transport. Null means unreadable, not zero.
              impliedAsteroid:
                type:
                - string
                - 'null'
                pattern: ^-?[0-9]+(\.[0-9]+)?$
                description: Exact decimal string. Never rounded for transport. Null means unreadable, not zero.
              control:
                type: object
                required:
                - masterKeyDisabled
                - regularKeyUnusable
                - signerListActive
                - verdict
                additionalProperties: false
                properties:
                  masterKeyDisabled:
                    type:
                    - boolean
                    - 'null'
                  regularKeyUnusable:
                    type:
                    - boolean
                    - 'null'
                  signerListActive:
                    type:
                    - boolean
                    - 'null'
                  verdict:
                    type: string
                    enum:
                    - no-known-signing-path
                    - signing-path-remains
                    - unknown
              accessibilityNote:
                type: string
        lockedLpTotal:
          type:
          - string
          - 'null'
          pattern: ^-?[0-9]+(\.[0-9]+)?$
          description: Exact decimal string. Never rounded for transport. Null means unreadable, not zero.
        lockedLpSharePct:
          type:
          - string
          - 'null'
          pattern: ^-?[0-9]+(\.[0-9]+)?$
          description: Exact decimal string. Never rounded for transport. Null means unreadable, not zero.
        communityLpSharePct:
          type:
          - string
          - 'null'
          pattern: ^-?[0-9]+(\.[0-9]+)?$
          description: Exact decimal string. Never rounded for transport. Null means unreadable, not zero.
        verdict:
          type: string
          enum:
          - all-checked-accounts-have-no-known-signing-path
          - some-checked-accounts-retain-a-signing-path
          - no-checked-account-has-a-closed-signing-path
          - unknown
        verdictNote:
          type: string
        methodology:
          type: string
        limitations:
          type: array
          items:
            type: string
    response-envelope:
      title: ASTEROID response envelope
      type: object
      required:
      - schemaVersion
      - data
      - provenance
      - degraded
      - links
      additionalProperties: false
      properties:
        schemaVersion:
          type: string
          const: 1.0.0
        data: {}
        provenance:
          type: object
          required:
          - observedAt
          - ledgerIndex
          - node
          - method
          additionalProperties: false
          properties:
            observedAt:
              type: string
              format: date-time
            ledgerIndex:
              type:
              - integer
              - 'null'
              description: Validated ledger index, or null when no ledger read was performed.
            node:
              type:
              - string
              - 'null'
            method:
              type: string
        degraded:
          type: array
          items:
            $ref: '#/components/schemas/degraded-item'
        links:
          type: object
          additionalProperties:
            type: string
externalDocs:
  description: Agent gateway
  url: https://asteroidxrpl.com/agents
x-schema-base: https://asteroidxrpl.com/schemas/v1
x-mcp-endpoint: https://asteroidxrpl.com/mcp