# Hire Prove PASS Pay: XRPL Escrow for MCP Agents

> Source: <https://dev.to/eamwhite1/hire-prove-pass-pay-xrpl-escrow-for-mcp-agents-317l>
> Published: 2026-09-20 18:54:54+00:00

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.

`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.

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

`CancelAfter` (`EscrowCancel`).
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.

```
smithery mcp add xrpl/agent-trust
```

Registry page: [smithery.ai/servers/xrpl/agent-trust](https://smithery.ai/servers/xrpl/agent-trust)

`mcp.json`)
Primary:

```
{
  "mcpServers": {
    "agenttrust": {
      "url": "https://mcp.cryptovault.co.uk/mcp/"
    }
  }
}
```

Fallback (if primary is unreachable):

```
{
  "mcpServers": {
    "agenttrust": {
      "url": "https://xrpl-referee.onrender.com/mcp/"
    }
  }
}
```

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.

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

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

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

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

```
npm install @eamwhite1/agenttrust-sdk
```

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

Open source / issues:

**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.

`smithery mcp add xrpl/agent-trust`` https://mcp.cryptovault.co.uk/mcp/`
Built by Ed White (`eamwhite1`) / Boxclever Media Ltd. Feedback and PRs welcome. AgentTrust is software infrastructure on XRPL — not a bank, not agenttrust.ai.
