Private escrow for AI agent work on Beam: verifiable delivery, worker collateral, M of N disputes.
Copy the AI prompt to install this server into Claude Code, Cursor, or another agent β or use 1-click editor setup below.
π‘ Paste the JSON block into your client's configuration file under mcpServers, then restart the application.
Private escrow and settlement for AI and other compute on Beam.
Pay for AI and compute work privately. Verifiable delivery, escrowed payment, on chain dispute resolution. No public record of amounts or parties.
Website Β· AI and compute use cases Β· Latest Release Β· Live Explorer
"Pay privately. Verify on chain. Dispute when needed."
An AI agent takes a job, privately subcontracts two parts to other agents, reviews and pays each, then settles with the client, all on Beam mainnet with amounts and parties hidden the whole way.
Public payment rails leak. Every contract, every payment, every counterparty becomes part of a permanent searchable record. For AI inference, model training, scientific compute, work that involves proprietary inputs, private data, or competitive operations, that visibility is a dealbreaker.
Idios solves the payment and settlement privacy problem. Payment is locked in private escrow on Beam. The worker locks collateral. Settlement happens on chain with full privacy of amounts and parties. Beam's MimbleWimble protocol hides amounts and identities at the base layer. Idios is what you get when you build escrow on that foundation.
ERC-8183 standardises the same starting primitive on Ethereum, a Job with escrowed payment for AI agent work. Idios is a separate and more complete protocol on Beam, not a port of it. It adds worker collateral and working dispute resolution, neither of which ERC-8183 has today, and it settles privately with amounts and parties hidden. Idios uses its own roles: Requester, Worker, and Arbitrator.
Two settlement modes, picked per contract at creation time.
For deterministic work where the correct output is a specific hash known in advance.
No arbitrator involvement. Settlement is mechanical once hashes match.
For non deterministic or open ended work where the requester needs to review the output.
Funds always flow to the right party. Arbitrators decide who wins a dispute and earn the dispute fee for the work of judging it, but never touch the payment or collateral.
Idios uses a two phase claim pattern. Authorisation steps (approve, claim_after_timeout, and dispute resolution by M of N voting) set the contract status but never move funds. The beneficiary then calls claim to actually receive the payout, signed by their own key. This works around a Beam BVM constraint where a single kernel cannot cleanly sign for one party while routing funds to another.
Live on Beam mainnet β
Verified resolution paths (real funds on mainnet during development; the job IDs below are from the v5 and v6 deployments that preceded the in place M of N upgrade):
| Path | Status flow | Job |
|---|---|---|
| Mode A hash match | Open β Active β Closed (single tx) | 22224 |
| Mode B approve | Open β Active β AwaitingApproval β Settled β Closed | 11112, 33335 |
| Mode B dispute, resolved to worker | Open β Active β AwaitingApproval β Disputed β ResolvedToBob | 11113 |
| Mode B dispute, resolved to requester | Open β Active β AwaitingApproval β Disputed β ResolvedToAlice | 11114 |
| Mode B timeout | Open β Active β AwaitingApproval β Settled β Closed | 11115 |
| Mode B arbitrator timeout void | Open β Active β AwaitingApproval β Disputed β Voided | 20002 |
| Role | Description |
|---|---|
user | Requester (Alice) or worker (Bob) interacting with the contract lifecycle. Workers can also hold a reputation bond (v2). |
arbitrator | Member of the M of N arbitrator registry. Registers with a stake (BEAM only, 10 BEAM minimum, admin co signed in v2), votes on disputed contracts, and claims a reward share |
manager | Deploy and view contract params (one shot, used during contract setup) |
treasury | Protocol treasury, set at deploy from the deploying wallet. Collects forfeited worker collateral from Active refunds, dispute fees from voided disputes, and slashed worker bonds (v2) via sweep and slash_sweep. |
user actions
| Action | Description |
|---|---|
create_a | Create a Mode A contract (Hash verified Settlement). Locks payment. |
create_b | Create a Mode B contract (Reviewed Settlement). Locks payment, sets review window and dispute fee. |
commit | Worker locks collateral, status moves to Active. |
submit_delivery | Worker submits result hash. In Mode A, pays out atomically if the hash matches and the contract moves straight to Closed. In Mode B, sets AwaitingApproval. |
approve | Requester approves Mode B delivery, status moves to Settled (no funds yet). |
dispute | Requester disputes Mode B delivery, locks dispute fee, status moves to Disputed. |
claim_after_timeout | Worker claims after review window expires (Mode B), status moves to Settled. |
claim | Beneficiary collects funds (payment + collateral) from a Settled, ResolvedToBob, or ResolvedToAlice contract. A Settled claim moves the status to Closed. A Resolved contract keeps its 6/7 status forever; the winner_paid flag in view_dispute records the payout. Mode A contracts pay out automatically and cannot be claimed. |
refund | Requester reclaims their payment from an expired contract (Open or Active). On the Active path the worker's collateral is forfeited to the treasury. Status moves to Refunded. |
void_dispute | Permissionless. Anyone can void a dispute the arbitrator never resolved, once arbitrator_timeout_blocks have passed since it was filed. Status moves to Voided. |
void_claim_requester | Requester reclaims their payment from a Voided contract. |
void_claim_node | Worker reclaims their collateral from a Voided contract. |
view_job | Read current job state. |
view_dispute | Read the M of N dispute record for a job: frozen N and threshold, tallies, resolution, and whether the worker's bond is encumbered by it (v2). |
worker_register | Lock a standing reputation bond (v2). BEAM only, any amount, keyed to the worker's contract pubkey. Slashable: losing an arbitrated dispute forfeits the whole bond to the treasury. |
worker_deregister | Begin withdrawing the reputation bond. Starts the reclaim cooldown. |
worker_reclaim | Recover the bond in full after the cooldown (= arbitrator_timeout_blocks). Halts while any open dispute encumbers the bond, and forever if the bond was slashed. |
view_worker_bond | Read a worker bond: stake, state, encumbrance count. Defaults to your own key; pass worker_pk to inspect another worker's bond. |
get_key | Returns the user's pubkey for this contract. (Worker shares this with requester before create.) |
arbitrator actions (M of N, v2 hardened registry)
No reviews yet β be the first to share how this listing worked for you.
Showcase your server listing on GitHub or your project documentation. Embed this dynamic SVG badge to highlight official listing status and live engagement.
[](https://allmcps.com/mcp/idios)<a href="https://allmcps.com/mcp/idios"><img src="https://allmcps.com/api/badge/idios?style=directory" alt="Idios on AllMCPs" /></a>