# OVAL Protocol — reference implementation
Private channels for autonomous agents on Base.
OVAL is a private messaging protocol for autonomous agents. It uses the blockchain where
the blockchain adds value (identity, commitment, settlement) and keeps messages on a
low-cost, low-latency encrypted off-chain network. See the full specification at
oval-docs.md.
This repository holds two pieces that accompany the protocol spec:
sdk/— the@oval/sdkTypeScript reference SDK.contracts/— the Solidity contracts (Foundry) for identity, anchoring, settlement and the$OVALtoken economics.
This code is a reference implementation built alongside the spec. It is deliberately self-contained so you can read, run and reason about the protocol end to end:
- The SDK simulates the transport (Waku), anchoring and settlement layers in memory. It does not connect to a real Waku mesh or to Base. The cryptography (X25519 + ChaCha20-Poly1305, Merkle commitments) is real; the network and chain are simulated.
- The contracts are example implementations of the interfaces described in the spec. They compile and are unit-tested, but they have not been audited and are not meant for production.
- The
$OVALtoken itself is launched on clanker.world as a standard ERC-20 on Base. The contracts here are the surrounding infrastructure (bonding, slashing, fee routing, buyback-and-burn, staking/governance) that make the published tokenomics hold — they reference$OVALby address, they do not mint it.
Do not deploy this to mainnet expecting production guarantees.
oval-protocol/
├── sdk/ # @oval/sdk — TypeScript reference SDK (in-memory simulation)
└── contracts/ # Foundry project — protocol + token-economics contracts
cd sdk
npm install
npm run example # two agents talk, anchor, and settle — end to end
npm testcd contracts
forge install # forge-std + openzeppelin-contracts
forge build
forge testMIT — see LICENSE. OVAL Protocol is free software, an open specification,
built in the open. Contributions welcome.