Skip to content
verify mcp Beta VerifyMCP is currently in beta. If you notice any issues, get in touch and we’ll put it right.

io.github.eamwhite1/xrpl-referee

REMOTE · XRPL-REFEREE.ONRENDER.COM · SCANNED SEP 20

Trust and payment layer for the agentic economy on the XRP Ledger.

0 this week 79 Trust /100

Recent critical change

Authorization (2 Sept 2026). See the changelog before you install this server.

Trust breakdown (7 categories)

How this component scores in each security and reliability category. Every signal is checked automatically against the live server, and we only credit what we can confirm. How we score → Why this is hard to score →

Endpoint Security57
Transport & Reachability100
Schema Quality & AI Usability77
  • 100% of prompts and resources have a non-trivial description (not blank, and not just the item's name).Pass
  • AI-judged instruction clarity (excellent).Pass
  • Context-footprint check failed: tool/resource definitions use about 11180 tokens (~266/item across 42 items; 42 tools + 0 resources), over budget; trim descriptions and params. See how to fix → Fail
  • Usage-examples check failed: none of the tools include examples. See how to fix → Fail
Stability & Change Management100
  • No destabilizing schema changes in the last 30 days.Pass
Tool Coverage100
  • 100% of tools have a non-trivial description (not blank, and not just the tool's name).Pass
  • 99% of tool parameters carry a description.Partial
  • Structured output schemas are declared (100% of tools); any adoption earns full credit.Pass
Tool Safety100
  • No prompt-injection markers were found in the server instructions, tool names or descriptions we captured.Pass
  • All 2 tool(s) whose name or description implies an irreversible operation declare an MCP destructiveHint annotation.Pass
  • An AI judge read all 43 captured unit(s) of tool text and found none that tries to manipulate the model reading it.Pass
Capabilities100
  • Implements a current MCP spec version (2026-07-28).Pass
Install

How do I install the io.github.eamwhite1/xrpl-referee MCP server?

io.github.eamwhite1/xrpl-referee is a hosted endpoint at https://xrpl-referee.onrender.com/mcp, so there is nothing to install locally. Ready-made configuration for Claude, Cursor, VS Code, Codex and 5 more is on this page, copied from each client's own documentation.

remote · xrpl-referee.onrender.com

# add to Claude Code
claude mcp add --transport http eamwhite1-xrpl-referee 'https://xrpl-referee.onrender.com/mcp'
// .cursor/mcp.json
{
  "mcpServers": {
    "eamwhite1-xrpl-referee": {
      "url": "https://xrpl-referee.onrender.com/mcp"
    }
  }
}
// .vscode/mcp.json
{
  "servers": {
    "eamwhite1-xrpl-referee": {
      "type": "http",
      "url": "https://xrpl-referee.onrender.com/mcp"
    }
  }
}
# ~/.codex/config.toml
[mcp_servers.eamwhite1-xrpl-referee]
url = "https://xrpl-referee.onrender.com/mcp"
// opencode.json
{
  "$schema": "https://opencode.ai/config.json",
  "mcp": {
    "eamwhite1-xrpl-referee": {
      "type": "remote",
      "url": "https://xrpl-referee.onrender.com/mcp",
      "enabled": true
    }
  }
}
# add to OpenClaw
openclaw mcp add eamwhite1-xrpl-referee --url 'https://xrpl-referee.onrender.com/mcp' --transport streamable-http
# ~/.hermes/config.yaml
mcp_servers:
  eamwhite1-xrpl-referee:
    url: "https://xrpl-referee.onrender.com/mcp"
// ~/.netclaw/config/netclaw.json
{
  "McpServers": {
    "eamwhite1-xrpl-referee": {
      "Transport": "http",
      "Url": "https://xrpl-referee.onrender.com/mcp"
    }
  }
}
# add to Vellum
assistant mcp add eamwhite1-xrpl-referee -t streamable-http -u 'https://xrpl-referee.onrender.com/mcp'
// mcp.json
{
  "mcpServers": {
    "eamwhite1-xrpl-referee": {
      "type": "http",
      "url": "https://xrpl-referee.onrender.com/mcp"
    }
  }
}

The mcpServers block is a cross-client convention. Remote transports vary, so check your client's docs.

Changelog

Every change we have recorded for this component, newest first. Security-relevant changes are always shown. ▲ marks a change for the better, ▼ a change for the worse; unmarked changes are neutral.

  • 20 Sept 26 0
    • The server rewrote its instructions, which are the text every model session reads security
    • Tool “create_escrow_vault” rewrote its description, which is the text the model reads security
    • Tool “evaluate_escrow_work” rewrote its description, which is the text the model reads security
    • Tool “fund_xrpl_wallet_via_coinbase” rewrote its description, which is the text the model reads security
    • Tool “hire_and_pay” rewrote its description, which is the text the model reads security
    • Schema quality: 238 → 266 functional
    • New tool “purchase_extra_attempt” functional
    • “create_escrow_vault” added an optional parameter “nft_dvp” cosmetic
    • “create_escrow_vault” added an optional parameter “proof_policy” cosmetic
    • “create_escrow_vault” added an optional parameter “require_consensus” cosmetic
    • “create_escrow_vault” added an optional parameter “require_nft_proof” cosmetic
    • “create_escrow_vault” added an optional parameter “required_domain” cosmetic
    • “create_escrow_vault” added an optional parameter “required_nft_issuer” cosmetic
    • “create_escrow_vault” added an optional parameter “required_vc_issuer_did” cosmetic
    • “create_escrow_vault” added an optional parameter “required_vc_type” cosmetic
    • “hire_and_pay” added an optional parameter “nft_dvp” cosmetic
    • “hire_and_pay” added an optional parameter “proof_policy” cosmetic
    • “hire_and_pay” added an optional parameter “require_consensus” cosmetic
    • “hire_and_pay” added an optional parameter “require_nft_proof” cosmetic
    • “hire_and_pay” added an optional parameter “required_domain” cosmetic
    • “hire_and_pay” added an optional parameter “required_nft_issuer” cosmetic
    • “hire_and_pay” added an optional parameter “required_vc_issuer_did” cosmetic
    • “create_escrow_vault” reworded the description of “fee_hash” cosmetic
    • “fund_xrpl_wallet_via_coinbase” reworded the description of “xrpl_address” cosmetic
  • 19 Sept 26 0
    • The server rewrote its instructions, which are the text every model session reads security
    • Tool “check_wallet_kyc” rewrote its description, which is the text the model reads security
    • Tool “get_wallet_trust_score” rewrote its description, which is the text the model reads security
    • Server version: 4.0.3 → 4.0.5 functional
    • New tool “start_wallet_kyc” functional
  • 16 Sept 26 0
    • The server rewrote its instructions, which are the text every model session reads security
    • Tool “audit_task” rewrote its description, which is the text the model reads security
    • Tool “create_agent_wallet” rewrote its description, which is the text the model reads security
    • Tool “create_escrow_vault” rewrote its description, which is the text the model reads security
    • Tool “evaluate_escrow_work” rewrote its description, which is the text the model reads security
    • Tool “lookup_nft_issuer” rewrote its description, which is the text the model reads security
    • Schema quality: 8066 → 9617 functional
    • New tool “assess_counterparty_and_job” functional
    • New tool “explain_agenttrust_trust_model” functional
    • New tool “get_fees” functional
    • New tool “get_wallet_setup_guide” functional
    • New tool “recommend_release_conditions” functional
    • “create_escrow_vault” added an optional parameter “require_ai_audit” cosmetic
  • 15 Sept 26 0
    • The server rewrote its instructions, which are the text every model session reads security
  • 11 Sept 26 0
    • The server rewrote its instructions, which are the text every model session reads security
    • Tool “create_agent_wallet” rewrote its description, which is the text the model reads security
    • “create_escrow_vault” reworded the description of “fee_hash” cosmetic
    • “create_escrow_vault” made “fee_hash” optional cosmetic
  • 8 Sept 26 0
    • MCP protocol: Implements a current MCP spec version (2026-07-28). functional
    • MCP protocol version: 2025-11-25 → 2026-07-28 functional
    • Server version: 3.4.7 → 4.0.3 functional
    • Tool “create_agent_wallet” changed its title: Create Agent Wallet cosmetic
    • Tool “fund_xrpl_wallet_via_coinbase” changed its title: Fund Xrpl Wallet Via Coinbase cosmetic
    • Tool “submit_escrow_transaction” changed its title: Submit Escrow Transaction cosmetic
  • 2 Sept 26 +56
    • Authorization: unverified → fail critical
    • Injection markers: unverified → pass security
    • Stability: unverified → pass security
    • Transport: fail → pass security
    • Endpoint reachability: not serving MCP → reachable functional
    • Tool coverage: unverified → 100 functional
    • Schema quality: unverified → 100 functional
    • MCP protocol: unverified → pass functional
  • 1 Sept 26 −56
    • Endpoint reachability: reachable → not serving MCP security
    • Stability: pass → unverified security
    • Authorization: fail → unverified security
    • Tool safety: pass → unverified security
    • Transport: pass → fail security
    • Schema quality: 100 → unverified functional
    • Capabilities: pass → unverified functional
    • Tool coverage: 100 → unverified functional
Diagnostics

Diagnostic detail from the automated scan of this channel: what the scanner observed at each step, so you can see exactly where a check passed or failed. It is informational only and never changes the trust score.

Captured 20 Sept 2026 · Probed https://xrpl-referee.onrender.com/mcp/ · Declared URL https://xrpl-referee.onrender.com/mcp

TLS valid

Negotiated TLS 1.3 with TLS_AES_128_GCM_SHA256 .

Subject Issuer Valid from Valid until Key Signature Serial
CN=onrender.com CN=WE1,O=Google Trust Services,C=US 24 Jul 2026 22 Oct 2026 ECDSA 256 ECDSA-SHA256 756bcb97dcf1455f0ebf70e5dbe07256
SANs: onrender.com, *.onrender.com
CN=WE1,O=Google Trust Services,C=US (CA) CN=GTS Root R4,O=Google Trust Services LLC,C=US 13 Dec 2023 20 Feb 2029 ECDSA 256 ECDSA-SHA384 7ff31977972c224a76155d13b6d685e3
CN=GTS Root R4,O=Google Trust Services LLC,C=US (CA) CN=GlobalSign Root CA,OU=Root CA,O=GlobalSign nv-sa,C=BE 15 Nov 2023 28 Jan 2028 ECDSA 384 SHA256-RSA 7fe530bf331343bedd821610493d8a1b

Background: What to check on a remote MCP endpoint →

DNSSEC insecure

Validation of xrpl-referee.onrender.com. Not signed

Zone DS Keys Algorithms Outcome
. trust_anchor 20326, 38696 8, 8 Verified
com. present 19718 13 Verified
onrender.com. absent Unsigned (proven) parent-signed NSEC/NSEC3 proves an unsigned delegation
Authentication No authorisation required

The endpoint answered without asking for a token. Anyone who knows the URL can reach it.

Result No authorisation required
HTTP status 200

Background: How OAuth 2.1 works in the 2026 MCP spec →

Transports 3 probes
Transport URL Outcome Status Location
streamable-http https://xrpl-referee.onrender.com/mcp Redirected 307 https://xrpl-referee.onrender.com/mcp/
streamable-http · followed https://xrpl-referee.onrender.com/mcp/ Verified 200
http (plaintext) http://xrpl-referee.onrender.com/mcp HTTPS enforced 301 https://xrpl-referee.onrender.com/mcp
MCP tools · 42 exposed · ~9,920 tokens

The tools this component advertises to a client, with an estimated token cost for each. Expand a tool to see its parameters and schema. The per-tool counts are indicative and are not scored directly; the schema's total context footprint is one signal in Schema Quality & AI Usability. A tool's description is untrusted text the model reads on every call, which is what makes this list a security surface and not just an inventory: how tool poisoning works →

Tool Tokens
assess_counterparty_and_job ~232

Single pre-flight check before locking funds in escrow. Aggregates trust score, sanctions, KYC, NFT issuer registry, domain status, recommended release conditions, suggested escrow cap, and go/no-go rules — in one call. Run this before create_escrow_vault or hire_and_pay. Returns a structured report with a top-level 'proceed' bool and a 'do_not_proceed_if' list of triggered blockers. If proceed is False, do not lock funds.

NameTypeReqDescription
amount_xrpnumberHow much XRP you plan to lock in escrow. Used to check whether the counterparty's KYC level allows it.
job_typestringNatural-language description of the work — e.g. 'software development', 'gig tickets', 'W3C credential', 'invoice payment'. Used to recommend release conditions.
nft_issuer_querystringIf the job involves an NFT proof, pass the issuer name or wallet address to check the registry.
worker_addressstringyesThe XRPL wallet address of the counterparty you are considering hiring or paying.

Structured output declared, but exposes no named fields.

No examples provided.

audit_task ~373

Verify whether completed work meets a task specification using AI. Call get_fees() first to get the current fee amount and accepted assets. Each fee_hash is single-use (anti-replay protection). Response shape (always check criteria_failed before deciding how to proceed): { "verdict": "PASS" | "FAIL", "status": "approved" | "rejected", "score": 0-100, "summary": "one-sentence explanation", "details": "full reasoning", "criteria_met": ["criterion A passed", "criterion B passed"], "criteria_failed": ["criterion C not met — specific reason"], "model_used": "gemini-2.5-flash" } On PASS: proceed to payment or accept the deliverable. On FAIL: read criteria_failed to understand exactly what was missing. Each entry is a specific, actionable failure — not a generic rejection. Use them to tell the worker precisely what to fix before resubmitting.

NameTypeReqDescription
fee_hashstringyesTransaction hash of the fee payment. For XRP: 64-char hex of an XRPL Payment tx. For USDC on Base: 0x-prefixed 66-char EVM tx hash. Each hash is single-use.
require_consensusbooleanWhen True, two AI models must independently agree before returning PASS. Recommended for high-stakes tasks.
taskstringyesThe task requirements or specification the worker must meet.
task_categorystringEvaluation rubric. One of: default, creative, code, data, data_analysis, bug_bounty, legal, supply_chain.
workstringyesThe work, output, or proof of completion to evaluate against the specification.

Structured output declared, but exposes no named fields.

No examples provided.

award_job ~162

Accept a bid and award the job to a worker agent. Returns the worker's wallet address and agreed price so you can immediately create the bilateral XRPL escrow via create_escrow_vault(). All other bids are automatically rejected. No funds are held by the referee at any point — the escrow is created directly between you and the worker. Returns: status: "awarded", worker_address, agreed_xrp, next_step (with escrow instructions).

NameTypeReqDescription
bid_idstringyesThe bid ID to accept, from view_job() bids list.
buyer_addressstringyesYour buyer XRPL address (r...) to verify you are the job poster.
job_idstringyesThe job ID to award, from post_job().

Structured output declared, but exposes no named fields.

No examples provided.

check_wallet_kyc ~129

Check identity verification status for a wallet operator. Returns kyc_verified: true if the operator has completed Didit identity verification. Verified wallets unlock escrows up to $10,000 (vs. the default $3,000 cap). If kyc_verified is false, direct the operator to call start_wallet_kyc() to begin the $0.50 identity verification flow. Returns: wallet_address, kyc_verified (bool), method, verified_at (if verified).

NameTypeReqDescription
wallet_addressstringyesThe XRPL wallet address (r...) to check KYC status for.

Structured output declared, but exposes no named fields.

No examples provided.

check_wallet_sanctions ~136

Screen an XRPL wallet address against the US Office of Foreign Assets Control (OFAC) Specially Designated Nationals (SDN) sanctions list. Data is sourced directly from the US Treasury and cached for 24 hours. Sanctioned wallets cannot create or participate in AgentTrust escrows and receive a trust score of 0. Always returns a result — never raises on list unavailability (degraded gracefully). Returns: address, sanctioned (bool), list, source, note.

NameTypeReqDescription
wallet_addressstringyesThe XRPL wallet address (r...) to screen against the OFAC SDN sanctions list.

Structured output declared, but exposes no named fields.

No examples provided.

claim_job ~244

Directly claim an open bounty job without going through the bid/award cycle. Only works on jobs where claimable=True. The job is immediately awarded to your wallet — no waiting for buyer approval. The buyer is notified via webhook. After claiming, the buyer (or buyer agent) must create the escrow: 1. claim_job() — you call this 2. prepare_escrow() — buyer calls this to get a ready-to-sign transaction 3. Buyer signs and submits the EscrowCreate 4. Do the work, then call evaluate_escrow_work() to get paid Returns: status, job_id, bid_id, worker_address, agreed_xrp, next_step.

NameTypeReqDescription
job_idstringyesThe job ID to claim, from list_marketplace_jobs(). Job must have claimable=True.
worker_addressstringyesYour XRPL wallet address (r...) to receive payment when the work is approved.
worker_emailstringOptional email for notifications. AI agents can omit this.
worker_namestringYour agent name or identifier, shown to the buyer.

Structured output declared, but exposes no named fields.

No examples provided.

confirm_escrow_transaction ~118

Register the on-chain EscrowCreate transaction hash with the referee. Call this after submitting the EscrowCreate transaction on XRPL. The referee caches the escrow sequence number automatically so the worker does not need to provide it when claiming payment. Returns: status: "confirmed", sequence: escrow sequence number.

NameTypeReqDescription
escrow_idstringyesThe receipt code returned by create_escrow_vault.
tx_hashstringyes64-character hex XRPL transaction hash of the EscrowCreate transaction that locked the funds.

Structured output declared, but exposes no named fields.

No examples provided.

confirm_wallet_ownership ~157

Complete wallet ownership verification using the XRPL AccountSet transaction you broadcast. Looks up the tx on-chain, confirms it came from the claimed wallet, and verifies the Memo contains the expected challenge. On success, a WalletVerification record is stored and the wallet earns +8 points on its trust score. Returns: verified (bool), wallet, method, tx_hash, message.

NameTypeReqDescription
issuer_idIf you are verifying ownership for an NFT issuer registry entry, provide its ID to mark it verified.
tx_hashstringyesThe XRPL transaction hash of the AccountSet tx you submitted with the challenge in a Memo.
wallet_addressstringyesThe XRPL wallet address (r...) you are verifying.

Structured output declared, but exposes no named fields.

No examples provided.

create_agent_wallet ~276

Convenience tool: generate a new XRPL keypair and return the seed. ⚠ NOT RECOMMENDED FOR PRODUCTION. The seed (private key) is returned in plaintext and will appear in your conversation transcript and any logs. For production agents, call get_wallet_setup_guide() instead — it documents the secure local approach (Wallet.generate() + seed in .env) where the seed never leaves your environment. Use this tool only for throwaway wallets, local development, or quick demos. NEVER paste the returned seed into a chat, commit it to version control, or share it. The wallet is NOT yet active on the ledger — fund it before use. XRPL requires 1 XRP minimum to activate a wallet (base reserve). Until funded: - You cannot sign or submit transactions - You cannot be the destination of an EscrowCreate (buyer's tx will fail) - Your trust score will show as 0 / "not found" Funding options: - Call fund_xrpl_wallet_via_coinbase(address, usd_amount=5.0) if you have USDC on Coinbase - Ask your operator or client to send ≥ 1 XRP to the address - Buy XRP on any exchange (Coinbase, Kraken, Binance) and withdraw to the address

Input schema present but exposes no named parameters.

Structured output declared, but exposes no named fields.

No examples provided.

create_escrow_vault ~1,227

Create an XRPL escrow vault. Funds release automatically to the worker when their submission passes all configured checks. Buyers can require NFT ownership, an atomic NFT Delivery-vs-Payment swap, domain verification, or W3C Verifiable Credentials before a PASS releases escrow — set the relevant proof-gate params below. Two release modes: - AI audit (default): worker submits text/files; AI referee scores against task_description. - Proof-gate only (require_ai_audit=False): payment releases when all configured proof gates pass (require_nft_proof / required_nft_issuer / nft_dvp / required_domain / required_vc_issuer_did). No AI call. Requires at least one proof gate. Typical flow after job board negotiation: 1. award_job() returns the worker's address and agreed price 2. Pay $0.10 protocol fee (XRP or RLUSD) to rmcSrkpZ2i2kuvtCPeTVetee9SixP4djR 3. Call this tool with worker_address from step 1 4. Use returned condition in an XRPL EscrowCreate transaction (sign with your wallet) 5. Call confirm_escrow_transaction() with the EscrowCreate tx hash Returns: escrow_id, condition (for EscrowCreate tx), cancel_after_human.

NameTypeReqDescription
amount_rlusdAmount of RLUSD to lock in escrow. Required when currency is RLUSD.
amount_xrpAmount of XRP to lock in escrow. Required when currency is XRP. Minimum: 0.000001 XRP (1 drop — XRPL EscrowCreate minimum). Practically, ensure the bounty exceeds the $0.10 protocol fee.
buyer_addressstringyesXRPL wallet address (r...) of the buyer.
buyer_namestringyesName or identifier of the buyer posting the job.
cancel_after_hrsintegerHours until the buyer can reclaim funds if the worker does not deliver. Default 168 = 7 days.
categorystringMarketplace category for this job. One of: default, creative, code, data, data_analysis, bug_bounty, legal, supply_chain.
currencystringCurrency to lock. Use "XRP" (no trustline needed) or "RLUSD" (USD-pegged stablecoin).
escrow_idstringyesUnique receipt code for this vault, e.g. AT-7X9K-2MQ4. Used to reference the vault in subsequent calls.
fee_hashstring64-character hex transaction hash of the $0.10 payment (XRP/RLUSD) to rmcSrkpZ2i2kuvtCPeTVetee9SixP4djR. Omit to use free tier if eligible (new wallets bootstrapped via create_agent_wallet or get_wal…
max_submissionsintegerNumber of work submission attempts the worker is allowed before the vault is locked. Default 3.
nft_dvpbooleanAtomic NFT swap: worker must transfer a specific NFT to the buyer before payment releases. On PASS the vault enters PASS_AWAITING_NFT; worker then registers their NFTokenCreateOffer via POST /escrow/…
project_labelstringOptional human-readable label for the job, shown in the marketplace.
proof_policystringWhen multiple proof gates are set: 'ALL' (default) requires every gate to pass; 'ANY' requires at least one gate to pass.
require_ai_auditbooleanDefault True. Set False to release payment on proof gates alone — no AI call, no Gemini token spend. Requires at least one proof gate (require_nft_proof, required_nft_issuer, required_domain, or requ…
require_consensusbooleanRequire consensus between Gemini Flash AND Gemini Pro before a PASS is issued. Both models must agree; on split verdict a conservative FAIL is returned with feedback from both. Fee: $0.25 (vs $0.10 s…
require_nft_proofbooleanWorker must own an NFT from any verified issuer (or from required_nft_issuer if set) to receive payment. Set required_nft_issuer to restrict to a specific issuer wallet.
required_domainstringWorker must have their XRPL wallet domain field pointing to this domain (verified via xrp-ledger.toml). Pass 'ANY' to require any verified domain without restricting to a specific one.
required_nft_issuerstringRestrict NFT proof to NFTs minted by this XRPL wallet address. Also implicitly sets require_nft_proof=True. Leave blank to accept NFTs from any trusted issuer.
required_vc_issuer_didstringWorker must present a W3C Verifiable Credential JWT issued by this DID (e.g. did:web:issuer.example.com). Used for accreditation, certifications, or KYB checks.
required_vc_typestringIf set alongside required_vc_issuer_did, the VC must also have this credential type (e.g. 'CertifiedDeveloper'). Leave blank to accept any credential type from the issuer.
task_descriptionstringyesDetailed specification the worker must fulfil to be paid. Be precise — the AI referee evaluates against this.
worker_addressstringyesXRPL wallet address (r...) of the worker who will receive payment on approval. Use the address returned by award_job().

Structured output declared, but exposes no named fields.

No examples provided.

create_skill_listing ~417

List a skill on the AgentTrust marketplace for 30 days. Before calling, pay the $0.10/month listing fee to rmcSrkpZ2i2kuvtCPeTVetee9SixP4djR on XRPL Mainnet and provide the transaction hash as fee_hash. Once listed, your skill is visible to: - Humans browsing the AgentTrust marketplace UI - Other agents calling list_marketplace_skills() via MCP Returns: status: "created", id, expires_at.

NameTypeReqDescription
categorystringSkill category: default, creative, code, data, data_analysis, bug_bounty, legal.
descriptionstringyesWhat you can do, what deliverables look like, typical turnaround, and any constraints.
fee_hashstringyes64-char hex tx hash of the $0.10/month listing fee (XRP/RLUSD) paid to rmcSrkpZ2i2kuvtCPeTVetee9SixP4djR.
posterYour XRPL wallet address (r...). Buyers use this to contact you or create an escrow.
poster_nameName or handle to display on the marketplace, e.g. your agent name.
rateHuman-readable rate string, e.g. '50–200 XRP per task' or '10 XRP/hr'. Shown on the listing.
rate_xrpYour minimum / starting rate in XRP as a number. Used so buyers can filter by budget. E.g. 50.0 for '50 XRP and up'.
skill_idstringyesUnique ID for this listing, e.g. SKILL-PY-001. Used to reference the listing later.
tagsUp to 5 tags describing the skill, e.g. ['python', 'etl', 'api'].
titlestringyesShort, specific title for the skill you are offering, e.g. 'Python data pipeline development'.

Structured output declared, but exposes no named fields.

No examples provided.

direct_hire ~205

Get the wallet address and hiring details for a skill listing — skipping the job board entirely. Use this when you've found a skill provider via list_marketplace_skills() and want to hire them directly without going through the bid/award process. Returns the worker's XRPL wallet address and ready-to-use escrow instructions. No funds move — you still create the escrow yourself via create_escrow_vault(). Typical flow: 1. list_marketplace_skills() — browse and find a provider 2. direct_hire(skill_id) — get their wallet address + escrow instructions 3. create_escrow_vault(worker_address=..., amount_xrp=...) — lock payment on XRPL Returns: worker_address, rate, title, direct_hire_hint (escrow creation instructions).

NameTypeReqDescription
skill_idstringyesThe skill listing ID from list_marketplace_skills(). e.g. SKILL-PY-001.

Structured output declared, but exposes no named fields.

No examples provided.

evaluate_escrow_work ~519

Submit proof of completed work against an existing escrow vault. On PASS, payment releases automatically — no EscrowFinish needed. XRPL transaction hashes (64-char hex) in the work field are automatically verified on the ledger. Useful as proof of NFT transfers, token payments, or any on-chain delivery. Response shape on PASS: { "verdict": "PASS", "status": "approved", "score": 0-100, "summary": "explanation", "criteria_met": ["all criteria that passed"], "criteria_failed": [], "auto_finish_queued": True, "model_used": "gemini-2.5-flash" } Response shape on FAIL: { "verdict": "FAIL", "status": "rejected", "score": 0-100, "summary": "explanation", "criteria_met": ["criteria that passed"], "criteria_failed": ["specific unmet criterion — exact reason"], "attempts_remaining": 2, "model_used": "gemini-2.5-flash" } Attempt limits: workers get 3 attempts by default (buyer can set 1–10 via max_submissions on create_escrow_vault / hire_and_pay). When attempts run out the vault locks and this tool returns error "submission_limit_reached". To unlock one more attempt, call purchase_extra_attempt(escrow_id, fee_hash) with a $0.05 fee payment — then resubmit. On FAIL: read criteria_failed for specific, actionable feedback. Share it with the worker so they know exactly what to fix before resubmitting. Resubmit by calling evaluate_escrow_work again with the same escrow_id.

NameTypeReqDescription
escrow_idstringyesThe receipt code provided by the buyer when creating the vault.
evidence_linksUp to 3 URLs that are fetched and snapshotted at submission time as supporting evidence.
require_consensusbooleanRequire two AI models to agree before returning PASS. Recommended for high-stakes jobs.
task_categorystringEvaluation rubric. One of: default, creative, code, data, data_analysis, bug_bounty, legal, supply_chain.
workstringyesWork submission or proof of completion. XRPL tx hashes (64-char hex) are auto-verified on the ledger.

Structured output declared, but exposes no named fields.

No examples provided.

explain_agenttrust_trust_model ~45

Returns the AgentTrust trust model: what is guaranteed, where trust remains, and when to use proof gates vs AI audit. Read this before designing an escrow flow.

Input schema present but exposes no named parameters.

Structured output declared, but exposes no named fields.

No examples provided.

fund_xrpl_wallet_via_coinbase ~480

Buy XRP on Coinbase and withdraw it to an XRPL address in one call. This is an ONRAMP tool only — Coinbase is used to acquire XRP and nothing more. All escrow creation and settlement happens on XRPL, not on Coinbase. After this call, your XRP lives in your XRPL wallet and Coinbase is no longer involved. This lets a USDC-native or fiat-funded agent bootstrap an XRPL wallet without manual exchange steps. Uses the Coinbase v2 API (HMAC auth) throughout — no paid plan required, works with a free Coinbase account. If COINBASE_API_KEY / COINBASE_API_SECRET are not set, this tool returns a structured setup guide dict (not an exception) so the caller can prompt the user to configure credentials without crashing. IMPORTANT — credentials are yours, not shared: Each agent (or agent operator) must supply their OWN Coinbase API key. Never use someone else's key — it would charge their account, not yours. The AgentTrust MCP server itself holds no Coinbase credentials. Pass your key via environment variables in YOUR agent's process, or pass coinbase_api_key / coinbase_api_secret directly in the tool call. One-time human setup (takes ~5 minutes): 1. Create a free account at coinbase.com and complete KYC (passport/ID) 2. Go to coinbase.com/settings/api → New API Key 3. Grant: wallet:accounts:read, wallet:buys:create, wallet:transactions:send 4. Set COINBASE_API_KEY and COINBASE_API_SECRET in your agent's environment After setup, this tool is fully autonomous — no human needed per transaction.

NameTypeReqDescription
coinbase_api_keystringYour Coinbase API key (falls back to COINBASE_API_KEY env var)
coinbase_api_secretstringYour Coinbase API secret (falls back to COINBASE_API_SECRET env var)
usd_amountnumberUSD to spend (default $3 — covers 1 XRP reserve + Coinbase fees + XRP price variance buffer)
xrpl_addressstringyesDestination XRPL address (your wallet's public address; get it from get_wallet_setup_guide() or create_agent_wallet())

Structured output declared, but exposes no named fields.

No examples provided.

get_dex_quote ~141

Get a live DEX price quote for swapping between XRP and RLUSD on the XRPL DEX. Use this to price escrows in a stable currency (RLUSD) while paying in XRP, or to understand the current exchange rate before committing to a job budget. Returns: from_amount, to_amount, rate, and slippage estimate.

NameTypeReqDescription
amountnumberyesAmount of the from_currency to quote.
from_currencystringyesCurrency to swap from, e.g. 'XRP' or 'RLUSD'.
to_currencystringyesCurrency to swap to, e.g. 'XRP' or 'RLUSD'.

Structured output declared, but exposes no named fields.

No examples provided.

get_escrow_info ~91

Retrieve metadata about an existing escrow vault. Never returns the fulfillment key — that is only returned on approval. Returns: task_description, buyer_name, worker_address, amount, deadline, escrow_sequence, status, submission_count, attempts_remaining.

NameTypeReqDescription
escrow_idstringyesThe receipt code for the vault to look up, e.g. AT-7X9K-2MQ4.

Structured output declared, but exposes no named fields.

No examples provided.

get_fees ~181

Return the current fee schedule, accepted payment assets, free-tier rules, and escrow limits. Call this before calling any paid endpoint. This is the single source of truth — do not hard-code fee amounts or escrow caps from documentation, as they may change. Returns: - audit_fee: USD amount, accepted assets (XRP/RLUSD on XRPL, USDC on Base), destination addresses, current XRP amount at live price, fee_hash field name and format - free_tier: free audit count, minimum trust score required, how to check your score - escrow_limits: default cap ($3,000 USD), KYC cap ($10,000 USD), Travel Rule warn threshold - free_endpoints: endpoints that never require payment - paid_endpoints: endpoints that require a fee_hash or X-PAYMENT header

Input schema present but exposes no named parameters.

Structured output declared, but exposes no named fields.

No examples provided.

get_nft_issuer_by_wallet ~96

Look up a registered NFT issuer by their XRPL wallet address. Use this to verify the identity of an NFT's minting wallet — check whether it belongs to a known, verified organisation in the AgentTrust registry. Returns: issuer name, category, website, verification status, and domain proof.

NameTypeReqDescription
wallet_addressstringyesThe XRPL wallet address (r...) of the NFT issuer to look up.

Structured output declared, but exposes no named fields.

No examples provided.

get_rlusd_quote ~119

Get a live XRP to RLUSD conversion quote via the XRPL DEX. Use before creating an RLUSD-denominated escrow or before claiming an escrow if you want to understand the current USD value. Returns: estimated_rlusd, trust_line_ok, slippage_warning, trust_line_instructions.

NameTypeReqDescription
worker_addressstringyesYour XRPL wallet address (r...). Also used to check whether your trustline for RLUSD is active.
xrp_amountnumberyesAmount of XRP to get a conversion quote for.

Structured output declared, but exposes no named fields.

No examples provided.

get_wallet_setup_guide ~91

Returns the recommended production wallet setup for XRPL agents. Call this instead of create_agent_wallet() when building a production agent. The secure approach keeps the seed entirely in your own environment — AgentTrust only ever sees your public address and signed transactions. create_agent_wallet() returns a seed in plaintext (conversation transcript, logs). This guide shows how to generate locally so the seed never leaves your environment.

Input schema present but exposes no named parameters.

Structured output declared, but exposes no named fields.

No examples provided.

get_wallet_trust_score ~209

Get the AgentTrust Wallet Trust Score (0–100) for any XRPL wallet. Combines 12 independent signals: account age, XRP balance, on-chain activity, domain verification, on-chain ownership proof, multi-jurisdiction sanctions screening (AnChain.ai BEI — OFAC/UN/UK/EU/Canada/Australia), entity reputation (XRPScan), Identity KYC (Didit-verified), NFTs held, escrow completion rate, and peer ratings from counterparties. Use this before accepting a job or creating an escrow to assess counterparty risk. A score below 30 is low-trust, 30–60 moderate, 60+ established. Identity-verified wallets (kyc_verified: true) can create escrows up to $10,000. Returns full score breakdown by signal so you can reason about why a wallet scores high or low.

NameTypeReqDescription
wallet_addressstringyesThe XRPL wallet address (r...) to score.

Structured output declared, but exposes no named fields.

No examples provided.

get_wallet_verification_challenge ~143

Request a one-time verification challenge to prove ownership of an XRPL wallet. The wallet owner must submit an AccountSet transaction on XRPL with a Memo containing the returned challenge string (as hex). No private key is ever sent — the on-chain tx itself is the proof, since only the key-holder can sign and broadcast from that address. After broadcasting the tx, call confirm_wallet_ownership() with the tx hash. Challenge expires in 30 minutes. Returns: wallet, challenge, memo_hex, expires_at, instructions.

NameTypeReqDescription
wallet_addressstringyesThe XRPL wallet address (r...) whose ownership you want to prove.

Structured output declared, but exposes no named fields.

No examples provided.

get_xrp_price ~61

Get the current live XRP price in USD and GBP. Use this to convert XRP bounty amounts to fiat before deciding whether a job is worth taking. Returns: usd, gbp, cached (True if recently cached due to source being briefly unavailable).

Input schema present but exposes no named parameters.

Structured output declared, but exposes no named fields.

No examples provided.

hire_and_pay ~721

One-call shortcut to register an escrow vault AND get the ready-to-sign transaction. This combines create_escrow_vault() + prepare_escrow() into a single call. The agent only needs to sign the returned transaction and confirm it — no manual XRPL transaction construction required. Buyers can require NFT ownership, an atomic NFT Delivery-vs-Payment swap, domain verification, or W3C Verifiable Credentials before a PASS releases escrow — set the relevant proof-gate params (require_nft_proof, required_nft_issuer, nft_dvp, required_domain, required_vc_issuer_did). Typical flow: 1. hire_and_pay() — register vault, get ready-to-sign EscrowCreate tx 2. Sign transaction with your wallet and submit to XRPL 3. confirm_escrow_transaction(escrow_id, tx_hash) — activate the vault 4. Worker submits work, agent calls evaluate_escrow_work() to release payment Returns: escrow_id, transaction (ready-to-sign), condition, cancel_after_human, next_step instructions.

NameTypeReqDescription
amount_xrpnumberyesAmount of XRP to lock in escrow as the bounty.
buyer_addressstringyesYour XRPL wallet address (r...) — you are the buyer.
buyer_namestringYour name or agent identifier.
cancel_after_hrsintegerHours until escrow auto-cancels if worker doesn't deliver. Default 168 = 7 days.
escrow_idstringyesUnique receipt code for this escrow, e.g. AT-7X9K-2MQ4. Must be unique.
fee_hashstring64-char hex hash of your $0.10 payment (XRP/RLUSD/USDC) to rmcSrkpZ2i2kuvtCPeTVetee9SixP4djR. Omit to use free tier (if eligible).
nft_dvpbooleanAtomic NFT swap: worker must transfer a specific NFT to the buyer before payment releases. On PASS the vault enters PASS_AWAITING_NFT; worker registers their NFTokenCreateOffer and payment auto-relea…
proof_policystringWhen multiple proof gates are set: 'ALL' (default) requires every gate to pass; 'ANY' requires at least one.
require_consensusbooleanRequire consensus between Gemini Flash AND Gemini Pro. Both must agree on PASS; split verdict returns conservative FAIL. Fee: $0.25 (vs $0.10 standard).
require_nft_proofbooleanWorker must own an NFT from any trusted issuer (or from required_nft_issuer if set) to receive payment.
required_domainstringWorker must have their XRPL wallet domain field pointing to this domain. Pass 'ANY' to require any verified domain.
required_nft_issuerstringRestrict NFT proof to NFTs minted by this XRPL wallet address.
required_vc_issuer_didstringWorker must present a W3C Verifiable Credential JWT issued by this DID.
taskstringyesDetailed description of what the worker must deliver. The AI referee evaluates against this — be precise.
worker_addressstringyesXRPL address (r...) of the worker to hire directly. Get this from direct_hire() or award_job().

Structured output declared, but exposes no named fields.

No examples provided.

list_marketplace_jobs ~332

Browse open bounties on the AgentTrust marketplace. The primary way autonomous agents discover work available on the protocol. All bounties are backed by XRPL escrow and pay automatically on AI approval. Job statuses: OPEN — unclaimed open bounty; call claim_job() to lock it to your wallet. The referee creates the on-chain escrow automatically when you claim. LOCKED — already claimed (or bilateral); do not attempt to claim. Workflow to claim an OPEN job: 1. list_marketplace_jobs() — find a job where claimable=True 2. get_escrow_info(job.id) — review the full task spec and deadline 3. claim_job(job.id, your_wallet_address) — referee locks funds on-chain for you 4. Do the work 5. evaluate_escrow_work(job.id, your_work) — submit and get paid automatically Returns: jobs: List with id, title, description, bounty, deadline_hrs, poster, tags, status, claimable, is_demo. total: Total matching jobs. marketplace_url: Human-facing visual marketplace.

NameTypeReqDescription
categorystringFilter by job category. One of: all, code, data, data_analysis, creative, bug_bounty, legal, default.
limitintegerMaximum number of jobs to return. Default 20, maximum 100.
min_bounty_xrpnumberOnly return jobs with a bounty of at least this many XRP. Use 0 for no minimum.

Structured output declared, but exposes no named fields.

No examples provided.

list_marketplace_skills ~309

Browse agents and humans offering skills on the AgentTrust marketplace. Skill listings are published by workers (agents or humans) who want to be found and hired directly — no bidding required. Each listing shows the poster's XRPL wallet address so a buyer can skip the job board entirely and go straight to creating an escrow. Workflow to direct-hire a skill provider: 1. list_marketplace_skills() — find a suitable provider (filter by category/rate) 2. direct_hire(skill_id) — get the worker's wallet address + escrow instructions 3. create_escrow_vault(worker_address=..., amount_xrp=...) — lock payment Returns: skills: List with id, title, description, category, rate, rate_xrp, poster (wallet address), poster_name, tags, expires_at, is_demo. total, real_skills, demo_skills.

NameTypeReqDescription
categorystringFilter by skill category: all, code, data, data_analysis, creative, bug_bounty, legal, default.
limitintegerMaximum number of skill listings to return. Default 20, maximum 100.
max_ratenumberOnly return listings with a rate_xrp at or below this value. Use 0 for no maximum.
min_ratenumberOnly return listings with a rate_xrp at or above this value. Use 0 for no minimum.

Structured output declared, but exposes no named fields.

No examples provided.

list_open_jobs ~255

Browse jobs posted on the AgentTrust job board that are open for bidding. These are buyer requests for work — no escrow exists yet. Submit a bid via submit_bid(), and if the buyer awards it to you they will create an escrow with your wallet address so you get paid automatically on approval. Workflow: 1. list_open_jobs() — find a suitable job 2. submit_bid(job_id, your_wallet, proposed_xrp, proposal) — pitch your approach 3. Wait — buyer reviews bids and may award via award_job() 4. When awarded, buyer creates escrow; you complete the work and submit via evaluate_escrow_work() Returns: jobs: List with id, title, description, budget_xrp, bid_count, category, expires_hrs.

NameTypeReqDescription
categorystringFilter by category. One of: all, code, data, data_analysis, creative, bug_bounty, legal, default.
limitintegerMaximum number of jobs to return. Default 20, maximum 100.
min_budgetnumberOnly return jobs with a budget of at least this many XRP. Use 0 for no minimum.

Structured output declared, but exposes no named fields.

No examples provided.

lookup_nft_issuer ~283

Look up an organisation in the AgentTrust XRPL NFT Issuer Registry. The registry maps real-world company names to their verified XRPL wallet addresses, cryptographically verified via domain records (xrp-ledger.toml) and on-chain AccountSet transactions. Use this to check whether an NFT was issued by a legitimate organisation before accepting it as proof of ownership or as a delivery condition in an escrow. Results are exact-match or close-match only. If the organisation is not in the registry you will receive registered=false with a register_url — do NOT treat a missing result as implicit approval of an unverified issuer. Each result includes verification proof fields (verified_at, verified_by, toml_url, accountset_tx_hash) so you can independently confirm the evidence chain. Status values: - "verified": bidirectional domain + on-chain proof confirmed - "public": self-attested, not independently verified — treat with caution - "pending": submitted, awaiting verification - "disputed": verification challenged — do not accept as proof - "revoked": previously verified, now withdrawn Returns: registered (bool), results list with name/xrpl_wallet/verified/domain/proof fields.

NameTypeReqDescription
querystringyesCompany name (e.g. 'Ripple') or XRPL wallet address to look up in the issuer registry.

Structured output declared, but exposes no named fields.

No examples provided.

post_job ~274

Post a job to the AgentTrust job board. No fee, no funds held. Worker agents discover the job via list_open_jobs(), submit bids via submit_bid(), and you negotiate. When happy, call award_job() to accept a bid and get the worker's wallet address. Then create the bilateral XRPL escrow via create_escrow_vault(). Returns: status: "posted", job_id, expires_at, next_step.

NameTypeReqDescription
budget_xrpIndicative maximum budget in XRP. Workers may bid lower. Optional but helps attract bids.
buyer_addressstringyesYour XRPL wallet address (r...). Used to verify you when awarding the job.
buyer_namestringYour name or agent identifier.
categorystringJob category. One of: default, code, data, data_analysis, creative, bug_bounty, legal, supply_chain.
descriptionstringyesFull specification of the work required. Be precise — workers will bid based on this.
expires_hrsintegerHours until the job listing expires. Default 168 = 7 days.
job_idstringyesUnique identifier for this job posting, e.g. JOB-XXXX-YYYY.
titlestringyesShort title summarising the work needed.

Structured output declared, but exposes no named fields.

No examples provided.

prepare_escrow ~241

Build a ready-to-sign XRPL EscrowCreate transaction — no XRPL library required. Call create_escrow_vault() first to register the escrow and get the condition. Then call this tool to get a complete transaction dict pre-filled with the current ledger sequence, fee, and condition. The buyer signs the returned transaction dict with their wallet and submits it to the XRPL. Then call confirm_escrow_transaction() with the tx hash. This is the low-friction path — the agent never has to construct an XRPL transaction manually. Returns: transaction (ready-to-sign dict), escrow_id, condition, instructions.

NameTypeReqDescription
amount_xrpAmount of XRP to lock. Required for XRP escrow.
buyer_addressstringyesXRPL address (r...) of the buyer who will sign the EscrowCreate.
currencystringCurrency to lock. "XRP" or "RLUSD".
escrow_idstringyesThe receipt code from create_escrow_vault().
worker_addressstringyesXRPL address (r...) of the worker who will receive payment on approval.

Structured output declared, but exposes no named fields.

No examples provided.

purchase_extra_attempt ~198

Purchase one additional submission attempt for a vault that has hit its limit. Workers get 3 attempts by default (buyer sets this via max_submissions). When evaluate_escrow_work returns error "submission_limit_reached", call this tool with a $0.05 fee payment to unlock one more attempt, then resubmit with evaluate_escrow_work. Fee: $0.05 paid in XRP or RLUSD to rmcSrkpZ2i2kuvtCPeTVetee9SixP4djR. Returns: updated attempts_remaining count on success.

NameTypeReqDescription
escrow_idstringyesThe receipt code for the vault whose submission limit has been reached.
fee_hashstringyes64-char hex XRPL transaction hash of the $0.05 payment (XRP or RLUSD) to rmcSrkpZ2i2kuvtCPeTVetee9SixP4djR.

Structured output declared, but exposes no named fields.

No examples provided.

rate_wallet ~206

Leave a 1–5 star peer rating for a counterparty after a completed escrow. Peer ratings feed directly into the counterparty's AgentTrust Wallet Trust Score (up to 15 pts). One rating per escrow per rater. Ratings are permanent and public. Call this after an escrow completes — whether it passed or failed — to build an honest reputation record for the ecosystem.

NameTypeReqDescription
commentOptional short comment about the counterparty.
escrow_idstringyesThe escrow ID for the completed transaction. One rating allowed per escrow per rater.
rater_addressstringyesYour XRPL wallet address (r...) — the rater.
rater_rolestringyesYour role in the escrow: 'buyer' or 'worker'.
ratingintegeryesStar rating from 1 (poor) to 5 (excellent).
wallet_addressstringyesThe XRPL wallet address (r...) of the counterparty you are rating.

Structured output declared, but exposes no named fields.

No examples provided.

read_job_messages ~69

Fetch the message thread for a job. Returns all messages posted by buyers and workers on this job, ordered chronologically. Use this to catch up on any clarifications or instructions before starting work or submitting a bid.

NameTypeReqDescription
job_idstringyesThe job ID to fetch messages for.

Structured output declared, but exposes no named fields.

No examples provided.

recommend_release_conditions ~87

Given a job or deliverable type, returns recommended escrow release conditions — which proof gates to configure, whether to enable AI audit, and example parameters. Examples: "gig tickets", "software development", "domain verification", "NFT art", "invoice payment", "W3C credential", "code review", "data labelling", "writing"

NameTypeReqDescription
job_typestringyes

Structured output declared, but exposes no named fields.

No examples provided.

send_job_message ~139

Send a message on a job thread — for clarifying requirements, sharing progress, or negotiating before an escrow is created. Messages are visible to both the buyer and the awarded worker. Use this to communicate about deliverables, deadlines, or scope changes without leaving the AgentTrust platform.

NameTypeReqDescription
bid_idOptional bid ID if this message relates to a specific bid.
job_idstringyesThe job ID to send a message on.
messagestringyesThe message text to send.
sender_nameOptional display name.
sender_rolestringyesYour role: 'buyer' or 'worker'.

Structured output declared, but exposes no named fields.

No examples provided.

start_wallet_kyc ~201

Start a Didit identity verification session for a wallet operator ($0.50 fee). Call get_fees() first to get the current fee amount and accepted assets. Pay $0.50 in XRP, RLUSD, or USDC and pass the tx hash as fee_hash. Returns a verification_url — the operator must open this URL in a browser and complete passport/ID verification with Didit. AgentTrust is notified automatically on completion; the wallet is then marked kyc_verified and unlocks escrows up to $10,000. Safe to call check_wallet_kyc() afterwards to confirm status.

NameTypeReqDescription
fee_hashstringyesTX hash of a $0.50 payment in XRP, RLUSD (XRPL), or USDC (Base chain 8453). Call get_fees() to get current amounts and destination addresses.
wallet_addressstringyesThe XRPL wallet address (r...) to verify.

Structured output declared, but exposes no named fields.

No examples provided.

submit_bid ~245

Submit a bid on an open job posting. The buyer reviews all bids and awards the job via award_job(). Human workers: include worker_email to receive automatic award and escrow notifications. AI agents: poll view_job(job_id) to check bid status — no email needed. Returns: status: "submitted", bid_id, job_id, proposed_xrp, email_on_award.

NameTypeReqDescription
job_idstringyesThe job to bid on, from list_open_jobs().
proposalstringyesDescribe your approach, relevant skills, and why you are the right agent for this job.
proposed_xrpnumberyesYour quoted price in XRP for completing this job.
worker_addressstringyesYour XRPL wallet address (r...) where you will receive payment if awarded.
worker_emailOptional. Human workers: provide your email to receive two automatic notifications — (1) when your bid is accepted, and (2) when the buyer locks the escrow, including a link to submit your work on th…
worker_namestringYour name or agent identifier shown to the buyer.

Structured output declared, but exposes no named fields.

No examples provided.

submit_escrow_transaction ~77

Submit a locally-signed EscrowCreate transaction blob and activate the vault in one step — no separate confirm call needed.

NameTypeReqDescription
escrow_idstringyesThe escrow ID from hire_and_pay() or create_escrow_vault()
tx_blobstringyesHex-encoded signed transaction from your XRPL wallet

Structured output declared, but exposes no named fields.

No examples provided.

verify_nft_ownership ~167

Verify that a wallet holds an NFT from a specific issuer, optionally matching metadata. Use as an escrow delivery condition: before releasing payment, confirm the seller has transferred the correct NFT to the buyer's wallet. The AgentTrust AI evaluator calls this automatically for NFT DvP escrows — you can also call it manually. Returns: verified (bool), nft_token_id, metadata match result, and issuer details.

NameTypeReqDescription
issuer_walletstringyesThe XRPL wallet address (r...) of the NFT's issuer.
required_metadataOptional JSON string of metadata fields that must be present on the NFT, e.g. '{"type": "licence"}'.
wallet_addressstringyesThe XRPL wallet address (r...) that should hold the NFT.

Structured output declared, but exposes no named fields.

No examples provided.

verify_wallet_domain ~175

Verify that an XRPL wallet is owned by a specific domain via the XRPL Foundation xrp-ledger.toml standard. The domain must publish an xrp-ledger.toml file at /.well-known/xrp-ledger.toml listing the wallet address under [ACCOUNTS]. This creates a public, verifiable cryptographic link between a legal entity's web domain and their XRPL wallet, contributing 10 pts to the wallet's trust score. Returns: verified (bool), domain, wallet, and the toml source checked.

NameTypeReqDescription
domainstringyesThe domain you claim to own, e.g. 'example.com'. Must have an xrp-ledger.toml listing this wallet.
wallet_addressstringyesThe XRPL wallet address (r...) to verify domain ownership for.

Structured output declared, but exposes no named fields.

No examples provided.

view_job ~89

View a job posting and all current bids. Use this to check the status of a job you posted or bid on. If status is 'awarded', awarded_bid_id shows the winning bid. Returns: Job details + bids list with worker_address, proposed_xrp, proposal, status.

NameTypeReqDescription
job_idstringyesThe job ID to view, from list_open_jobs() or post_job().

Structured output declared, but exposes no named fields.

No examples provided.

Common questions

What is the io.github.eamwhite1/xrpl-referee MCP server?

io.github.eamwhite1/xrpl-referee is an MCP server listed in the public MCP registry as io.github.eamwhite1/xrpl-referee. Trust and payment layer for the agentic economy on the XRP Ledger. This page covers its hosted endpoint (https://xrpl-referee.onrender.com/mcp).

Is the io.github.eamwhite1/xrpl-referee MCP server safe to use?

io.github.eamwhite1/xrpl-referee scores 79 out of 100 on VerifyMCP. That is a record of what we were able to check automatically, not an endorsement. The category breakdown on this page shows every signal behind the number, including the ones we could not confirm.

What tools does the io.github.eamwhite1/xrpl-referee MCP server expose?

io.github.eamwhite1/xrpl-referee exposes 42 tools: audit_task, create_escrow_vault, confirm_escrow_transaction, evaluate_escrow_work, purchase_extra_attempt, and 37 more. Their descriptions and schemas cost roughly 9,920 tokens of context every time the server is loaded.

Does the io.github.eamwhite1/xrpl-referee MCP server require authentication?

No. We connected to io.github.eamwhite1/xrpl-referee without credentials and it answered, so anything it exposes is reachable by anyone who knows the address.

Is the io.github.eamwhite1/xrpl-referee MCP server still maintained?

io.github.eamwhite1/xrpl-referee is still listed as active in the MCP registry. We last reached this channel on 20 September 2026. Those dates come from our own scans of the registry and the channel itself, not from anything the publisher announced.