{"uid":"cap_T3H0VOz36hxUoSN7kx4fj","slug":"animica-chain-balance-lookup-13402270","name":"Animica Chain Balance Lookup","description":"Balances for up to 500 Animica accounts in ONE batched call, head-pinned, amounts in nANM as exact decimal strings. Single-address balance lookups stay free on the public API — this sells the batch.","url":"https://animica.dev/x402/chain/balances","method":"POST","headers":{},"bodySchema":{"type":"object","properties":{"addresses":{"type":"array","description":"1..500 anim1… bech32m addresses (32-byte hex account digests also accepted); duplicates are collapsed to one lookup but still answered in place"}}},"responseSchema":{"type":"json","example":{"unit":"nANM","as_of":{"head_hash":"0x00000000015b1e1021c5354baeac63e24fa52aff9aee92bd467653654256cdd4","consistent":true,"head_height":73635,"entry_head_max":73635,"entry_head_min":73635},"count":1,"product":"chain_batch_balances","balances":[{"exists":true,"address":"anim1zqpye0muk7etljd2fh7wxsh9y9027cq7dykj3de8u80s2mcnfp6qxecpunkth","balance":"150863000","account_digest":"0x4cbf7cb7b2bfc9aa4dfce342e5215eaf601e692d28b727e1df056f1348740367","spendable_balance":"150863000"}],"decimals":9,"derivation":{"fields":"balance = the node's confirmed_balance. spendable_balance and exists are passed through only when the node returns them; nothing here is synthesised.","source":"state.getAddressBalance on the local Animica node, one batched JSON-RPC request. Note the node has an upstream read-through fallback when it believes it is behind, so a balance may come from a trusted upstream rather than local state.","amounts":"balances are nANM (1e-9 ANM) as exact decimal strings, normalised through BigInt from the node's confirmed_balance. Divide by 1e9 for ANM — with a decimal library, never a float.","duplicates":"duplicate addresses are resolved once and answered in place; total_balance sums UNIQUE accounts only.","account_digest":"bech32m anim1… payload = alg_id (2 bytes) || sha3_256(pubkey) (32 bytes); the lookup key is payload[2:34] (the 32-byte digest), which is what is sent to the node."},"total_balance":"150863000","failed_lookups":0,"unique_addresses":1}},"example":null,"exampleRequest":null,"tags":["x402"],"displayCostAmount":"0.001801","displayCostAsset":"USDC","priceDynamic":false,"priceHint":null,"priceStatus":"priced","priceSource":"probe","requiresHandshake":false,"reviewCount":0,"rating":{"score":"0.00","successRate":"0.00","reviews":0,"stars":null,"state":"unrated"},"availabilityStatus":"unknown","priceObserved":null,"sessionDeposit":null,"pricing":{"kind":"static","summary":"$0.001801/call","primary":{"kind":"static","protocol":"x402","network":"base","amountUsd":"0.001801","per":"call","confidence":"exact"},"accepted":[{"kind":"static","protocol":"x402","network":"base","amountUsd":"0.001801","per":"call","confidence":"exact"}]},"paymentMethods":[{"uid":"pm_cAExwa5sVU2hPMh-BHef2","protocol":"x402","methodType":"crypto","chain":"base","mode":"charge","costAmount":"0.001801","costPer":"request","priority":0,"asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","unit":"request","depositMicros":null,"planRef":null}],"brandName":null,"brandSlug":null,"brandBaseUrl":null,"brandDocsUrl":null,"whatItDoes":"Batch-lookup ANM token balances for up to 500 Animica blockchain addresses in a single call","exampleAgentPrompt":"Can you check the ANM balances for these Animica addresses: anim1abc123... and anim1def456...? I want to know the spendable balance and whether each account actually exists on-chain.","exampleUseCases":[{"title":"Monitor developer earnings wallet","prompt":"Check the current ANM balance and spendable balance for my Animica developer wallet anim1xyz789... — I want to know how much I've earned from my deployed functions."},{"title":"Verify balances before bulk payout","prompt":"Look up the ANM balances for all these 50 Animica addresses at once so I can confirm they have enough funds before processing payouts: [anim1aaa..., anim1bbb..., ...]"},{"title":"Audit multi-wallet ANM holdings","prompt":"I need to audit our treasury — can you fetch the total ANM holdings across these 10 Animica addresses and tell me the combined balance in nANM as of the latest block?"}],"resultDescription":"Returns an array of balance records in request order, each containing the address, account digest, balance in nANM (as a decimal string), optional spendable_balance, account existence flag, and any per-address errors. Also includes aggregate fields: unique_addresses count, total_balance, and an as_of block context (head_height, head_hash, entry_head_min/max, consistent flag) plus x402 payment metadata.","failureModes":["Invalid address format returns per-address error field rather than a top-level failure","Addresses not found on-chain have exists=false with zero balance","Exceeding 500 addresses per request may cause rejection or truncation","Network or node unavailability causes full request failure","Malformed bech32m address causes address-level error in response","Payment insufficient (x402 requirement not met) blocks the request entirely"],"whenToPreferThis":"Use this endpoint when you need to look up ANM token balances on the Animica blockchain, especially for batch lookups of up to 500 addresses in one call. It is the canonical on-chain balance source for the Animica network, returning cryptographically anchored block context. Prefer it over any off-chain or cached balance service when accuracy at the latest block head matters.","instructions":null,"reviewSummary":null,"reviewSummaryHighlights":null,"reviewSummaryConcerns":null,"reviewSummaryGeneratedAt":null,"activationCount":0,"lastUsedAt":null,"lastSuccessfullyRanAt":null,"lastHealthCheckAt":"2026-09-14T12:51:43.761Z","isFirstParty":false}