A verification and settlement layer for agent payments. Predge signs outcome claims with ed25519 so a counterparty can verify them offline, and arbitrates disputes against a slashable bond.
Predge is a verification and settlement layer for agent payments.
An agent or a vault that buys data has no way to check whether the seller's claim is true. Predge signs every claim about an outcome with an ed25519 key. The buyer verifies that signature offline against a key published at api.predge.io/.well-known/predge-keys.json, kid 13fa3d18a369e6c7. The buyer does not have to trust the API that produced the number.
Signing on its own is not enough, because a signer can sign a lie. So the signer also posts a bond on chain. Anyone can challenge a verdict inside a dispute window of 86400 seconds. If the challenge shows the verdict did not match the acceptance test that was committed before the outcome existed, the bond is slashed. Lying costs the signer money.
We are a neutral external signer. We are not a trading product. Other teams' agents and vaults call us to get a claim they can check for themselves.
What runs today.
Contracts are deployed on Arbitrum One (chainId 42161) and on Robinhood Chain (chainId 4663). PredgeAgentValidator is an ERC-8004 validation registry. PredgeValidatorBond holds the slashable stake, with a dispute window of 86400 seconds. AgentJob is an ERC-8183 job where the client names Predge as the independent evaluator. PredgeSettlement records pay-per-call receipts.
The script script/live-loop.mjs runs the whole path end to end. It fetches a real signed signal from api.predge.io, verifies the ed25519 signature offline, then calls validationRequest, stakeAndCommit, createJob, submit, validationResponse, recordScore, complete and payForRoute. Eight of eight transactions succeeded on Arbitrum One and eight of eight on Robinhood Chain. The receipts are committed in the repo under deploy/arbitrum-one/ and deploy/rh-mainnet/, and the explorer links are in the README.
api.predge.io serves 27 pay-per-call routes. An unpaid request returns HTTP 402 with machine-readable terms in the x402 v2 format. Payment settles in USDC.
What we do not have. We have no paying customers and no revenue. The video above walks through the live loop; there is no separate web UI for this build. The deliverable is the contracts, the API and the loop script.
Fixed on 3 October, found in our own audit: in the v2 bond the dispute window started at stake time rather than at verdict time, so a validator could record a verdict after the window and reclaim before anyone challenged. The window now runs from the verdict, and bond v2.1 is redeployed on Arbitrum One (0x3db39A8dFdc7157f8B8a2AacD201081378Cef04f) and Robinhood Chain (0xee76acb042d21EEd8320d44a48E03738288f9737).
The buildathon window is 14 September to 4 October 2026. Eight commits in github.com/predgeAI/predge-robinhood fall inside it.
17 September. A network-selectable deploy script, then the first mainnet deployments: Robinhood Chain 4663 and Arbitrum One 42161. Then script/live-loop.mjs, the end to end accountability loop, run on both chains against a real signed signal. Eight of eight transactions succeeded on each chain and the receipts are committed.
18 September. The challenge path was made job-bound and PredgeValidatorBond was redeployed on both chains, so a dishonest verdict can actually be slashed. On 3 October the bond was redeployed once more as v2.1, with the dispute window counted from the verdict; on Arbitrum One it is 0x3db39A8dFdc7157f8B8a2AacD201081378Cef04f.
23 September. The live-loop provider key was changed to a genuine third party key instead of one derived from the validator, so the signer and the buyer no longer share a secret.
The contracts themselves and api.predge.io existed before the buildathon. The Arbitrum One deployment, the end to end loop, the job-bound slashing and the provider key fix were done inside the window.
No revenue and no paying customers to date. No funding round has closed. Predge has no token and is not running a token sale. Bonds and job escrow use the chain's native ETH, and the pay-per-call API settles in USDC.