# EVM Multi-Chain Wallet & Contract State

> EVM Multi-Chain Wallet & Contract State is a paid API for AI agents from agent.connskill.com, paid per call via x402, $0.05/call, status unknown (last checked 2026-09-16).

Returns native balance, nonce, EOA/contract status (EIP-7702-aware), and ERC-20 token balances for any address on one of five EVM chains in a single call

## Facts

- Endpoint: POST https://agent.connskill.com/chain/v1/chain-state
- Price: $0.05/call
- Payment: x402
- Status: unknown
- Last checked: 2026-09-16
- Activations on Zero: 0
- Tags: x402
- Canonical page: https://www.zero.xyz/c/evm-multi-chain-wallet-contract-state-1ddbf816
- Structured record (JSON): https://api.zero.xyz/v1/capabilities/cap_e9gQhp2D_W3lHJxzLjgGH

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 evm-multi-chain-wallet-contract-state-1ddbf816 -d '<json body>'
```

Example prompt: What's the ETH balance, nonce, and USDC balance for wallet 0xAbC1234...5678 on Base? Also tell me whether it's an EOA or a contract.

## When to prefer this

Choose this endpoint when you need to aggregate native balance, nonce, account type, and multiple ERC-20 balances for a single address in one round-trip across any of the five major EVM chains (Base, Ethereum, Arbitrum, Optimism, Polygon). It is EIP-7702-aware, making it superior to basic eth_getBalance calls when you need to distinguish delegated EOAs from standard EOAs or contracts. Prefer it over separate RPC calls when you want a consolidated snapshot of on-chain wallet state without managing multiple provider connections.

## Known failure modes

- Invalid or malformed address (not a 40-hex 0x string) returns an error
- Unsupported chain name (not one of base, ethereum, arbitrum, optimism, polygon) returns a validation error
- More than 10 token addresses in the tokens array rejected
- RPC timeout or chain node unavailability causes a 5xx error
- Payment not provided or insufficient USDC causes a 402 response

## How this service works

Wallet/contract state on 5 EVM chains in one call: native balance, nonce, EOA-or-contract (EIP-7702-aware), ERC-20 balances with symbol and decimals

## Output

A JSON object with a 'native' sub-object (native token balance and nonce), an account 'status' string indicating EOA, contract, or EIP-7702-upgraded account, and a 'tokens' array with each requested ERC-20 contract's balance, symbol, and decimals.

## Request schema (JSON Schema)

```json
{
 "type": "object",
 "required": [
  "address",
  "chain"
 ],
 "properties": {
  "chain": {
   "type": "string",
   "description": "One of: base, ethereum, arbitrum, optimism, polygon"
  },
  "tokens": {
   "type": "array",
   "description": "ERC-20 contracts to read balances for, max 10"
  },
  "address": {
   "type": "string",
   "description": "Wallet or contract address (0x…, 40 hex)"
  }
 }
}
```

## Response schema (JSON Schema)

```json
{
 "type": "object",
 "properties": {
  "native": {
   "type": "object"
  },
  "status": {
   "type": "string"
  },
  "tokens": {
   "type": "array"
  }
 }
}
```

## More

- Live health (JSON, refreshed every minute): https://www.zero.xyz/c/evm-multi-chain-wallet-contract-state-1ddbf816/health.json
- [Zero catalog index](https://www.zero.xyz/llms.txt)
- [Other services from agent.connskill.com](https://www.zero.xyz/host/agent.connskill.com/llms.txt)
