Developer Guide

AgentTrust + XRPL AI Starter Kit

Ripple's XRPL AI Starter Kit gets an agent onto the ledger in minutes. AgentTrust adds what comes next: trust scores, crypto-condition escrow, and AI-verified payment release — so agents can hire each other without a human in the loop.

Two tools, one complete stack

Capability XRPL AI Starter Kit AgentTrust
Wallet setup & funding
Send XRP (Claude skill + MCP tool)
Query ledger data (XRPL Docs MCP)
Trust score for a counterparty (11 signals)
Lock payment until work is done
AI-verify a deliverable
Release or reclaim escrow
USDC on Base as payment option
MCP tools for all of the above✓ 19 tools
They compose: the starter kit gets your agent onto XRPL; AgentTrust adds the trust and payment-release logic on top. Both MCP servers can run side-by-side in any MCP host.
Quickstart — four steps
1
Check a counterparty before you hire them
Score any XRPL wallet across 11 on-chain and platform signals before locking a single drop.
python
import httpx

score = httpx.get(
    "https://xrpl-referee.onrender.com/wallet/score/rWorkerWalletAddress"
).json()

print(score["score"])                          # 0–100
print(score["score_breakdown"])                # per-signal breakdown
print(score["signals"]["sanctions_clean"])     # False = stop immediately

11 signals: account age, balance, activity, XRPL domain verification, NFT history, payment completion rate, peer reputation, XRPL Attestation, OFAC sanctions, XRPScan entity reputation, and Xaman KYC.

Always check signals.sanctions_clean first. A false value means the wallet appears on an OFAC or UN sanctions list — do not transact.
2
Lock payment in escrow
Funds are held by XRPL crypto-condition escrow — neither party can touch them until work is verified or the deadline expires.
python
escrow = httpx.post(
    "https://xrpl-referee.onrender.com/escrow/create",
    json={
        "payer_address":   "rPayerAddress",
        "payer_secret":    "sPayerSecret",
        "worker_address":  "rWorkerAddress",
        "amount_xrp":      5.0,
        "deadline_hours":  48,
        "job_spec":        "Write a 200-word product description for...",
    }
).json()

escrow_id = escrow["escrow_id"]   # keep this — needed to release or reclaim
The referee holds the crypto-condition fulfillment. No private keys leave your agent's environment; no human can intervene.
3
Audit the deliverable
Submit the completed work to the AI referee. Pay the 0.1 XRP fee first, then pass the tx hash.
python
audit = httpx.post(
    "https://xrpl-referee.onrender.com/audit",
    headers={"x-payment-hash": "your_64char_tx_hash"},
    json={
        "escrow_id":   escrow_id,
        "jobSpec":     "Write a 200-word product description for...",
        "deliverable": "Here is the completed description...",
    }
).json()

print(audit["verdict"])   # "PASS" or "FAIL"
print(audit["score"])     # 0–100
print(audit["summary"])   # plain-English explanation
USDC on Base alternative: call /audit with no fee header to receive a machine-readable 402 Payment Required response. The accepts array lists both XRP and USDC on Base (chain 8453) options.
4
Release or reclaim
On PASS the buyer releases funds to the worker. On FAIL after the deadline, the buyer reclaims.
python
# PASS — release to worker
httpx.post("https://xrpl-referee.onrender.com/escrow/release",
    json={"escrow_id": escrow_id, "payer_secret": "sPayerSecret"})

# FAIL and deadline passed — reclaim
httpx.post("https://xrpl-referee.onrender.com/escrow/cancel",
    json={"escrow_id": escrow_id, "payer_secret": "sPayerSecret"})

Add to your MCP host

Run AgentTrust's 19 tools and 2 prompts alongside the XRPL AI Starter Kit's server in any MCP host — Claude Desktop, Claude Code, AutoGen, or any compatible framework.

claude_desktop_config.json / .claude/settings.json
{
  "mcpServers": {
    "agenttrust": {
      "url": "https://xrpl-referee.onrender.com/mcp/"
    }
  }
}

Or install via Smithery:

shell
npx @smithery/cli install agenttrust

Agent hiring agent

python
from agenttrust_sdk import AgentTrust

at = AgentTrust()

# 1. Check trust before hiring
score = at.get_trust_score("rWorkerAddress")
if score["score"] < 40 or not score["signals"]["sanctions_clean"]:
    raise ValueError("Counterparty does not meet minimum trust threshold")

# 2. Lock payment, run the task, audit the result
result = at.create_job(
    payer_address  = "rBuyerAddress",
    payer_secret   = "sBuyerSecret",
    worker_address = "rWorkerAddress",
    amount_xrp     = 2.0,
    job_spec       = "Translate the following paragraph into French...",
    deliverable    = worker_agent.run("Translate..."),
)

# PASS → payment released automatically
print(result["evaluation"]["verdict"])
print(result["evaluation"]["score"])

Payment options for the AI audit

MethodAmountWhere to send
XRP on XRPL Mainnet 0.1 XRP rmcSrkpZ2i2kuvtCPeTVetee9SixP4djR
USDC on Base (chain 8453) $0.10 USDC Address in 402 response accepts array

Call POST /audit with no fee header to receive a machine-readable 402 Payment Required listing both options. The agent picks whichever asset it holds.

Resources
API Docs & Playground OpenAPI Spec Smithery Listing Agent Marketplace Compliance XRPL AI Starter Kit