Guide · updated 2026-10-24
Anoma data without a key: the free API
Gnoma Explorer serves the data behind its pages as a free, read-only JSON API: no key, no sign-up, open CORS. This guide shows five calls that answer common questions, how paging, caching and limits work, and where to find the open data files, feeds, badges and widgets.
What the API covers
The API lives at https://exploreanoma.com/api/v2 and answers plain HTTP GET requests with JSON. It needs no key and no sign-up. CORS is open, so a web page on any site can call it directly. It covers every settlement through the Protocol Adapter, the contract that lets Anoma Resource Machine transactions settle on EVM-compatible chains. In that model, Anoma's docs explain, the protocol creates and consumes discrete resources instead of updating account balances directly. A settlement here means one Anoma transaction completed on-chain. The API also covers the shielded pool, explained below, and XAN, which Anoma's tokenomics page calls the native token of the Anoma network and says can be used for network governance. Start with /api/v2/openapi.json, an OpenAPI 3.1 document that describes the routes with their parameters and what each returns. The Developers page describes the main routes, with a Try it button on most of them, and the open data manifest at /api/v2/data, which the OpenAPI document leaves out. [1] [2] [3]
Five calls for common questions
| Question | Call | What comes back |
|---|---|---|
| Which settlements landed most recently? | /api/v2/txs?limit=5 | items, newest first, each with its id, chainId, txHash, block (blockNumber), time (ts), submitter (sender) and counts of tags, actions, payloads and calls. Add chain=, logic= or sender= to filter, and pass next as cursor for the following page. |
| What happened in one transaction? | /api/v2/txs/{id} | The full resource flow: each tag with its kind, resource logic and payloads, the actions, and the decoded external calls. A bare transaction hash also works; a hash that carries several Anoma transactions answers 300 with matches. |
| Who holds XAN? | /api/v2/xan | Per network: the supply checked against totalSupply(), the holder count, concentration, and the largest holders with their name tags, plus daily transfers and price history. Recomputed every five minutes. |
| How much is in the shielded pool? | /api/v2/shielded/analytics | Per asset (chainId and token): the totals shielded and unshielded in base units, whose difference is what remains in the pool, plus wallets that shielded, round trips and time in the pool. |
| Do the figures match the contracts? | /api/v2/proof | Per network: indexed settlements against what the Protocol Adapter contract reports, pool totals per token against the balance held on-chain, and XAN supply against totalSupply() with a sample of balances against balanceOf(). Each check has a status and the block it read. |
Two of these calls need a word of context. This site calls putting tokens into the shielded pool a shield; AnomaPay's docs define shielded tokens as tokens that have been deposited into the AnomaPay application. Taking them out is an unshield. AnomaPay's docs say the total balance of the shielded pool is public, while who owns which tokens inside it is private. So the pool call reports totals per token at the pool's edge, and nothing about who owns what inside it. The same docs say the Protocol Adapter controls shielded funds through deployed forwarder contracts. The proof call compares indexed shields minus unshields, per token, with the balance those forwarder contracts hold. A disagreement has to last three checks in a row before it is reported. The same results are on Proof. [1]
Conventions, paging, caching and limits
- Ids, amounts and times: transaction ids are
{chainId}_{txHash}_{logIndex}. Amounts are base-unit integers sent as strings, so nothing is rounded. Timestamps are Unix seconds. - Addresses: every
{address}in a path and everysender=also accepts an ENS name. The answer is a 308 redirect to the same URL with the Ethereum address. - Networks:
chain=takes the chain id of an indexed network, from the table below./api/v2/networksreturns the whole registry, including deployed test networks that are not indexed, with each network's indexer health. - Paging: lists use keyset cursors. Pass the
nextvalue from one page ascursoron the next. On/api/v2/txs,limitruns from 1 to 50 and defaults to 25. - Following XAN:
/api/v2/xan/feed?chain=1&after={block}returns every XAN transfer after a block, in whole blocks. Apply itsitems, then move your cursor tothrough, and no transfer is missed or repeated. It keeps the last eight days;covered: falsemeans your block is older than that. - Caching: every answer carries
Cache-Control, and clients are asked to honor it. Indexed settlements never change and cache for an hour. Live lists cache for about ten seconds. - Rate limits per caller: 120 requests a minute on
/api/*and/data/*, 60 on/api/v2/explorer/*(the routes answered from Etherscan as a second source) and 10 on/api/v2/ask. Over a limit the answer is 429 with aRetry-Afterheader. - Freshness:
/api/v2/statusreportsfreshas true when every active network was followed within the last two minutes (a network with no settlement for a week, within seven). It also gives each network's age and the measured delay from a block to its settlement being indexed. When quoting a figure, say when it was read.
| Network | Chain id | Protocol Adapter | Version |
|---|---|---|---|
| Ethereum | 1 | 0x0ea3b55b68a3f307c8fe3fe66e443247c95f0cff | v1.1.0 |
| BNB Chain | 56 | 0xfc44b66a39fe6923ad8d3c93bfec369728862b68 | v1.1.0 |
| Base | 8453 | 0x094fcc095323080e71a037b2b1e3519c07dd84f8 | v1.1.0 |
| Arbitrum One | 42161 | 0x094fcc095323080e71a037b2b1e3519c07dd84f8 | v1.1.0 |
| OP Mainnet | 10 | 0x094fcc095323080e71a037b2b1e3519c07dd84f8 | v1.1.0 |
| Aurora | 1313161554 | 0x2D2Fa19aFdbb20DC73737ca5f075cfAE00Cd90C2 | v1.1.0 |
| MegaETH | 4326 | 0x2D2Fa19aFdbb20DC73737ca5f075cfAE00Cd90C2 | v1.1.0 |
| Monad | 143 | 0x2D2Fa19aFdbb20DC73737ca5f075cfAE00Cd90C2 | v1.1.0 |
| Stable | 988 | 0x2D2Fa19aFdbb20DC73737ca5f075cfAE00Cd90C2 | v1.1.0 |
Open data, feeds, badges, widgets and licence
- Manifest:
/api/v2/data, also published as the file/data/manifest.json, lists every dataset file with its rows, bytes, SHA-256 checksum and a description. The XAN holder and transfer files also give the block they run to (asOf), andgeneratedAtsays when the files were published. Check each download against its SHA-256. - Files:
/data/{file}, gzipped CSV with exact decimal amounts. They hold every settlement, resource and pool call (shields, unshields and calls made from the pool); every XAN transfer on Ethereum and BNB Chain since the token began, one file per month; a snapshot of XAN holders on each of those networks, largest first; and the public name tags. The files are snapshots, not a live feed: download each once, and fetch it again only when the manifest changes. - Atom feed:
/api/v2/feed.xmlcarries the newest settlements and takes the samechain,logicandsenderfilters as/api/v2/txs. It suits feed readers and chat bots. - CSV export:
/api/v2/txs.csvreturns the newest settlements that match those filters, 100 by default and up to 500 withlimit, for spreadsheets and notebooks. - Badges:
/api/v2/badge/{metric}.svgdraws a small live badge fortxs,txs-24h,resources,networksorstatus. Addlabel=to change the left-hand text. Badges update every five minutes. - Widgets: the Developers page gives a one-line
<iframe>for/embed/stats,/embed/chartor/embed/latest, with an optional?theme=lightor?theme=dark. Widgets need no key and refresh once a minute while visible. - Licence and attribution: the site's
llms.txtstates that code and data are under the MIT licence, and asks that figures shown elsewhere credit Gnoma Explorer with a link to exploreanoma.com. The manifest adds that the facts are read from public blockchains and are free to use. The source repository is not public yet.
How this fits with Anoma's GraphQL playground
Anoma's official explorer is explorer.anoma.net. This site is independent and is not affiliated with the Anoma Foundation or Heliax. Anoma's docs say that explorer shows all indexed transactions, tags, resource logics and external calls across the existing Protocol Adapters, shows the deployed Protocol Adapter contracts, and lets users configure networks and RPC endpoints. The same page says it includes a GraphQL playground for running queries against the Envio HyperIndexer. Anoma's App SDK docs also rely on Envio: the SDK checks nullifiers, the tags published when resources are consumed, against the public nullifier list from Envio to tell which resources have been spent. For a question this API has no route for, the playground is the better tool: a GraphQL query picks its own fields, while each route here returns a fixed shape. On 2026-10-23 its transaction pages used the same {chainId}_{txHash}_{logIndex} id as this API, so an id copied from one finds the same settlement on the other. Alongside it, this site offers plain cacheable URLs, whole files for notebooks and archives, feeds and widgets, and figures checked against the contracts in public on Proof. [1] [2] [3] [4]
Questions
- Do I need an API key to get Anoma data?
- No. This site's API at
https://exploreanoma.com/api/v2needs no key and no sign-up, and CORS is open. Calls are limited per caller, 120 a minute on most routes, and an answer over the limit is 429 withRetry-After. - Is this the official Anoma API?
- No. Gnoma Explorer is independent and not affiliated with the Anoma Foundation or Heliax. Anoma's own explorer is explorer.anoma.net, which Anoma's docs describe as including a GraphQL playground.
- How do I download every Anoma settlement at once?
- Read the manifest at
/api/v2/data, then download the files it lists from/data/{file}: gzipped CSV with exact decimal amounts, each listed with its row count and SHA-256. The files are snapshots, and the manifest'sgeneratedAtsays when they were published. For settlements after that, page through/api/v2/txs. - How fresh is the data?
- New settlements are usually indexed within seconds of their block.
/api/v2/statussays whether every active network was followed within the last two minutes, gives each network's age and reports the measured delay from a block to its settlement being indexed. The on-chain checks behind the figures are on Proof. - Can I use the data in my own app or article?
- Yes. The site's
llms.txtstates that code and data are under the MIT licence, and the open data manifest says the facts are free to use. Please credit Gnoma Explorer with a link to exploreanoma.com and say when each figure was read. - Where is the source code?
- The site's
llms.txtstates that its source repository is not public yet. Until it is, the OpenAPI document at/api/v2/openapi.jsondescribes the API's routes and their parameters, and Developers covers the open data, widgets, feeds and badges.
Sources
- Architecture Overview
- Anoma Tokenomics
- Introduction
- Anoma Explorer
- Resources
- Dashboard · Anoma Explorer
- Transaction ...e7f070 · Anoma Explorer
Gnoma Explorer is independent and not affiliated with the Anoma Foundation or Heliax. Statements about Anoma are Anoma's own, from the sources above; figures are this explorer's, from the pages linked in the text.
Read next: Developers · Proof · How to look up and verify an Anoma transaction · Gnoma Explorer and explorer.anoma.net compared · XAN, Anoma's token: what it is and how it is counted