Contracts
Every contract this protocol has deployed on Monad Testnet, what it does, and the surface that uses it. Addresses, code size, balances and the readings below are called at the moment this page is requested — nothing here is copied from a document.
AxonProtocolV2
0x17731731c6652770CE630e29b62791DC2CED5f38 →Tasks, escrow, trajectories, policies and cap tables. Records a run and pays for it in one call, in MON. submitTrajectoryFor is permissionless: anyone may pay the gas for someone else's run, because the verifier signature binds the task, the contributor, the hash and the score, so relaying moves who pays and forges nothing.
Monad Written for parallel execution: each operator's submit writes only its own shard of the slot counter, so two runs on one task do not touch the same storage and settle side by side in one block.
TrajectoryCertificate
0x0604C7afC6E17Cbe59644040C2373C97a56439EA →Soulbound token naming a run's recorder. Conveys no rights over the data.
ContributionRecord
0xd2527d7e737A63118036164A9F1D4dB3CDc3e27E →A running total of work recorded, in a shape wallets already read. Cannot be transferred, sold or redeemed.
- Work recorded
- 0 CONTRIB
CorpusShares
0xAE1F24fE0F759BEF941eA2Df2dcb23dc3e130fc7 →The corpus as shares. Only an operator admitted with a passkey can hold one; each paid run issues its share by score, and dividends from corpus sales pay whoever held at a record date fixed in advance.
Every corpus sale to an agent, with the sha256 of the bytes served, so a buyer can check its copy on chain.
Monad Kept in storage as well as emitted: Monad's public endpoints answer a log query only a hundred blocks wide, so a log that lived only in events could not be read back.
Pays MON for bringing someone who then does the work, not for signing up.
- Bounty per referral
- 0.002 MON
- Claims the pot can still pay
- 5
- Paid out
- 0 MON
- Cap per referrer
- 10
A funded pot for task 1. Contributors enter themselves and it splits by work the protocol recorded.
- Funds task
- #1
- Entrants
- 0
- Total weight
- 0
- Settled
- not yet
- Closes
- 2026-09-26
A MON treasury the protocol's contributors vote to spend on new tasks, weighted by work recorded.
- Proposals
- 0
- Voting period
- 72 h
- Weight to propose
- 4000
ConfidentialPayouts
0x4CC9Dd3b85Fa3E1D69f365f26eD80c9c1068A4A0 →ElGamal on secp256k1. Earnings add up on chain without the chain holding the number.
CorpusAccess
0xD0ad261D8d7a3D5a1D0Bf6Ed6EbE4BAD691b4AA1 →Time-boxed read access to the corpus, paid in MON by the day. Sells time, not rights.
CorpusManifest
0x692190b7955821C050FFFbC7741D31a65Ecd5c48 →The published shape of the corpus a licence buys.
PasskeyRegistry
0xE344179839c9cA2101Ad930BD49268103F3945a9 →Binds a secp256r1 public key to an address and verifies signatures through the P-256 precompile at 0x0100.
Monad Monad's P-256 precompile (EIP-7951) at 0x0100 checks a browser passkey's signature on chain.
Every transaction sent to the protocol contract, from Monadscan’s index rather than from anything we store — including the ones that reverted, which a ledger of accepted runs by definition cannot show. The method is resolved from the selector against the deployed contract’s own compiler artifact rather than against the pruned ABI this interface calls — which is why submitTrajectoryFor and fundTask appear here by name. They are real functions of this contract that no page sends, made by scripts and other callers, and against the interface’s ABI they read as unrecognised selectors.
Monadscan needs an Etherscan API key, and this server has none. Set ETHERSCAN_API_KEY. Everything above is read straight from the node and is unaffected.
CorpusShares, first deployment
0xd19688FafB863238D9BAf880f71A2A9b968DfCcd →Replaced the same day. A dividend declared while no share existed could never be paid or returned, and 0.01 MON declared that way during testing is still in it. The current CorpusShares can reclaim one.
AxonProtocol v1 on Monad Testnet
0x89384f46e430F37DB61Afb98810eba995C0d6Ed4 →The Monad Blitz Hyderabad deployment. Its runs are real, paid in MON, and verifiable on Monadscan.
AxonProtocolV2 on Avalanche Fuji
0x909d9318d602Cb4Ba84D2851Ab9BFf60DB7077C0 →Where the product was built out between Blitz and the move back. Its runs are real, paid in AVAX, and verifiable on Snowtrace.
Source for every entry is in this repository and verified on Sourcify as exact_match. The ABI the app calls is generated from the compiler’s own artifacts by scripts/gen-abi.mjs, so it cannot describe a function the deployed contract does not have. /api/contract returns the protocol contract’s address, chain and full ABI.