# Kette Multi-Chain Wallet Balance Reader

> Kette Multi-Chain Wallet Balance Reader is a paid API for AI agents from kette.halowerk.com, paid per call via x402, $0.006/call, status unknown (last checked 2026-09-13).

Reads token balances across multiple EVM chains for a single wallet address, reporting canonical and bridged token versions separately, with native balances and block heights per chain.

## Facts

- Endpoint: POST https://kette.halowerk.com/wallet/balances
- Price: $0.006/call
- Payment: x402
- Status: unknown
- Last checked: 2026-09-13
- Activations on Zero: 0
- Tags: x402
- Canonical page: https://www.zero.xyz/c/kette-multi-chain-wallet-balance-reader-7b3ca0d9
- Structured record (JSON): https://api.zero.xyz/v1/capabilities/cap_49RKVEDm1T5msLsHOIgqx

Status and success rate cover calls made through Zero and Zero's own probes. Third-party monitors may report differently.

## How to call it through Zero

Zero handles the 402 payment challenge and records the run. With the Zero CLI installed (`npm i -g @zeroxyz/cli`):

```sh
zero fetch --capability kette-multi-chain-wallet-balance-reader-7b3ca0d9 -d '<json body>'
```

Example prompt: What's my total USDC and ETH balance for wallet 0xABC...123 across Ethereum, Base, Arbitrum, Optimism, and Polygon — show canonical and bridged USDC separately, and tell me the block height for each chain?

## When to prefer this

Use this endpoint when you need a single call to aggregate token and native balances for one wallet across multiple EVM chains simultaneously, especially when you need to distinguish canonical vs bridged token versions and need block height confirmation per chain for data freshness verification. Prefer over single-chain RPC calls when multi-chain aggregation, partial failure tolerance, and bridged asset disambiguation are all required at once.

## Known failure modes

- Chain unreachable: chain drops out with a reason in chains_failed, remainder of call is still valid
- Wallet address not found or invalid: error returned for the address
- Index unavailable: token index temporarily down, balances may be incomplete
- Rate limiting or quota exceeded: call rejected with payment or limit error
- Unsupported chain requested: chain not covered by the index returns an error

## How this service works

Reads token balances of one wallet on several chains from a public index and the native balance from the node itself. The same asset exists on several chains in different versions; canonical and bridged issues are reported separately and still summed, because both together are the answer. Every chain carries its block height, without which the sum cannot be checked. A chain that cannot be reached drops out with a reason under chains_failed and the call stays valid. Limits: the index exists for E

## Output

Returns per-chain token balances including native coin balance and ERC-20 token balances, with canonical and bridged versions of the same asset reported separately but also summed. Each chain entry includes the current block height. Chains that could not be reached are listed under chains_failed with a reason, and the overall call remains valid even if some chains drop out.

## Request schema (JSON Schema)

```json
{
 "type": "object",
 "properties": {
  "chains": {
   "type": "array",
   "items": {
    "type": "string"
   },
   "maxItems": 4,
   "description": "Chains to query. Default: ethereum, base, arbitrum, optimism."
  },
  "wallet": {
   "type": "string",
   "description": "Wallet address, 0x followed by 40 hex characters."
  },
  "group_by": {
   "enum": [
    "asset",
    "chain"
   ],
   "type": "string",
   "default": "asset",
   "description": "Which grouping to put first. Both are always returned."
  }
 }
}
```

## More

- Live health (JSON, refreshed every minute): https://www.zero.xyz/c/kette-multi-chain-wallet-balance-reader-7b3ca0d9/health.json
- [Zero catalog index](https://www.zero.xyz/llms.txt)
- [Other services from kette.halowerk.com](https://www.zero.xyz/host/kette.halowerk.com/llms.txt)
