DEV Community

eamwhite1
eamwhite1

Posted on

Hire Prove PASS Pay: XRPL Escrow for MCP Agents

Hire → Prove → PASS → Pay: XRPL Escrow for MCP Agents

If your coding agent can call tools, it can also hire work — scrape a dataset, draft a PR summary, run a research pass. The hard part is not the prompt. It is paying only when the work is good enough, without you sitting in a chat approving every invoice.

This post is a builder walkthrough of that loop on the XRP Ledger, exposed as an MCP server so Cursor, Claude Desktop, and other MCP clients get the tools without you wiring REST by hand.

Disclosure: I build AgentTrust (Boxclever Media Ltd / eamwhite1). Not the Solana project at agenttrust.ai.

The loop (headline story)

  1. Hire — buyer agent creates a job / vault with a clear task spec and a worker address.
  2. Prove — worker submits the deliverable (text, links, evidence).
  3. PASS — an AI referee scores the work against the original spec (structured verdict + score).
  4. Pay — on PASS, the referee finishes a native XRPL crypto-condition escrow (EscrowFinish). Funds move on-chain. On FAIL, escrow stays locked for revision or later cancel.

NFT delivery-vs-payment (hold-an-NFT-to-release) exists as a secondary proof option. It is not the default story for this article — hire → prove → PASS → pay is.

Why XRPL escrow (short)

XRPL escrow is a base-ledger primitive, not a custom EVM contract you redeploy every week:

  • Lock XRP under a cryptographic condition.
  • Release with the matching fulfillment (EscrowFinish), or reclaim after CancelAfter (EscrowCancel).
  • Fees are tiny relative to most L1 smart-contract gas.

AgentTrust’s referee holds the fulfillment material and only finishes when the evaluation is PASS. You get machine-speed settlement without inventing a new chain.

Install (Smithery-first)

Option A — Smithery (preferred)

smithery mcp add xrpl/agent-trust
Enter fullscreen mode Exit fullscreen mode

Registry page: smithery.ai/servers/xrpl/agent-trust

Option B — HTTP MCP (Cursor / Claude mcp.json)

Primary:

{
  "mcpServers": {
    "agenttrust": {
      "url": "https://mcp.cryptovault.co.uk/mcp/"
    }
  }
}
Enter fullscreen mode Exit fullscreen mode

Fallback (if primary is unreachable):

{
  "mcpServers": {
    "agenttrust": {
      "url": "https://xrpl-referee.onrender.com/mcp/"
    }
  }
}
Enter fullscreen mode Exit fullscreen mode

Then ask the agent in plain English, for example:

Create an XRPL escrow vault for 0.1 XRP. Task: deliver exactly three bullet points under 20 words each covering hire_and_pay, evaluate_escrow_work, and PASS auto-release. When the worker submits, evaluate and finish on PASS.

You should see tools for hire / vault creation, work submission, evaluation, and status — names vary slightly by client, but the story is the same.

What “PASS” looks like on mainnet

We ran the full loop on XRPL mainnet. Vault id AT-DF-0F9A55 evaluated PASS (score 100) and released escrow:

Step Explorer
Protocol fee fee tx
EscrowCreate create tx
EscrowFinish finish tx

Buyer r4oLryibHQk6ajWWgxxuK3WegeJHUrwTqr → seller rfxMVoEWPMkfCJENzZ9bzyrKM9CzSJxTcN. Escrow amount 0.1 XRP; final status RELEASED.

That is the whole pitch in three hashes: lock → PASS → finish.

Prefer SDK or raw HTTP?

MCP is for agents that already speak tools. If you are embedding in Node:

npm install @eamwhite1/agenttrust-sdk
Enter fullscreen mode Exit fullscreen mode

Repos and playground also live behind the referee HTTP API (same fallback host as the MCP). Product home for humans: cryptovault.co.uk.

Open source / issues:

Design notes builders usually ask

Who holds the fulfillment? The referee service — encrypted at rest — finishes only after a PASS verdict. That is an intentional oracle trust tradeoff so agents do not need a human arbiter in the loop. Read the trust model on the site before you put serious size in escrow.

What if the work fails? Escrow stays locked; the verdict includes criteria met/failed so the worker can revise. If nobody delivers, the buyer can cancel after the deadline.

x402? Payment-required responses on fee endpoints let agents discover how to pay the protocol fee without a human reading docs. Useful when the buyer agent is fully autonomous.

NFT DvP? Optional hold-to-release proof for delivery-vs-payment style flows. Use it when the thread is about assets changing hands; keep hire → prove → PASS → pay as the default narrative.

Try it this week

  1. smithery mcp add xrpl/agent-trust
  2. Or point MCP at https://mcp.cryptovault.co.uk/mcp/
  3. Run a tiny mainnet or test job with a ruthless task spec (word limits, required sections).
  4. Open the EscrowFinish on a ledger explorer and paste the link in a comment — I will reply.

Built by Ed White (eamwhite1) / Boxclever Media Ltd. Feedback and PRs welcome. AgentTrust is software infrastructure on XRPL — not a bank, not agenttrust.ai.

Top comments (0)