{"name":"AxonProtocolV3","deployed":true,"address":"0xf5BADE9Fd637D73538a07815509F9F63f69aC0Fc","chain":{"id":421614,"name":"Arbitrum Sepolia","rpc":"https://sepolia-rollup.arbitrum.io/rpc","explorer":"https://sepolia.arbiscan.io"},"currency":{"symbol":"USDG","decimals":6,"address":"0xFFC95faa3d63Cde504a05B567C600B78C0b41892"},"abi":[{"type":"constructor","inputs":[{"name":"usdg_","type":"address"},{"name":"verifier_","type":"address"},{"name":"passkeys_","type":"address"},{"name":"shares_","type":"address"},{"name":"treasury_","type":"address"}],"stateMutability":"nonpayable"},{"type":"error","name":"AlreadyPaid","inputs":[]},{"type":"error","name":"BadParams","inputs":[{"name":"why","type":"string"}]},{"type":"error","name":"BadVerifier","inputs":[]},{"type":"error","name":"CapReached","inputs":[]},{"type":"error","name":"DataMismatch","inputs":[]},{"type":"error","name":"InvalidShortString","inputs":[]},{"type":"error","name":"JudgeAlreadySet","inputs":[]},{"type":"error","name":"JudgeFailed","inputs":[]},{"type":"error","name":"JudgeRejected","inputs":[{"name":"reason","type":"uint8"}]},{"type":"error","name":"NotExpired","inputs":[]},{"type":"error","name":"NotFunder","inputs":[]},{"type":"error","name":"NothingToClaim","inputs":[]},{"type":"error","name":"OwnableInvalidOwner","inputs":[{"name":"owner","type":"address"}]},{"type":"error","name":"OwnableUnauthorizedAccount","inputs":[{"name":"account","type":"address"}]},{"type":"error","name":"PasskeyRejected","inputs":[]},{"type":"error","name":"ReentrancyGuardReentrantCall","inputs":[]},{"type":"error","name":"SafeERC20FailedOperation","inputs":[{"name":"token","type":"address"}]},{"type":"error","name":"ScoreOutOfRange","inputs":[]},{"type":"error","name":"ScoreTooLow","inputs":[]},{"type":"error","name":"SignatureExpired","inputs":[]},{"type":"error","name":"StringTooLong","inputs":[{"name":"str","type":"string"}]},{"type":"error","name":"TaskExpired","inputs":[]},{"type":"error","name":"TaskFull","inputs":[]},{"type":"error","name":"TaskIsClosed","inputs":[]},{"type":"error","name":"TaskNotFound","inputs":[]},{"type":"event","name":"Claimed","inputs":[{"name":"who","type":"address","indexed":true},{"name":"amount","type":"uint256","indexed":false}],"anonymous":false},{"type":"event","name":"EIP712DomainChanged","inputs":[],"anonymous":false},{"type":"event","name":"JudgeSet","inputs":[{"name":"judge","type":"address","indexed":false}],"anonymous":false},{"type":"event","name":"OwnershipTransferred","inputs":[{"name":"previousOwner","type":"address","indexed":true},{"name":"newOwner","type":"address","indexed":true}],"anonymous":false},{"type":"event","name":"OwnershipTransferStarted","inputs":[{"name":"previousOwner","type":"address","indexed":true},{"name":"newOwner","type":"address","indexed":true}],"anonymous":false},{"type":"event","name":"PaymentDeferred","inputs":[{"name":"who","type":"address","indexed":true},{"name":"amount","type":"uint256","indexed":false}],"anonymous":false},{"type":"event","name":"RunPaid","inputs":[{"name":"taskId","type":"uint256","indexed":true},{"name":"contributor","type":"address","indexed":true},{"name":"trajHash","type":"bytes32","indexed":true},{"name":"dataHash","type":"bytes32","indexed":false},{"name":"score","type":"uint16","indexed":false},{"name":"payout","type":"uint256","indexed":false},{"name":"deviationUm","type":"uint32","indexed":false}],"anonymous":false},{"type":"event","name":"TaskClosed","inputs":[{"name":"taskId","type":"uint256","indexed":true},{"name":"refund","type":"uint256","indexed":false}],"anonymous":false},{"type":"event","name":"TaskCreated","inputs":[{"name":"taskId","type":"uint256","indexed":true},{"name":"funder","type":"address","indexed":true},{"name":"reward","type":"uint128","indexed":false},{"name":"slots","type":"uint16","indexed":false},{"name":"expiresAt","type":"uint64","indexed":false}],"anonymous":false},{"type":"function","name":"ACCEPT_FLOOR","inputs":[],"outputs":[{"name":"","type":"uint16"}],"stateMutability":"view"},{"type":"function","name":"acceptOwnership","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"ARM_SO101","inputs":[],"outputs":[{"name":"","type":"uint8"}],"stateMutability":"view"},{"type":"function","name":"claim","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"claimable","inputs":[{"name":"who","type":"address"}],"outputs":[{"name":"","type":"uint256"}],"stateMutability":"view"},{"type":"function","name":"claimableTotal","inputs":[],"outputs":[{"name":"","type":"uint256"}],"stateMutability":"view"},{"type":"function","name":"claimFor","inputs":[{"name":"who","type":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"CLOSE_TYPEHASH","inputs":[],"outputs":[{"name":"","type":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"closeTask","inputs":[{"name":"taskId","type":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"closeTaskBySig","inputs":[{"name":"taskId","type":"uint256"},{"name":"deadline","type":"uint256"},{"name":"sig","type":"bytes"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"createTask","inputs":[{"name":"p","type":"tuple","components":[{"name":"instruction","type":"string"},{"name":"arm","type":"uint8"},{"name":"scenario","type":"uint8"},{"name":"difficulty","type":"uint8"},{"name":"startX","type":"int32"},{"name":"startY","type":"int32"},{"name":"goalX","type":"int32"},{"name":"goalY","type":"int32"},{"name":"goalRadiusUm","type":"uint32"},{"name":"slots","type":"uint16"},{"name":"reward","type":"uint128"},{"name":"parSeconds","type":"uint32"},{"name":"expiresAt","type":"uint64"}]}],"outputs":[{"name":"taskId","type":"uint256"}],"stateMutability":"nonpayable"},{"type":"function","name":"createTaskWithAuthorization","inputs":[{"name":"p","type":"tuple","components":[{"name":"instruction","type":"string"},{"name":"arm","type":"uint8"},{"name":"scenario","type":"uint8"},{"name":"difficulty","type":"uint8"},{"name":"startX","type":"int32"},{"name":"startY","type":"int32"},{"name":"goalX","type":"int32"},{"name":"goalY","type":"int32"},{"name":"goalRadiusUm","type":"uint32"},{"name":"slots","type":"uint16"},{"name":"reward","type":"uint128"},{"name":"parSeconds","type":"uint32"},{"name":"expiresAt","type":"uint64"}]},{"name":"funder","type":"address"},{"name":"validBefore","type":"uint256"},{"name":"v","type":"uint8"},{"name":"r","type":"bytes32"},{"name":"s","type":"bytes32"}],"outputs":[{"name":"taskId","type":"uint256"}],"stateMutability":"nonpayable"},{"type":"function","name":"domainSeparator","inputs":[],"outputs":[{"name":"","type":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"eip712Domain","inputs":[],"outputs":[{"name":"fields","type":"bytes1"},{"name":"name","type":"string"},{"name":"version","type":"string"},{"name":"chainId","type":"uint256"},{"name":"verifyingContract","type":"address"},{"name":"salt","type":"bytes32"},{"name":"extensions","type":"uint256[]"}],"stateMutability":"view"},{"type":"function","name":"getTask","inputs":[{"name":"taskId","type":"uint256"}],"outputs":[{"name":"","type":"tuple","components":[{"name":"funder","type":"address"},{"name":"instruction","type":"string"},{"name":"arm","type":"uint8"},{"name":"scenario","type":"uint8"},{"name":"difficulty","type":"uint8"},{"name":"startX","type":"int32"},{"name":"startY","type":"int32"},{"name":"goalX","type":"int32"},{"name":"goalY","type":"int32"},{"name":"goalRadiusUm","type":"uint32"},{"name":"slots","type":"uint16"},{"name":"runs","type":"uint16"},{"name":"reward","type":"uint128"},{"name":"escrow","type":"uint128"},{"name":"paid","type":"uint128"},{"name":"parSeconds","type":"uint32"},{"name":"createdAt","type":"uint64"},{"name":"expiresAt","type":"uint64"},{"name":"closed","type":"bool"}]}],"stateMutability":"view"},{"type":"function","name":"getTasks","inputs":[{"name":"offset","type":"uint256"},{"name":"limit","type":"uint256"}],"outputs":[{"name":"out","type":"tuple[]","components":[{"name":"funder","type":"address"},{"name":"instruction","type":"string"},{"name":"arm","type":"uint8"},{"name":"scenario","type":"uint8"},{"name":"difficulty","type":"uint8"},{"name":"startX","type":"int32"},{"name":"startY","type":"int32"},{"name":"goalX","type":"int32"},{"name":"goalY","type":"int32"},{"name":"goalRadiusUm","type":"uint32"},{"name":"slots","type":"uint16"},{"name":"runs","type":"uint16"},{"name":"reward","type":"uint128"},{"name":"escrow","type":"uint128"},{"name":"paid","type":"uint128"},{"name":"parSeconds","type":"uint32"},{"name":"createdAt","type":"uint64"},{"name":"expiresAt","type":"uint64"},{"name":"closed","type":"bool"}]}],"stateMutability":"view"},{"type":"function","name":"hashParams","inputs":[{"name":"p","type":"tuple","components":[{"name":"instruction","type":"string"},{"name":"arm","type":"uint8"},{"name":"scenario","type":"uint8"},{"name":"difficulty","type":"uint8"},{"name":"startX","type":"int32"},{"name":"startY","type":"int32"},{"name":"goalX","type":"int32"},{"name":"goalY","type":"int32"},{"name":"goalRadiusUm","type":"uint32"},{"name":"slots","type":"uint16"},{"name":"reward","type":"uint128"},{"name":"parSeconds","type":"uint32"},{"name":"expiresAt","type":"uint64"}]}],"outputs":[{"name":"","type":"bytes32"}],"stateMutability":"pure"},{"type":"function","name":"judge","inputs":[],"outputs":[{"name":"","type":"address"}],"stateMutability":"view"},{"type":"function","name":"MAX_DURATION","inputs":[],"outputs":[{"name":"","type":"uint256"}],"stateMutability":"view"},{"type":"function","name":"MAX_GOAL_RADIUS_UM","inputs":[],"outputs":[{"name":"","type":"uint32"}],"stateMutability":"view"},{"type":"function","name":"MAX_INSTRUCTION_BYTES","inputs":[],"outputs":[{"name":"","type":"uint256"}],"stateMutability":"view"},{"type":"function","name":"MAX_SCORE","inputs":[],"outputs":[{"name":"","type":"uint16"}],"stateMutability":"view"},{"type":"function","name":"MAX_SLOTS","inputs":[],"outputs":[{"name":"","type":"uint16"}],"stateMutability":"view"},{"type":"function","name":"MIN_DURATION","inputs":[],"outputs":[{"name":"","type":"uint256"}],"stateMutability":"view"},{"type":"function","name":"MIN_GOAL_RADIUS_UM","inputs":[],"outputs":[{"name":"","type":"uint32"}],"stateMutability":"view"},{"type":"function","name":"MIN_REWARD","inputs":[],"outputs":[{"name":"","type":"uint128"}],"stateMutability":"view"},{"type":"function","name":"owner","inputs":[],"outputs":[{"name":"","type":"address"}],"stateMutability":"view"},{"type":"function","name":"passkeys","inputs":[],"outputs":[{"name":"","type":"address"}],"stateMutability":"view"},{"type":"function","name":"pendingOwner","inputs":[],"outputs":[{"name":"","type":"address"}],"stateMutability":"view"},{"type":"function","name":"renounceOwnership","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"RUN_TYPEHASH","inputs":[],"outputs":[{"name":"","type":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"runDigest","inputs":[{"name":"taskId","type":"uint256"},{"name":"contributor","type":"address"},{"name":"trajHash","type":"bytes32"},{"name":"dataHash","type":"bytes32"},{"name":"score","type":"uint16"},{"name":"deadline","type":"uint64"}],"outputs":[{"name":"","type":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"RUNS_PER_ACCOUNT","inputs":[],"outputs":[{"name":"","type":"uint8"}],"stateMutability":"view"},{"type":"function","name":"runsOf","inputs":[{"name":"taskId","type":"uint256"},{"name":"who","type":"address"}],"outputs":[{"name":"","type":"uint256"}],"stateMutability":"view"},{"type":"function","name":"setJudge","inputs":[{"name":"judge_","type":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"shares","inputs":[],"outputs":[{"name":"","type":"address"}],"stateMutability":"view"},{"type":"function","name":"stats","inputs":[],"outputs":[{"name":"tasks","type":"uint256"},{"name":"runs","type":"uint256"},{"name":"paidTotal","type":"uint256"},{"name":"escrowTotal","type":"uint256"}],"stateMutability":"view"},{"type":"function","name":"submitRun","inputs":[{"name":"r","type":"tuple","components":[{"name":"taskId","type":"uint256"},{"name":"contributor","type":"address"},{"name":"trajHash","type":"bytes32"},{"name":"dataHash","type":"bytes32"},{"name":"score","type":"uint16"},{"name":"deadline","type":"uint64"},{"name":"verifierSig","type":"bytes"},{"name":"packed","type":"bytes"},{"name":"auth","type":"tuple","components":[{"name":"r","type":"bytes32"},{"name":"s","type":"bytes32"},{"name":"challengeIndex","type":"uint256"},{"name":"typeIndex","type":"uint256"},{"name":"authenticatorData","type":"bytes"},{"name":"clientDataJSON","type":"string"}]}]}],"outputs":[{"name":"payout","type":"uint256"}],"stateMutability":"nonpayable"},{"type":"function","name":"TASK_AUTH_TAG","inputs":[],"outputs":[{"name":"","type":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"taskAuthNonce","inputs":[{"name":"p","type":"tuple","components":[{"name":"instruction","type":"string"},{"name":"arm","type":"uint8"},{"name":"scenario","type":"uint8"},{"name":"difficulty","type":"uint8"},{"name":"startX","type":"int32"},{"name":"startY","type":"int32"},{"name":"goalX","type":"int32"},{"name":"goalY","type":"int32"},{"name":"goalRadiusUm","type":"uint32"},{"name":"slots","type":"uint16"},{"name":"reward","type":"uint128"},{"name":"parSeconds","type":"uint32"},{"name":"expiresAt","type":"uint64"}]},{"name":"funder","type":"address"},{"name":"validBefore","type":"uint256"}],"outputs":[{"name":"","type":"bytes32"}],"stateMutability":"pure"},{"type":"function","name":"taskCount","inputs":[],"outputs":[{"name":"","type":"uint256"}],"stateMutability":"view"},{"type":"function","name":"trajectoryUsed","inputs":[{"name":"trajHash","type":"bytes32"}],"outputs":[{"name":"","type":"bool"}],"stateMutability":"view"},{"type":"function","name":"transferOwnership","inputs":[{"name":"newOwner","type":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"treasury","inputs":[],"outputs":[{"name":"","type":"address"}],"stateMutability":"view"},{"type":"function","name":"usdg","inputs":[],"outputs":[{"name":"","type":"address"}],"stateMutability":"view"},{"type":"function","name":"verifier","inputs":[],"outputs":[{"name":"","type":"address"}],"stateMutability":"view"}],"contracts":[{"name":"AxonProtocolV3","address":"0xf5BADE9Fd637D73538a07815509F9F63f69aC0Fc","does":"Task escrow in USDG. A funder posts a task with one signature (EIP-3009); a run is paid only when the verifier's signature, the operator's own passkey over that exact run, and the physics judge all agree. Pays the operator, issues their corpus shares, and refunds whatever is unspent at the deadline.","source":"contracts/src/AxonProtocolV3.sol","surface":"/hub, /post, /station, /task, /run, /portfolio, /leaderboard"},{"name":"PasskeyRegistryV2","address":"0xda85Df4F3b8cd40c0484b9892488c149eea4E45c","does":"Binds a device passkey (P-256) to an address, registered by a signature so a relayer can pay the gas, and verifies WebAuthn assertions with OpenZeppelin's WebAuthn library.","source":"contracts/src/PasskeyRegistryV2.sol","surface":"/passkey, /station"},{"name":"CorpusSharesV2","address":"0x6A4ACe17c5cEef07297d8B3f29b02e1ed3958d39","does":"The corpus as shares, held only by passkey holders and minted by AxonProtocolV3 at each payout. Data sales pay USDG straight into it; anyone can call distribute(), and every holder claims pro rata.","source":"contracts/src/CorpusSharesV2.sol","surface":"/portfolio, /corpus-token, /agents"},{"name":"SalesLog","address":"0xaaEB9d0946eee34F91Df7b3FF5a3B666c708C374","does":"Every corpus sale to an agent, with the sha256 of the bytes served, so a buyer can check its copy on chain.","source":"contracts/src/SalesLog.sol","surface":"/agents, /api/agent/sales"},{"name":"RunJudge","address":"0x55D2a407a2421C42558c772159ffFca766b4517e","does":"Replays a run's physics on chain: the SO-101's forward kinematics, the payload moving only in a closed jaw, the right start and the final placement. AxonProtocolV3 refuses to pay a run it rejects.","source":"stylus/run-judge","surface":"/station, /contracts"},{"name":"USDG (Paxos)","address":"0xFFC95faa3d63Cde504a05B567C600B78C0b41892","does":"Global Dollar, Paxos's regulated stablecoin. Every bounty, payout, data sale and dividend here is USDG.","source":"Paxos","surface":"everywhere an amount is shown"}],"registry":"https://arbitrum.thenar.io/contracts"}