Which Animica signature scheme you can actually build on
Which Animica signature scheme you can actually build on. The chain reports three schemes enabled, but two are deprecated commitment stubs the node refuses to make keys for — and 4098 wallets are already stranded on one. Returns the live scheme list plus both id spaces (consensus schemeId and PQ algorithm id 0x1003), key and signature byte sizes, and a usable/not verdict per scheme with its evidence. Buy before generating a key or writing a signer. No model. Free when the chain cannot be read.
6000 (raw units)
price
3
calls / 30d
2
unique payers
2026-08-28
updated
Provider
animica.dev · discovered, not yet claimed by its owner
Payment (x402 accepts[])
[
{
"scheme": "exact",
"network": "eip155:8453",
"payTo": "0x5D17c40FD6b119dc6006C4Ab3C20a917FCaB2aCD",
"asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
"amount": "6000",
"maxTimeoutSeconds": 60
},
{
"scheme": "exact",
"network": "animica:1",
"payTo": "anim1zqpsmegc0qcvzjfukm89xs0zeu3eqyyyel7kelehuszvwfarqypky2gr946ga",
"asset": "ANM",
"amount": "64710957722",
"maxTimeoutSeconds": 60
}
]Output schema
{
"animica": {
"catalog": "https://animica.dev/.well-known/x402",
"content_type": "application/json",
"currency": "USDC",
"description": "Which Animica signature scheme you can actually build on. The chain reports three schemes enabled, but two are deprecated commitment stubs the node refuses to make keys for — and 4098 wallets are already stranded on one. Returns the live scheme list plus both id spaces (consensus schemeId and PQ algorithm id 0x1003), key and signature byte sizes, and a usable/not verdict per scheme with its evidence. Buy before generating a key or writing a signer. No model. Free when the chain cannot be read.",
"documentation": "https://animica.dev/x402#product-chain_signing_policy",
"name": "Animica signature-scheme advisory",
"openapi": "https://animica.dev/x402/openapi.json",
"price": "0.006000",
"product": "chain_signing_policy",
"provider": "Animica",
"terms": {
"amount_atomic": "6000",
"asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
"chain_id": 8453,
"network": "eip155:8453",
"pay_to": "0x5D17c40FD6b119dc6006C4Ab3C20a917FCaB2aCD",
"scheme": "exact"
},
"x402_version": 2
},
"bazaar": {
"discoverable": true,
"info": {
"input": {
"body": {
"include_disabled": true
},
"bodyType": "json",
"method": "POST",
"type": "http"
},
"output": {
"type": "json"
}
},
"schema": {
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"input": {
"properties": {
"body": {
"properties": {
"include_disabled": {
"description": "include schemes the chain reports as disabled (default false). Useful when auditing why a historical transaction verifies but a new one is refused.",
"type": "boolean"
}
},
"type": "object"
},
"bodyType": {
"enum": [
"json"
],
"type": "string"
},
"method": {
"enum": [
"POST"
],
"type": "string"
},
"queryParams": {
"properties": {
"include_disabled": {
"description": "same as body.include_disabled for GET callers (\"1\"/\"true\" to include)",
"type": "string"
}
},
"type": "object"
},
"type": {
"const": "http",
"type": "string"
}
},
"required": [
"type",
"method"
],
"type": "object"
},
"output": {
"properties": {
"example": {},
"type": {
"type": "string"
}
},
"required": [
"type"
],
"type": "object"
}
},
"required": [
"input"
],
"type": "object"
}
},
"discovery": {
"discoverable": true,
"info": {
"input": {
"bodyFields": {
"include_disabled": {
"description": "include schemes the chain reports as disabled (default false). Useful when auditing why a historical transaction verifies but a new one is refused.",
"required": false,
"type": "boolean"
}
},
"bodyType": "json",
"method": "POST",
"queryParams": {
"include_disabled": {
"description": "same as body.include_disabled for GET callers (\"1\"/\"true\" to include)",
"type": "string"
}
},
"type": "http"
},
"output": {
"description": "as_of {chain_id, read_at, policy_hash, policy_source}; recommended {name, consensus_scheme_id, pq_algorithm_id, pq_algorithm_id_hex, why}; schemes[] {name, consensus_scheme_id, enabled_on_chain, enabled_by_code, enabled_by_policy, reason_if_disabled, pubkey_lengths_bytes, signature_lengths_bytes, pq_algorithm_id, pq_algorithm_id_hex, usable_for_new_keys, verdict, detail, annotated}; warnings[]; id_spaces; what_is_measured; annotation_source; how_to_verify; inference {used:false}.",
"type": "json"
}
}
}
}Use it
curl
curl "https://animica.dev/x402/chain/signing-policy" # -> 402 Payment Required, accepts[] lists how to pay # retry with a PAYMENT-SIGNATURE (or PAYMENT header) once paid
JavaScript
const res = await fetch("https://animica.dev/x402/chain/signing-policy");
if (res.status === 402) {
const { accepts } = await res.json();
// pay one of accepts[] via an x402 client, then retry with the payment header
}Python
import httpx
res = httpx.get("https://animica.dev/x402/chain/signing-policy")
if res.status_code == 402:
accepts = res.json()["accepts"]
# pay one of accepts[] via an x402 client, then retry with the payment headerMachine-readable
Everything on this page is also available as clean JSON at /resources/7505.json, and this resource appears in /discovery/resources and /discovery/search.