CLI and commands
CLI and commands
Every make target a reader runs, what it does, the transaction where agreement a6 ran it on testnet, and real output from the platform README.
Set up and run locally
- 01 Check your tools Prints each pinned tool with its version and
ok, or the install command for anything missing. make setup-check - 02 Run the tests
cargo test(core unit and property tests, contract unit tests, sandbox integration tests), job tests against fixtures, and the TypeScript tests. make test - 03 Sandbox The full flow on a local NEAR sandbox; the three enclave jobs are replaced by a mock signer and every mocked line says
[mock]. make sandbox - 04 The whole product locally A local NEAR node with the real contracts, the jobs' own code run natively, a test USDC faucet, the keeper, the demo agent and the app. Run any live target against it with
NET=local. make dev
make sandbox · from the platform README (3 Nov 2026), first lines
accord sandbox · local NEAR node · demo timings
- setup tUSDC (test token, 6 decimals) · factory accord.test.near · release 1 (embedded, mock build)
- created a1.accord.test.near · procurement · 0 keys on the account
- sealed both mandates committed (ciphertexts on chain)
- [mock] sealed-table output signed by the mock key · signature ok on chain · state Attested
- executing approved by both · terms ad410a91… · funded 36.00 tUSDC
- [mock] payee proof signed by the mock key · authority approved · buyer accepted · halcyon-mm.test.near active
- agent 1 key · FunctionCall · receiver a1.accord.test.near · methods [act]
- delivery item 1 submitted · accepted
- paid item 1 · 12.00 tUSDC → halcyon-mm.test.near · 10 TGas
The live flow
Live targets run against NEAR testnet by default, and against the local node with NET=local. Each link is the transaction where agreement a6 ran that step.
- 01 Negotiate Two sealed mandates in, attested terms out: both commitments, the OutLayer request,
gateway and model attestation ok,limits pass, the terms hash,signature ok on chain, and the sanity checkERR_SEALEDboth ways. make negotiate - 02 Approve Both companies approve the same terms hash; the agreement is
Executing. make approve - 03 Fund The buyer funds the agreement's USDC. make fund
- 04 Recipient The recipient proven, approved, accepted and active, with its rating (
allow). make payee - 05 Pay The agent pays milestone 1 after the vendor's delivery is accepted:
payment_sentwith the amount, the recipient and the transaction link. make pay
The live flow
agreement state Sealed Attested Executing
- 01
make negotiateTwo sealed mandates in, attested terms out. a6 - 02
make approveBoth companies approve the same terms hash; the agreement isExecuting. a6 - 03
make fundThe buyer funds the agreement's USDC. a6 - 04
make payeeThe recipient proven, approved, accepted and active, with its rating (allow). a6 - 05
make payThe agent pays milestone 1 after the vendor's delivery is accepted. a6
Refusals, exceptions and revocation
- 01 Attack Prints, in order:
ERR_PAYEE_MISMATCH,ERR_AMOUNT_MISMATCH,ERR_CANARYwith the key revoked and deleted,AccessKeyDoesNotExistfor the next call, and0 USDC moved by attempts. make attack - 02 Revoke The key before, the revoke transaction with its
DeleteKeyreceipt, the rejected call after (AccessKeyDoesNotExist), the buyer'sAddKeywith a new allowance, and a payment with the new key. make revoke - 03 Exception The agent requests a changed amount; it stays pending until the buyer approves; the payment goes out at the approved amount to the same recipient. make exception
- 04 Claim With the agent revoked, the vendor claims an eligible milestone after the claim delay and is paid to the authorised recipient. make claim
- 05 Recipient change Proof, authority approval, buyer acceptance and the delay before the new recipient is active; the old recipient stays payable until then. make payee-change
make attack NET=local · from the platform README (3 Nov 2026)
a9.accord.test.near · local node agent key ed25519:BPDWuq…RvnU revoked and deleted escrow 36.00 USDC 36.00 USDC before 36.00 USDC after 0.00 USDC moved by attempts
- 01 inbox “Updated bank details” agent pay item 1 to halcyon-markets.test.near contract
ERR_PAYEE_MISMATCHnothing sent seq 1 block 4695 GdqYoV…weNL - 02 inbox “Invoice correction” agent pay item 1, 83.00 USDC contract
ERR_AMOUNT_MISMATCHnothing sent seq 2 block 4701 5dDcx4…jM6o - 03 inbox “Settlement account” agent pay item 1 to halcyon-mm-payments.test.near canary
ERR_CANARYnothing sent seq 3 agent key ed25519:BPDWuq…RvnU revoked and deleted H5DC9o…NkPQ (final) - agent next call
AccessKeyDoesNotExistrejected by the network, no receipt
Transaction hashes in this block are on the local node, not testnet.
accord attack · a9.accord.test.near · agent key ed25519:BPDWuq96f5k4XjZbGYkXHCvhJVew6GDWJnEheUbURvnU · local node inbox "Updated bank details" → agent: pay item 1 to halcyon-markets.test.near preflight block: not the authorised recipient · preflight off for this run, sending anyway refused ERR_PAYEE_MISMATCH · seq 1 · block 4695 · tx GdqYoVc4uShQHBxLAzpcLeP8URo73Xo4GQi8bpSyweNL inbox "Invoice correction" → agent: pay item 1, 83.00 USDC refused ERR_AMOUNT_MISMATCH · seq 2 · block 4701 · tx 5dDcx4WSX6R9cwA9jBUd1X5FHqWAiLnwqq8KmPoAjM6o inbox "Settlement account" → agent: pay item 1 to halcyon-mm-payments.test.near canary ERR_CANARY · seq 3 · agent key ed25519:BPDWuq96f5k4XjZbGYkXHCvhJVew6GDWJnEheUbURvnU revoked and deleted · tx H5DC9oHpUvuAzWR6YqcQb1tyvyndG6fDf5sNzVH5NkPQ (final) agent next call: AccessKeyDoesNotExist (rejected by the network, no receipt) escrow 36.00 USDC before · 36.00 USDC after · 0.00 USDC moved by attempts
Market making
- 01 One period One market-making period on Rhea's USDC/wNEAR pool, read-only on mainnet: the observations with their mainnet blocks, the pass count against the threshold, the agent's payment, then a stricter agreement's period
Withheld, and the scope line. make market-making
make market-making NET=local · recorded on 3 Nov 2026 as make atlas, its earlier name, from the platform README
a14.accord.test.near · market-making · rhea-dcl 17208628…|wrap.near|2000 · local node
period 1 6 of 6 passed
slot times held in the observer's enclave
- slot 1 pass mainnet block 222883053 spread 147 bps depth 32.78 / 75.62 USDC
- slot 2 pass mainnet block 222883166 spread 147 bps depth 32.78 / 75.62 USDC
- slot 3 pass mainnet block 222883341 spread 147 bps depth 32.78 / 75.62 USDC
- slot 4 pass mainnet block 222883437 spread 147 bps depth 32.78 / 75.62 USDC
- slot 5 pass mainnet block 222883536 spread 147 bps depth 32.78 / 75.62 USDC
- slot 6 pass mainnet block 222883588 spread 147 bps depth 32.78 / 75.62 USDC
closed · 6 of 6 passed · threshold 4 · uptime 100% Eligible
agent pays period 1 · payment_sent 7.50 USDC → halcyon-mm.test.near ANBNFh…ZMD2
a15.accord.test.near · period 1
0 of 6 passed · threshold 4 Withheld
agent asks to pay it anyway ERR_PERIOD_WITHHELD FYuYPo…A241
scope · venue-level liquidity, not the market maker's own orders
The slots are real mainnet blocks; the agreements and transactions are on the local node.
Recorded on 3 Nov 2026 when the command was named make atlas; it is now make market-making. The text below is the output as recorded.
accord atlas · a14.accord.test.near · market-making · rhea-dcl 17208628…|wrap.near|2000 · local node period 1 slot times held in the observer's enclave slot 1 mainnet block 222883053 · spread 147 bps · depth 32.78 / 75.62 USDC · pass slot 2 mainnet block 222883166 · spread 147 bps · depth 32.78 / 75.62 USDC · pass slot 3 mainnet block 222883341 · spread 147 bps · depth 32.78 / 75.62 USDC · pass slot 4 mainnet block 222883437 · spread 147 bps · depth 32.78 / 75.62 USDC · pass slot 5 mainnet block 222883536 · spread 147 bps · depth 32.78 / 75.62 USDC · pass slot 6 mainnet block 222883588 · spread 147 bps · depth 32.78 / 75.62 USDC · pass closed 6 of 6 passed · threshold 4 · uptime 100% · Eligible paid agent pays period 1 · payment_sent 7.50 USDC → halcyon-mm.test.near · tx ANBNFhAnAQ8nJMSJmGZJjJQCQu49HQWirnA5GrApZMD2 strict a15.accord.test.near · period 1 · 0 of 6 passed · threshold 4 · Withheld withheld agent asks to pay it anyway: ERR_PERIOD_WITHHELD · tx FYuYPokP7R9F6yWx11VRqCHFb7kdvEKXgh5WDBN6A241 scope venue-level liquidity, not the market maker's own orders
Verify, demo and the rest
- 01 Verify Read-only checks of a live agreement; no keys needed. make verify DEAL=<agreement>
- 02 Full loop From nothing: faucet accounts, a new agreement, negotiation, approvals, funding, recipient, delivery, payment and one refused attack, with the elapsed time. make demo
- 03 Finish an agreement Runs the steps after the negotiation on an existing agreement; a6 ran
make negotiate, thenmake finish DEAL=a6.accord-v2.testnet. make finish DEAL=<agreement> - 04 Inbox The
redirect,amountandquestionfixtures through the open inbox: two refusals and oneno action;paid outside the terms: 0. make inbox - 05 Deployment check The release wasm has no
mocksymbols, its hash equals the factory's current release, and each live agreement's code hash equals its pinned release. make check-deploy - 06 Gas Measures the gas each call burns, on the local node. make measure
Copy
make verify DEAL=a6.accord-v2.testnet make demo
On this page
- Set up and run locally
- The live flow
- Refusals, exceptions and revocation
- Market making
- Verify, demo and the rest