# Animica Chain Identity Verifier

> Animica Chain Identity Verifier is a paid API for AI agents from animica.dev, paid per call via x402, $0.001801/call, status unknown (last checked 2026-09-14).

Returns the native and EVM-facade chain IDs for the Animica L1, plus genesis hash, fork ID, policy hash, and consensus checkpoints, with optional explicit match verdicts against caller-supplied expectations.

## Facts

- Endpoint: POST https://animica.dev/x402/chain/identity
- Price: $0.001801/call
- Payment: x402
- Status: unknown
- Last checked: 2026-09-14
- Activations on Zero: 0
- Tags: x402
- Canonical page: https://www.zero.xyz/c/animica-chain-identity-verifier-2b7b36c6
- Structured record (JSON): https://api.zero.xyz/v1/capabilities/cap_VwJx2PcTlx2N5ZVH6uAl2

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 animica-chain-identity-verifier-2b7b36c6 -d '<json body>'
```

Example prompt: I'm about to sign a transaction on Animica mainnet — can you verify whether chain ID 149 is the right one to use, and also confirm the genesis hash is 0xabc123… so I know I'm on the real network?

## When to prefer this

Use this endpoint when you need authoritative, live chain identity data for the Animica L1 — especially when porting Ethereum tooling that conflates the native chain ID (1) with the EVM facade ID (149), or when setting up a light client that must pin against real genesis and checkpoint hashes. Prefer this over static documentation when you need a live, attested answer with explicit match verdicts.

## Known failure modes

- Genesis hash mismatch reported as hard failure if expect_genesis_hash does not match live chain
- Network unreachable or node down returns service error
- Malformed expect_genesis_hash (not 0x-prefixed 32-byte hex) causes validation error
- Payment failure (HTTP 402) if USDC balance is insufficient

## How this service works

Verify you are on real Animica mainnet, and which chain id to sign with. Animica answers that question with TWO numbers: the native chain is id 1, while the EVM compatibility facade reports 149 (eth_chainId 0x95, net_version "149"). A wallet porting Ethereum tooling signs with the wrong one. Returns both, the disagreement named, plus genesis hash, fork id, policy hash and the built-in consensus checkpoints a light client pins against. All read live. No model.

## Output

Returns both the native Animica chain ID (1) and the EVM compatibility facade chain ID (149 / 0x95), the named disagreement between them, the live genesis hash, fork ID, policy hash, and built-in consensus checkpoints for light client pinning. When an expected chain ID or genesis hash is supplied, also returns explicit matches_native and matches_evm_facade verdict fields.

## Request schema (JSON Schema)

```json
{
 "type": "object",
 "properties": {
  "expect_chain_id": {
   "type": "integer",
   "description": "the chain id you BELIEVE you are talking to. When given, the response carries an explicit matches_native / matches_evm_facade verdict instead of leaving you to compare two numbers yourself — which is the comparison people get wrong."
  },
  "expect_genesis_hash": {
   "type": "string",
   "description": "the genesis hash you have pinned (0x… 32 bytes). Compared byte-for-byte; a mismatch is reported as a hard failure, since it means this is not the chain you think it is."
  }
 }
}
```

## Response schema (JSON Schema)

```json
{
 "type": "json"
}
```

## More

- Live health (JSON, refreshed every minute): https://www.zero.xyz/c/animica-chain-identity-verifier-2b7b36c6/health.json
- [Zero catalog index](https://www.zero.xyz/llms.txt)
- [Other services from animica.dev](https://www.zero.xyz/host/animica.dev/llms.txt)
