A self-healing blockchain: misbehaving validators are jailed and slashed by the protocol, halted networks restart themselves, upgrades never fork. AI agents get native wallets their owners can cap, meter, and revoke.
Every outage class that has taken major networks offline has a protocol mechanism in Zanii, and each one is chaos-tested against real faults.
Participation is read from on-chain certificates. Non-signers are removed at the epoch boundary and the chain continues. One transaction rejoins a repaired node.
Double-signing is provable by anyone. Submit the two conflicting signatures: stake is burned, the validator is tombstoned forever, the reporter is rewarded.
Every node runs under a protocol-aware supervisor with heartbeat monitoring, escalating restarts, and hang detection.
Partitions halt the chain safely. Nodes detect the stall, broadcast recovery beacons, and resume on their own when connectivity returns.
Governance votes on-chain; every supervised node swaps binaries at the agreed height. There are no hard forks to coordinate.
Accounts pay rent, contract storage takes deposits, and fees burn against usage. State cannot grow unboundedly, by design.
Session keys, metered payment streams, and on-chain agent identity are protocol primitives, not bolted-on contracts.
Delegate a key with a hard spend cap and an expiry. The agent pays and streams within its budget, can never escalate its own authority, and dies the moment you revoke it.
Escrow a deposit that drains per second to a provider. Agents pay per call, per token, or per second of service, without a transaction per request.
Verifiable on-chain identity for agents, designed to carry did:key documents from the Zanii identity SDK.
Python
from zanii_chain import AgentWallet
# owner authorized this key: 5 ZAN cap, 7 days
agent = AgentWallet(RPC, AGENT_SEED, OWNER)
agent.pay("zan1provider...", amount_zan=0.25)
agent.open_stream("zan1api...",
rate_zan_per_second=0.001,
deposit_zan=2.0)
tools = agent.openai_tools() # any LLM loopJavaScript
import { Wallet, ZaniiClient } from "@zanii/chain";
const client = new ZaniiClient(RPC);
await client.sessionAuthorize(owner,
agentPubkey, expiry, cap);
await client.streamOpen(owner,
"zan1payee...", rate, deposit);Transactions signed by either SDK are verified and executed by the chain unchanged, proven by cross-language conformance tests.
JavaScript / TypeScript
npm i @zanii/chainPython
pip install zanii-chainEvery failure class that pages an on-call engineer on other chains is a protocol mechanism here. Verify each one against real faults in the chaos suite, not our word.