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-market-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 Market 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: Market
paths:
/api/v1/market:
get:
operationId: getMarketState
summary: Composite live market state
description: Supply, AMM liquidity, LP accessibility, treasury escrows and trust-line counts in one enveloped reading. Each section carries its own provenance; the envelope ledgerIndex is the oldest section reading. An observation of ledger state, not a market evaluation and not a quote.
responses:
'200':
description: Market state envelope
content:
application/json:
schema:
allOf:
- $ref: '#/components/schemas/response-envelope'
- type: object
properties:
data:
$ref: '#/components/schemas/market-state'
'503':
description: Upstream ledger unavailable
content:
application/json:
schema:
$ref: '#/components/schemas/error-response'
tags:
- Market
components:
schemas:
escrow-state:
title: ASTEROID treasury escrow schedule
type: object
required:
- account
- accountRoleClaimStatus
- entries
- count
- totalEscrowed
- nextUnlock
- lastUnlock
- methodology
additionalProperties: false
properties:
account:
type: string
accountRoleClaimStatus:
type: string
enum:
- ledger-verified
- owner-confirmed
- independently-sourced
- derived
- aspirational
- unresolved
entries:
type: array
items:
type: object
required:
- index
- amount
- destination
- destinationIsTreasury
- finishAfter
- cancelAfter
- sequence
- state
additionalProperties: false
properties:
index:
type: string
amount:
type:
- string
- 'null'
pattern: ^-?[0-9]+(\.[0-9]+)?$
description: Exact decimal string. Never rounded for transport. Null means unreadable, not zero.
destination:
type: string
destinationIsTreasury:
type: boolean
finishAfter:
type:
- string
- 'null'
format: date-time
cancelAfter:
type:
- string
- 'null'
format: date-time
sequence:
type: integer
state:
type: string
enum:
- locked
- releasable
- expired
- unknown
count:
type: integer
minimum: 0
totalEscrowed:
type:
- string
- 'null'
pattern: ^-?[0-9]+(\.[0-9]+)?$
description: Exact decimal string. Never rounded for transport. Null means unreadable, not zero.
nextUnlock:
type:
- string
- 'null'
format: date-time
lastUnlock:
type:
- string
- 'null'
format: date-time
methodology:
type: string
supply-state:
title: ASTEROID supply state
type: object
required:
- tokenId
- outstanding
- escrowed
- totalSupply
- circulating
- circulatingSharePct
- intendedIssuance
- returnedToIssuer
- issuanceAnchor
- claimStatus
- methodology
additionalProperties: false
properties:
tokenId:
type: string
outstanding:
type:
- string
- 'null'
pattern: ^-?[0-9]+(\.[0-9]+)?$
description: Exact decimal string. Never rounded for transport. Null means unreadable, not zero.
escrowed:
type:
- string
- 'null'
pattern: ^-?[0-9]+(\.[0-9]+)?$
description: Exact decimal string. Never rounded for transport. Null means unreadable, not zero.
totalSupply:
type:
- string
- 'null'
pattern: ^-?[0-9]+(\.[0-9]+)?$
description: Exact decimal string. Never rounded for transport. Null means unreadable, not zero.
circulating:
type:
- string
- 'null'
pattern: ^-?[0-9]+(\.[0-9]+)?$
description: Exact decimal string. Never rounded for transport. Null means unreadable, not zero.
circulatingSharePct:
type:
- string
- 'null'
pattern: ^-?[0-9]+(\.[0-9]+)?$
description: Exact decimal string. Never rounded for transport. Null means unreadable, not zero.
intendedIssuance:
type:
- string
- 'null'
pattern: ^-?[0-9]+(\.[0-9]+)?$
description: Exact decimal string. Never rounded for transport. Null means unreadable, not zero.
returnedToIssuer:
type:
- string
- 'null'
pattern: ^-?[0-9]+(\.[0-9]+)?$
description: Exact decimal string. Never rounded for transport. Null means unreadable, not zero.
issuanceAnchor:
type: object
required:
- hash
- ledgerIndex
- declaredValue
- declaredDestination
- revalidated
- observedValue
- observedDestination
- matchesDeclaration
additionalProperties: false
properties:
hash:
type: string
ledgerIndex:
type: integer
declaredValue:
type: string
declaredDestination:
type: string
revalidated:
type: boolean
observedValue:
type:
- string
- 'null'
pattern: ^-?[0-9]+(\.[0-9]+)?$
description: Exact decimal string. Never rounded for transport. Null means unreadable, not zero.
observedDestination:
type:
- string
- 'null'
matchesDeclaration:
type:
- boolean
- 'null'
claimStatus:
type: object
required:
- outstanding
- escrowed
- totalSupply
- circulating
- intendedIssuance
additionalProperties: false
properties:
outstanding:
type: string
enum:
- ledger-verified
- owner-confirmed
- independently-sourced
- derived
- aspirational
- unresolved
escrowed:
type: string
enum:
- ledger-verified
- owner-confirmed
- independently-sourced
- derived
- aspirational
- unresolved
totalSupply:
type: string
enum:
- ledger-verified
- owner-confirmed
- independently-sourced
- derived
- aspirational
- unresolved
circulating:
type: string
enum:
- ledger-verified
- owner-confirmed
- independently-sourced
- derived
- aspirational
- unresolved
intendedIssuance:
type: string
enum:
- ledger-verified
- owner-confirmed
- independently-sourced
- derived
- aspirational
- unresolved
methodology:
type: string
market-state:
title: ASTEROID composite market state
type: object
required:
- tokenId
- supply
- liquidity
- escrows
- holders
- derived
- sectionProvenance
- disclaimer
additionalProperties: false
properties:
tokenId:
type: string
supply:
$ref: '#/components/schemas/supply-state'
liquidity:
$ref: '#/components/schemas/liquidity-state'
escrows:
$ref: '#/components/schemas/escrow-state'
holders:
$ref: '#/components/schemas/holder-state'
derived:
type: object
required:
- spotXrpPerAsteroid
- pooledAsteroidSharePct
- notQuoteNotice
additionalProperties: false
properties:
spotXrpPerAsteroid:
type:
- string
- 'null'
pattern: ^-?[0-9]+(\.[0-9]+)?$
description: Exact decimal string. Never rounded for transport. Null means unreadable, not zero.
pooledAsteroidSharePct:
type:
- string
- 'null'
pattern: ^-?[0-9]+(\.[0-9]+)?$
description: Exact decimal string. Never rounded for transport. Null means unreadable, not zero.
notQuoteNotice:
type: string
sectionProvenance:
type: object
additionalProperties:
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
disclaimer:
type: string
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
holder-state:
title: ASTEROID trust-line and holder counts
type: object
required:
- trustLines
- nonZeroHolders
- complete
- pagesRead
- pageLimit
- methodology
additionalProperties: false
properties:
trustLines:
type:
- integer
- 'null'
minimum: 0
nonZeroHolders:
type:
- integer
- 'null'
minimum: 0
complete:
type: boolean
pagesRead:
type: integer
minimum: 0
pageLimit:
type: integer
minimum: 1
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
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