What happened on mainnet
MainnetOne approved mainnet run, 14 Nov 2026, fixed proposals, our own filler; shows integration, not reliability or profitability.
-
Permitted trade
1.00 USDC paid by the mandate → 0.322008 wNEAR
A fixed proposal within the limits, signed through v1.signer (Chain Signatures) and filled.
Fill: 2PzTvX…y1MK
-
Confirmed revocation
key removed at intents.near
The owner calls revoke. The grant's signing key is removed from the verifier, and the removal is confirmed.
Revoke: H7KpB2…ApJSC
-
Same signed order rejected
67.25 s before expiry
A second order, signed before revoke and withheld, is relayed unchanged. intents.near rejects it: the key no longer exists for the mandate account.
Relay: 5R1wKw…3LLw
-
Recovery
3.999999 USDC + 0.422008 wNEAR
Returned to the owner's Intents account, without the agent. Withdrawing to a NEAR wallet is the owner's separate step.
Recover: Cuan44…2qJt, 7ypZiT…rEGj
The withheld order's lifetime, measured on chain
120 s order lifetime (approved policy maximum). Axis: seconds left before the order's deadline.
- S
- Order signed: 83.9 s before the deadline
- R
- Revoke transaction's block: 78.9 s before
- C
- Check after confirmed removal: 70.8 s still left
- X
- Rejection executed at intents.near: 67.25 s before
Shaded: from the revoke transaction's block to the deadline. Without revocation the order could have been relayed and executed anywhere in this window.
node verify.mjs --mainnet re-reads the run from the chain: 54 read-only chain checks passed, 0 failed.
How it works
The agent can only propose. The contract prices the order, checks it against the owner's limits, and only then asks the MPC network to sign it.
- Every signed intent is checked against the key registered for the mandate at intents.near. Revoke removes that key, so every outstanding signed order fails once the removal is confirmed.
- Recover returns the assets to the owner's Intents account. It needs no agent, oracle or MPC.
Watch
Narrated explainer based on recorded evidence; not a certified cut.
Recorded demo cuts from the project's own test gate (not an external certification): short · full
Verify it yourself
- Trade fill: 2PzTvXv9TLzWxV1LP6KFKP9a2mGF4gP4MLwXk1XAy1MK
- Revoke: H7KpB2dxPDDMJK9aYgtRd4yztqSS7nE8ZxZ1sZ5ApJSC
- Rejected relay: 5R1wKwqsfxX18XqqKJ2AakKCM4bT4TTQgYQzFzhW3LLw
- Recover: Cuan44bAPFyyKdrvTeXpjGSEZMsvDymuj7fVjf1K2qJt
- Full evidence page · Owner console (sandbox snapshot) · Repository
make verify
Checks the committed evidence. Offline, no install.
node verify.mjs --mainnet --rpc https://near.drpc.org
Reads the mainnet run from the chain, read-only.
make quick
Replays the story in a local sandbox. Node 24, no Rust.
Limitations
- Revocation takes effect after the key removal is confirmed. Orders executed before that stay executed.
- The sandbox uses labelled test doubles for the MPC signer, the oracle and the tokens, with the real pinned Intents verifier.
- "Certified" means the project's own acceptance gate, not an external audit.
- No guarantee of principal or profit. Limits bound what the agent can sign, not market outcomes.
- The owner and the NEAR and NEAR Intents infrastructure are trusted.
- Revocation's advantage over waiting for expiry is bounded by the order's remaining lifetime (120 s maximum in this run).
- Mainnet evidence is one small run with fixed proposals, not a live model.
- The mainnet trade was filled by our own account, not third-party liquidity or the solver network.
More detail
Hostile requests refused, by layer Sandbox
39 of 39 scripted hostile requests refused in the sandbox, each at the layer that stopped it. Supporting evidence, not a security guarantee.
| Layer | Refused |
|---|---|
| Local validation | 10 |
| Contract method checks | 14 |
| Policy checks | 4 |
| Agent key permission | 10 |
| Verifier | 1 |
Other ways to stop a signed order Sandbox
Withheld, unexpired signed orders were relayed after each owner action. Wait, nonce cancel and key removal used three orders each.
| Owner's action | Withheld orders that still executed (lower is better) |
|---|---|
| Wait for expiry | 3 of 3 |
| Cancel nonces, list incomplete | 1 of 3 |
| Pause flag (our re-implementation of a published pause design) | a withheld order executed after pause |
| Remove the key at intents.near | 0 of 3 |
Glossary
- Function-call key
- A NEAR access key limited to one contract and named methods. The agent's key can only call
propose_order. - Chain Signatures (MPC)
- NEAR's multi-party signing service at
v1.signer. The mandate asks it to sign with a key derived for the grant; the agent never holds that key. - NEAR Intents verifier
- The
intents.nearcontract. It executes a signed intent only if the signing key is registered for the account. - Withheld order
- An order that was signed but not relayed yet. Whoever holds it can relay it until its deadline.
- Revoke vs recover
- Revoke removes the grant's key, so outstanding signed orders fail. Recover moves the assets back to the owner's Intents account.
- Certified
- All 48 required cases passed in one clean run from a fresh clone at revision dd665d1. The project's own gate, not an external audit.