Documentation Index
Fetch the complete documentation index at: https://docs.rwa.xyz/llms.txt
Use this file to discover all available pages before exploring further.
This guide walks you through a series of API calls that demonstrate every major endpoint and query pattern — filtering, sorting, pagination, timeseries, and aggregation.
Prerequisites
- Obtain an API key
- Set it as an environment variable:
export RWA_API_KEY="your_api_key_here"
Find U.S. Treasury assets
Fetch all assets in the U.S. Treasuries asset class, sorted by market value.
curl -G 'https://api.rwa.xyz/v4/assets' \
-H "Authorization: Bearer $RWA_API_KEY" \
--data-urlencode 'query={
"filter": {
"operator": "equals",
"field": "asset_class_name",
"value": "US Treasury Debt"
},
"sort": {
"field": "circulating_market_value_dollar",
"direction": "desc"
},
"pagination": {
"page": 1,
"perPage": 5
}
}'
filter narrows results to assets classified as US Treasury Debt
sort orders by market value, largest first
pagination limits to 5 results on page 1
Response:
{
"results": [
{
"id": 51,
"name": "Circle USYC",
"slug": "circle-usyc",
"ticker": "USYC",
"asset_class_name": "US Treasury Debt",
"issuer_name": "Circle International",
"circulating_market_value_dollar": {
"val": 2394947347.33,
"val_7d": 2118658299.28,
"chg_7d_pct": 13.04
},
"yield_to_maturity_percent": {
"val": 0.0383,
"val_7d": 0.0383
}
// ... ~200 fields total per asset
}
],
"pagination": { "page": 1, "perPage": 5, "pageCount": 17, "resultCount": 83 }
}
Numeric metrics are returned as objects with the current value (val) plus historical snapshots (val_7d, val_30d, val_90d) and deltas (chg_7d_amt, chg_7d_pct, etc.).
Note the id field — you’ll use it in later examples.
Browse asset managers
The /v4/managers endpoint lists entities that manage RWA funds. This is one of several entity endpoints (/v4/issuers, /v4/platforms, /v4/networks) that all support the same query language.
curl -G 'https://api.rwa.xyz/v4/managers' \
-H "Authorization: Bearer $RWA_API_KEY" \
--data-urlencode 'query={
"sort": {
"field": "asset_count",
"direction": "desc"
},
"pagination": {
"page": 1,
"perPage": 5
}
}'
Response:
{
"results": [
{
"id": 74,
"name": "Reental America",
"slug": "reental-america",
"asset_count": 20,
"website": "https://www.reental.co/en",
"holding_addresses_count": { "val": 5699, "val_7d": 5707, "chg_7d_pct": -0.14 },
"bridged_token_value_dollar": { "val": 29034335.51, "val_7d": 29050231.26 }
// ...
}
],
"pagination": { "page": 1, "perPage": 5, "pageCount": 22, "resultCount": 106 }
}
List an asset’s tokens
An asset represents a financial product (e.g., “Ondo Short-Term US Government Bond Fund”). A token is a specific on-chain deployment of that asset — the same asset can have tokens on multiple chains.
Use /v4/tokens to see all the on-chain tokens for a given asset.
curl -G 'https://api.rwa.xyz/v4/tokens' \
-H "Authorization: Bearer $RWA_API_KEY" \
--data-urlencode 'query={
"filter": {
"operator": "equals",
"field": "asset_id",
"value": "51"
}
}'
Response:
{
"results": [
{
"id": 20,
"name": "Ethereum USYC",
"asset_id": 51,
"network_name": "Ethereum",
"address": "0x136471a34f6ef19fe...",
"decimals": 6,
"standards": ["ERC-20"],
"protocol_name": "Circle",
"transferability_type": "Transferable within whitelist",
"total_supply_token": { "val": 113140795.54, "val_7d": 109385452.12 }
// ...
},
{
"id": 4801,
"name": "BNB Chain USYC",
"asset_id": 51,
"network_name": "BNB Chain",
"address": "0x8d0fa28f221eb5735b..."
// ...
},
{
"id": 5076,
"name": "Solana USYC",
"asset_id": 51,
"network_name": "Solana",
"address": "7LWanZteUKtvFjv4MHYg..."
// ...
}
]
}
This shows the same asset (Circle USYC) deployed as three separate tokens on Ethereum, BNB Chain, and Solana. Each token has its own supply, address, and on-chain metrics.
Get historical NAV for an asset
Use /v4/assets/aggregates/timeseries to pull historical metrics for an asset. The timeseries endpoints require a measure_slug filter to specify which metric you want — use the Data Catalog or the /v4/assets/aggregates/meta endpoint to discover available measures.
Replace ASSET_ID with an id from a previous response.
curl -G 'https://api.rwa.xyz/v4/assets/aggregates/timeseries' \
-H "Authorization: Bearer $RWA_API_KEY" \
--data-urlencode 'query={
"filter": {
"operator": "and",
"filters": [
{
"operator": "equals",
"field": "asset_id",
"value": "ASSET_ID"
},
{
"operator": "equals",
"field": "measure_slug",
"value": "net_asset_value_dollar"
}
]
},
"pagination": {
"page": 1,
"perPage": 30
}
}'
filter combines two conditions with and — a specific asset and the NAV measure
- The timeseries endpoint defaults to daily granularity when no
aggregate block is provided
Response:
Each result contains a measure descriptor, a group descriptor, and an array of points where each point is a [date, value] pair.
{
"results": [
{
"measure": {
"id": 3,
"slug": "net_asset_value_dollar",
"name": "Net Asset Value (Dollar)",
"unit": "dollar"
},
"group": {
"id": 51,
"type": "asset",
"name": "Circle USYC",
"color": "#2A3758"
},
"points": [
["2023-10-19", 1.01577],
["2023-10-20", 1.01590]
]
}
],
"pagination": { "page": 1, "perPage": 30, "pageCount": 1, "resultCount": 1 }
}
Track token supply across chains
Use /v4/tokens/aggregates/timeseries instead of the asset timeseries when you need chain-level granularity. The aggregate.groupBy: "token" option returns a separate series for each on-chain token, so you can see how supply is distributed across networks.
curl -G 'https://api.rwa.xyz/v4/tokens/aggregates/timeseries' \
-H "Authorization: Bearer $RWA_API_KEY" \
--data-urlencode 'query={
"filter": {
"operator": "and",
"filters": [
{
"operator": "equals",
"field": "asset_id",
"value": "51"
},
{
"operator": "equals",
"field": "measure_slug",
"value": "total_supply_token"
}
]
},
"aggregate": {
"groupBy": "token",
"aggregateFunction": "sum",
"interval": "day",
"mode": "stock"
}
}'
groupBy: "token" returns one series per on-chain token (e.g., Ethereum USYC, Solana USYC)
mode: "stock" returns point-in-time snapshots (use "flow" to accumulate values over a period)
- Compare with the previous example: asset timeseries gives you one combined series, token timeseries breaks it out per chain
Response:
{
"results": [
{
"measure": { "slug": "total_supply_token", "name": "Total Supply (Token)", "unit": "token" },
"group": { "type": "token", "name": "Ethereum USYC" },
"points": [
["2023-06-13", 25000],
["2023-06-14", 25000]
]
},
{
"measure": { "slug": "total_supply_token", "name": "Total Supply (Token)", "unit": "token" },
"group": { "type": "token", "name": "BNB Chain USYC" },
"points": [
["2025-07-09", 1.83],
["2025-07-10", 1.83]
]
}
]
}
Aggregate value across an asset class
To see the total value for all assets in a class combined, use aggregate.groupBy: "asset_class". This sums across every asset in the category.
curl -G 'https://api.rwa.xyz/v4/assets/aggregates/timeseries' \
-H "Authorization: Bearer $RWA_API_KEY" \
--data-urlencode 'query={
"filter": {
"operator": "and",
"filters": [
{
"operator": "equals",
"field": "asset_class_name",
"value": "US Treasury Debt"
},
{
"operator": "equals",
"field": "measure_slug",
"value": "net_asset_value_dollar"
}
]
},
"aggregate": {
"groupBy": "asset_class",
"aggregateFunction": "sum",
"interval": "month",
"mode": "stock"
}
}'
groupBy: "asset_class" sums values across all assets in the class into a single series
interval: "month" returns one data point per month
- This gives you the total market size of tokenized U.S. Treasuries over time
Response:
{
"results": [
{
"measure": { "slug": "net_asset_value_dollar", "name": "Net Asset Value (Dollar)", "unit": "dollar" },
"group": { "id": 27, "type": "asset_class", "name": "US Treasury Debt", "color": "#05417a" },
"points": [
["2021-04-01", 25],
["2021-05-01", 31],
["2025-01-01", 3500000000],
["2025-02-01", 3800000000]
]
}
]
}
Query on-chain transactions
Use /v4/transactions to query individual on-chain events — mints, burns, and transfers. This example finds large transactions (over $100,000 USD) for a specific asset, demonstrating comparison operators like gte.
curl -G 'https://api.rwa.xyz/v4/transactions' \
-H "Authorization: Bearer $RWA_API_KEY" \
--data-urlencode 'query={
"filter": {
"operator": "and",
"filters": [
{
"operator": "equals",
"field": "asset_id",
"value": 51
},
{
"operator": "gte",
"field": "usd_amount",
"value": 100000
}
]
},
"sort": { "field": "date", "direction": "desc" },
"pagination": { "page": 1, "perPage": 5 }
}'
gte (greater than or equal) is one of several comparison operators — see Requests for the full list
- Transactions default to
date descending, but we include it explicitly for clarity
- Each result includes nested
asset, token, and transaction_type objects
Response:
{
"results": [
{
"id": "1-0x9d60a645b0a92c98...-42",
"date": "2026-03-17T00:00:00.000Z",
"timestamp": "2026-03-17T11:02:59.000Z",
"transaction_hash": "0x9d60a645b0a92c98...",
"amount": 22331806.95,
"usd_amount": 24995829.91,
"from_address": "0xfd78ee919681417d...",
"to_address": "0x0000000000000000...",
"transaction_type": {
"id": 2,
"slug": "token-burn",
"name": "Token Burn",
"description": "Tokens are destroyed and removed from the circulating supply."
},
"token": { "id": "20", "asset_id": "51", "network_name": "Ethereum", "address": "0x136471a34f..." },
"asset": { "id": "51", "name": "Circle USYC", "asset_class_name": "US Treasury Debt" }
}
],
"pagination": { "page": 1, "perPage": 5, "pageCount": 6216, "resultCount": 31078 }
}
The transactions endpoint is rate limited to 120 requests per hour per organization. See Rate Limits.
Discovering available fields
Every resource endpoint has a corresponding /meta endpoint that returns the available fields, their types, valid filter operators, and select options. This is useful for building dynamic queries or exploring what’s filterable.
curl -X GET 'https://api.rwa.xyz/v4/assets/meta' \
-H "Authorization: Bearer $RWA_API_KEY"
Next steps
- Requests — full reference for filters, sorting, pagination, and aggregation
- Endpoints — overview of all available endpoints
- Assets schema — complete field reference for assets
- Tokens schema — complete field reference for tokens
- Data Catalog — browse all entities, fields, and measures