Insights

XRPL Token API - Prices, Lists & Analytics Endpoints

Every token on the XRP Ledger, 20,468 of them, through five calls: the list, one token, its price history, its holders and where its supply went. Each example below is a real request and the response it got.

The token list

Every token, sorted by any field the docs list: here, the two with the most XRP traded in 24 hours.

Request
curl "https://api.xrpl.to/v1/tokens?sort=vol24hxrp&order=desc&limit=2"
Response
{
  "success": true,
  "total": 20468,
  "tokens": [
    {
      "md5": "0dd550278b74cb6690fdae351e8e0df3",
      "name": "RLUSD",
      "issuer": "rMxCKbEDwqr76QuheSUMdEGf4B9xJ8m5De",
      "currency": "524C555344000000000000000000000000000000",
      "exch": 0.762471760532176,
      "usd": "0.99909343433692883896",
      "vol24hxrp": 3092792.208121,
      "pro24h": -1.4321792493104502,
      "holders": 67589,
      "marketcap": 777906798.0382205
    },
    {
      "md5": "1c54f16ec1b45eef983f202b9954999b",
      "name": "USDC",
      "issuer": "rGm7WCVp9gb4jZHWTEtGUr4dd74z2XuWhE",
      "currency": "5553444300000000000000000000000000000000",
      "exch": 0.7625438462711606,
      "usd": "0.9991878908037212248",
      "vol24hxrp": 312374.708854,
      "pro24h": -1.491523047051202,
      "holders": 10399,
      "marketcap": 3743135.2210638947
    }
  ]
}
Trimmed to ten fields; each token object has many more. exch is the price in XRP, usd in US dollars, vol24hxrp the XRP traded in 24 hours.

Other filters: tag (see GET /tags), filter for a name, show_new=true for tokens created in the last 7 days, and lightweight=true for a smaller response.

One token

A token is named by its md5: md5 of the issuer, an underscore and the currency code. For RLUSD, md5(“rMxCKbEDwqr76QuheSUMdEGf4B9xJ8m5De_524C55534400…”) is 0dd550278b74cb6690fdae351e8e0df3. Its slug, rMxCKbEDwqr76QuheSUMdEGf4B9xJ8m5De-524C555344000000000000000000000000000000, works too.

Request
curl "https://api.xrpl.to/v1/token/0dd550278b74cb6690fdae351e8e0df3?skip_metrics=true"
Response
{
  "success": true,
  "token": {
    "md5": "0dd550278b74cb6690fdae351e8e0df3",
    "name": "RLUSD",
    "user": "Ripple",
    "issuer": "rMxCKbEDwqr76QuheSUMdEGf4B9xJ8m5De",
    "currency": "524C555344000000000000000000000000000000",
    "exch": 0.762471760532176,
    "usd": "0.99909343433692883896",
    "marketcap": 777906798.0382205,
    "supply": "1020243421.8616456358",
    "holders": 67589,
    "trustlines": 100271,
    "tvl": 3687370.976908,
    "origin": "Ripple",
    "dateon": 1723248000000
  }
}
skip_metrics=true leaves out the market-wide figures that otherwise come with every token.

Price history

Candles from one minute to one week, in XRP or in a fiat currency. Each candle is [time, open, high, low, close, volume]:

Request
curl "https://api.xrpl.to/v1/ohlc/0dd550278b74cb6690fdae351e8e0df3?range=7D&interval=1d&vs_currency=USD"
Response
{
  "success": true,
  "interval": "1d",
  "vs_currency": "USD",
  "ohlc": [
    [
      1792195200000,
      1.00104959,
      1.00231477,
      0.986912971,
      1.00062786,
      2230343.13
    ],
    [
      1792281600000,
      1.00062786,
      1.00197055,
      0.998696847,
      1.0001803,
      2948624.92
    ],
    [
      1792368000000,
      1.0001803,
      1.00084711,
      0.996560033,
      0.999093434,
      280936.92
    ]
  ]
}
The last three daily candles of seven. The price history guide covers paging back through years of candles.

Holders

The ranked list of holders, with each one’s balance and share of the supply:

Request
curl "https://api.xrpl.to/v1/holders/list/0dd550278b74cb6690fdae351e8e0df3?limit=3"
Response
{
  "success": true,
  "length": 67589,
  "richList": [
    {
      "id": 1,
      "account": "rEq4b7nbL2ep44Fgk9bPwpynGRjyESpf5B",
      "balance": 149850041.6700765,
      "holding": 14.68
    },
    {
      "id": 2,
      "account": "rDgBDkeTe5rbtRn2DJP8kHvQTuw28h8UVr",
      "balance": 131512039.6718009,
      "holding": 12.89
    },
    {
      "id": 3,
      "account": "rKWoRYn65imVUUF2Hmtpp78E6NAjTf6ExL",
      "balance": 105000000.0000102,
      "holding": 10.29
    }
  ]
}
Also: /holders/info/{id} for the top-10 to top-100 shares, /holders/graph/{id} for the holder count over time, and /holders/position/{id}/{address} for one account’s rank.

Where the supply went

GET /token/flow/{id} traces the supply from the creator’s wallet onward: how much the creator kept, what went to pools and exchanges, and what was spread to other wallets. It is worked out ahead of time for every token, so it answers at once.

Questions

How do I get the price of an XRP Ledger token?
GET /v1/token/{id} returns the token with its price in XRP (exch) and in US dollars (usd). The id can be the token’s md5, its slug, or issuer and currency.
How is a token’s md5 made?
md5 of the issuer address, an underscore, and the currency code as the ledger stores it: md5(issuer + "_" + currency). It is the same id on every xrpl.to endpoint and page.
Is the token API free?
Yes to start, with no key; a free key raises the limits. Any app that shows the data must credit xrpl.to visibly beside it.

More

API overview, limits and plans · Every endpoint, with live examples · DEX trading API