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: 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