Providers
Koios
Cardano over the Koios PostgREST API. Balances with totals, history, details and native token holdings, keyless, a little slow on busy addresses.
- provider
- create("koios")
- auth
- none
- chains
- Cardano
- capabilities
- balance, history, tx detail, tokens
- endpoint
- api.koios.rest/api/v1
- default chain
- cardano
Address it
const koios = await create("koios");
await koios.getTokenBalances("addr1…", "cardano");
What it reads
Koios answers on POST with the address or hash in the request body: address_info for the balance, address_txs then tx_info for history, tx_info for one transaction, address_assets for native token holdings.
Gotchas
- The public instance rejects a body over 5120 bytes and one hash costs about 67 of them, so
getTxHistoryaskstx_infofor seventy hashes at a time and reorders the answer, which comes back in the endpoint's own order. address_infoships the whole UTxO set of an address, 222 kB for a busy one.getBalancenarrows the payload with the PostgRESTselectparameter, but the endpoint still builds the set before it answers, and a busy address takes three to nine seconds against the client timeout of fifteen seconds.- The phase-2 validity flag sits behind the heavier
_scriptspayload, so a transaction reads assuccesseven when a failing script consumed its collateral.isContractInteractioncomes from the presence of collateral inputs. - Lovelace, six decimals.
fundedandspentare the address totals.
Where it lives
src/providers/koios.ts.
Blockberry
Sui balances and history through api.blockberry.one. Needs BLOCKBERRY_API_KEY; block lookup does not fit the contract of one block number in, one block out.
Arweave gateway
Wallet and block REST plus the GraphQL index of a gateway, arweave.net by default. Winstons, no gas, and history that stays on one gateway.