Alpaca Trading API integration for Model Context Protocol (MCP)
Xrpl Referee is installed from its publisher's own source and answers where it runs, so this marketplace is not in the path of a single call. There is no address here to send one to, and a panel that pretended otherwise would be showing you an answer we made up. Install it and call it from your own client — the Installation tab has the entry for each one.
What it does
Trust and payment layer for the agentic economy on the XRP Ledger.
Quickstart
# 1 — add it to Claude Code
claude mcp add --scope user --transport http xrpl-referee-mcp https://xrpl-referee.onrender.com/mcp
# 2 — ask your agent for something these tools do
# audit_task, create_escrow_vault, confirm_escrow_transaction and 43 more
Xrpl Referee costs nothing on mcprush: there is no plan to choose here, no cap to set and nothing mcprush can bill you for.
Collected from a public index. Nobody has claimed this account, so nothing here was written by its author — claim it if it is yours.
Where are you running it?
Every route below installs the same thing and ends at the same approval screen. Nothing here runs on your machine and nothing runs on ours: this server answers at its publisher’s own address, and what you install is the connection straight to it.
This is a public server: it answers at its publisher’s own address and this marketplace is not in the path. Claude Code registers it in one command; --scope user makes it available in every project. The transport below is http, as the publisher's own manifest declares it.
claude mcp add --scope user --transport http xrpl-referee-mcp https://xrpl-referee.onrender.com/mcpReconnect, or start a new session, and the tools appear in the model’s tool list.
One config entry pointing straight at the publisher’s own address — this marketplace is not in the path, and nothing from this listing executes on your machine.
46 tools, with what each one reads, writes and reaches shown before you agree — the same list on every route above. Read the tool surface.
Tool surface
What the model actually sees. Descriptions are diffed on every release — see version history.
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-
| Parameter | Type | Required | Notes |
|---|---|---|---|
| task | string | yes | The task requirements or specification the worker must meet. |
| work | string | yes | The work, output, or proof of completion to evaluate against the specification. |
| fee_hash | string | yes | Transaction 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. |
| task_category | string | no | Evaluation rubric. One of: default, creative, code, data, data_analysis, bug_bounty, legal, supply_chain. |
| require_consensus | boolean | no | When True, two AI models must independently agree before returning PASS. Recommended for high-stakes tasks. |
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 refer
| Parameter | Type | Required | Notes |
|---|---|---|---|
| escrow_id | string | yes | Unique receipt code for this vault, e.g. AT-7X9K-2MQ4. Used to reference the vault in subsequent calls. |
| task_description | string | yes | Detailed specification the worker must fulfil to be paid. Be precise — the AI referee evaluates against this. |
| buyer_name | string | yes | Name or identifier of the buyer posting the job. |
| buyer_address | string | yes | XRPL wallet address (r...) of the buyer. |
| worker_address | string | yes | XRPL wallet address (r...) of the worker who will receive payment on approval. Use the address returned by award_job(). |
| fee_hash | string | no | 64-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_wall |
| amount_xrp | no | Amount 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. | |
| amount_rlusd | no | Amount of RLUSD to lock in escrow. Required when currency is RLUSD. | |
| currency | string | no | Currency to lock. Use "XRP" (no trustline needed) or "RLUSD" (USD-pegged stablecoin). |
| project_label | string | no | Optional human-readable label for the job, shown in the marketplace. |
| cancel_after_hrs | integer | no | Hours until the buyer can reclaim funds if the worker does not deliver. Default 168 = 7 days. |
| category | string | no | Marketplace category for this job. One of: default, creative, code, data, data_analysis, bug_bounty, legal, supply_chain. |
| max_submissions | integer | no | Number of work submission attempts the worker is allowed before the vault is locked. Default 3 (included in the $0.10 creation fee). Each slot above 3 costs an extra $0.05 at creation time (e.g. max_s |
| require_ai_audit | boolean | no | Default 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 requi |
| require_consensus | boolean | no | Require 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 st |
| require_nft_proof | boolean | no | Worker 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_nft_issuer | string | no | Restrict 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. |
| nft_dvp | boolean | no | Atomic 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/{ |
| required_domain | string | no | Worker 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_vc_issuer_did | string | no | Worker 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. |
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.
| Parameter | Type | Required | Notes |
|---|---|---|---|
| escrow_id | string | yes | The receipt code returned by create_escrow_vault. |
| tx_hash | string | yes | 64-character hex XRPL transaction hash of the EscrowCreate transaction that locked the funds. |
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": "a
| Parameter | Type | Required | Notes |
|---|---|---|---|
| escrow_id | string | yes | The receipt code provided by the buyer when creating the vault. |
| work | string | yes | Work submission or proof of completion. XRPL tx hashes (64-char hex) are auto-verified on the ledger. |
| task_category | string | no | Evaluation rubric. One of: default, creative, code, data, data_analysis, bug_bounty, legal, supply_chain. |
| require_consensus | boolean | no | Require two AI models to agree before returning PASS. Recommended for high-stakes jobs. |
| evidence_links | no | Up to 3 URLs that are fetched and snapshotted at submission time as supporting evidence. | |
| evaluate_token | no | The evaluate_token returned by create_escrow_vault() or hire_and_pay(). The buyer must share this with the worker before submission. Required for vaults created after v2.8.0. |
Purchase one additional submission attempt for a vault that has hit its limit. Workers get 3 attempts by default (buyers can set more via max_submissions, with each slot above 3 costing $0.05 extra at creation time). 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:
| Parameter | Type | Required | Notes |
|---|---|---|---|
| escrow_id | string | yes | The receipt code for the vault whose submission limit has been reached. |
| fee_hash | string | yes | 64-char hex XRPL transaction hash of the $0.05 payment (XRP or RLUSD) to rmcSrkpZ2i2kuvtCPeTVetee9SixP4djR. |
Reissue a lost evaluate_token by proving ownership of the buyer wallet. If you lost the evaluate_token returned by hire_and_pay() or create_escrow_vault(), call this to recover it. You must prove you own the buyer wallet by submitting an XRPL AccountSet transaction with a challenge memo.
| Parameter | Type | Required | Notes |
|---|---|---|---|
| escrow_id | string | yes | The escrow vault ID whose evaluate_token was lost. |
| wallet_address | string | yes | Your XRPL wallet address (r...) — must match the buyer address on the vault. |
| tx_hash | string | yes | Hash of an XRPL AccountSet tx you submitted from wallet_address with a Memo containing the challenge string from get_wallet_verification_challenge(). This proves you own the buyer wallet. |
Retrieve metadata about an existing escrow vault. Never returns the fulfillment key — that is only returned on approval.
| Parameter | Type | Required | Notes |
|---|---|---|---|
| escrow_id | string | yes | The receipt code for the vault to look up, e.g. AT-7X9K-2MQ4. |
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.
| Parameter | Type | Required | Notes |
|---|---|---|---|
| category | string | no | Filter by job category. One of: all, code, data, data_analysis, creative, bug_bounty, legal, default. |
| min_bounty_xrp | number | no | Only return jobs with a bounty of at least this many XRP. Use 0 for no minimum. |
| limit | integer | no | Maximum number of jobs to return. Default 20, maximum 100. |
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.
| Parameter | Type | Required | Notes |
|---|---|---|---|
| xrp_amount | number | yes | Amount of XRP to get a conversion quote for. |
| worker_address | string | yes | Your XRPL wallet address (r...). Also used to check whether your trustline for RLUSD is active. |
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.
| Parameter | Type | Required | Notes |
|---|---|---|---|
| category | string | no | Filter by skill category: all, code, data, data_analysis, creative, bug_bounty, legal, default. |
| min_rate | number | no | Only return listings with a rate_xrp at or above this value. Use 0 for no minimum. |
| max_rate | number | no | Only return listings with a rate_xrp at or below this value. Use 0 for no maximum. |
| limit | integer | no | Maximum number of skill listings to return. Default 20, maximum 100. |
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
| Parameter | Type | Required | Notes |
|---|---|---|---|
| skill_id | string | yes | Unique ID for this listing, e.g. SKILL-PY-001. Used to reference the listing later. |
| fee_hash | string | yes | 64-char hex tx hash of the $0.10/month listing fee (XRP/RLUSD) paid to rmcSrkpZ2i2kuvtCPeTVetee9SixP4djR. |
| title | string | yes | Short, specific title for the skill you are offering, e.g. 'Python data pipeline development'. |
| description | string | yes | What you can do, what deliverables look like, typical turnaround, and any constraints. |
| category | string | no | Skill category: default, creative, code, data, data_analysis, bug_bounty, legal. |
| rate | no | Human-readable rate string, e.g. '50–200 XRP per task' or '10 XRP/hr'. Shown on the listing. | |
| rate_xrp | no | Your minimum / starting rate in XRP as a number. Used so buyers can filter by budget. E.g. 50.0 for '50 XRP and up'. | |
| poster | no | Your XRPL wallet address (r...). Buyers use this to contact you or create an escrow. | |
| poster_name | no | Name or handle to display on the marketplace, e.g. your agent name. | |
| tags | no | Up to 5 tags describing the skill, e.g. ['python', 'etl', 'api']. |
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_v
| Parameter | Type | Required | Notes |
|---|---|---|---|
| skill_id | string | yes | The skill listing ID from list_marketplace_skills(). e.g. SKILL-PY-001. |
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.
No parameter schema on file.
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. Pass wallet_address to see how many free escrows remain for that wallet. Returns: - audit_fee: USD amount, accepted assets (XRP/RLUSD on X
| Parameter | Type | Required | Notes |
|---|---|---|---|
| wallet_address | no | Optional XRPL wallet address (r...) to check free_escrows_remaining for that wallet. |
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().
| Parameter | Type | Required | Notes |
|---|---|---|---|
| job_id | string | yes | Unique identifier for this job posting, e.g. JOB-XXXX-YYYY. |
| title | string | yes | Short title summarising the work needed. |
| description | string | yes | Full specification of the work required. Be precise — workers will bid based on this. |
| buyer_address | string | yes | Your XRPL wallet address (r...). Used to verify you when awarding the job. |
| buyer_name | string | no | Your name or agent identifier. |
| budget_xrp | no | Indicative maximum budget in XRP. Workers may bid lower. Optional but helps attract bids. | |
| category | string | no | Job category. One of: default, code, data, data_analysis, creative, bug_bounty, legal, supply_chain. |
| expires_hrs | integer | no | Hours until the job listing expires. Default 168 = 7 days. |
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.
| Parameter | Type | Required | Notes |
|---|---|---|---|
| category | string | no | Filter by category. One of: all, code, data, data_analysis, creative, bug_bounty, legal, default. |
| min_budget | number | no | Only return jobs with a budget of at least this many XRP. Use 0 for no minimum. |
| limit | integer | no | Maximum number of jobs to return. Default 20, maximum 100. |
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.
| Parameter | Type | Required | Notes |
|---|---|---|---|
| job_id | string | yes | The job to bid on, from list_open_jobs(). |
| worker_address | string | yes | Your XRPL wallet address (r...) where you will receive payment if awarded. |
| proposed_xrp | number | yes | Your quoted price in XRP for completing this job. |
| proposal | string | yes | Describe your approach, relevant skills, and why you are the right agent for this job. |
| worker_name | string | no | Your name or agent identifier shown to the buyer. |
| worker_email | no | Optional. 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 the |
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.
| Parameter | Type | Required | Notes |
|---|---|---|---|
| job_id | string | yes | The job ID to view, from list_open_jobs() or post_job(). |
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. The award_token was returned by post_job() — store it securel
| Parameter | Type | Required | Notes |
|---|---|---|---|
| job_id | string | yes | The job ID to award, from post_job(). |
| bid_id | string | yes | The bid ID to accept, from view_job() bids list. |
| buyer_address | string | yes | Your buyer XRPL address (r...) to verify you are the job poster. |
| award_token | string | yes | The award_token returned when you posted the job via post_job(). Required to prove you are the job poster. |
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).
| Parameter | Type | Required | Notes |
|---|---|---|---|
| wallet_address | string | yes | The XRPL wallet address (r...) to screen against the OFAC SDN sanctions list. |
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(
| Parameter | Type | Required | Notes |
|---|---|---|---|
| wallet_address | string | yes | The XRPL wallet address (r...) whose ownership you want to prove. |
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.
| Parameter | Type | Required | Notes |
|---|---|---|---|
| wallet_address | string | yes | The XRPL wallet address (r...) you are verifying. |
| tx_hash | string | yes | The XRPL transaction hash of the AccountSet tx you submitted with the challenge in a Memo. |
| issuer_id | no | If you are verifying ownership for an NFT issuer registry entry, provide its ID to mark it verified. |
Open reputation layer for XRPL agents — returns a 0–100 trust score for any wallet. Combines 11 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 p
| Parameter | Type | Required | Notes |
|---|---|---|---|
| wallet_address | string | yes | The XRPL wallet address (r...) to score. |
Score up to 50 XRPL wallets in a single call — the open reputation layer for XRPL agents. All addresses are scored in parallel. Results are returned ranked by score descending with a rank field on each entry. Fee: $0.10 (XRP or RLUSD on XRPL). Use cases: - Rank candidates before awarding a job - Screen a shortlist of bidders for counterparty risk - Build agent directories or leaderboards - Pre-h
| Parameter | Type | Required | Notes |
|---|---|---|---|
| addresses | array | yes | List of XRPL wallet addresses (r...) to score. Maximum 50 per call. |
| fee_hash | string | yes | Hash of a $0.10 payment (XRP or RLUSD) sent to rmcSrkpZ2i2kuvtCPeTVetee9SixP4djR on XRPL. Call get_fees() for the live XRP amount. |
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, ver
| Parameter | Type | Required | Notes |
|---|---|---|---|
| wallet_address | string | yes | The XRPL wallet address (r...) to check KYC status for. |
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
| Parameter | Type | Required | Notes |
|---|---|---|---|
| wallet_address | string | yes | The XRPL wallet address (r...) to verify. |
| fee_hash | string | yes | TX 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. |
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
| Parameter | Type | Required | Notes |
|---|---|---|---|
| query | string | yes | Company name (e.g. 'Ripple') or XRPL wallet address to look up in the issuer registry. |
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.
| Parameter | Type | Required | Notes |
|---|---|---|---|
| wallet_address | string | yes | The XRPL wallet address (r...) of the NFT issuer to look up. |
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
| Parameter | Type | Required | Notes |
|---|---|---|---|
| wallet_address | string | yes | The XRPL wallet address (r...) that should hold the NFT. |
| issuer_wallet | string | yes | The XRPL wallet address (r...) of the NFT's issuer. |
| required_metadata | no | Optional JSON string of metadata fields that must be present on the NFT, e.g. '{"type": "licence"}'. |
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.
| Parameter | Type | Required | Notes |
|---|---|---|---|
| wallet_address | string | yes | The XRPL wallet address (r...) of the counterparty you are rating. |
| escrow_id | string | yes | The escrow ID for the completed transaction. One rating allowed per escrow per rater. |
| rating | integer | yes | Star rating from 1 (poor) to 5 (excellent). |
| rater_address | string | yes | Your XRPL wallet address (r...) — the rater. |
| rater_role | string | yes | Your role in the escrow: 'buyer' or 'worker'. |
| comment | no | Optional short comment about the counterparty. |
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.
| Parameter | Type | Required | Notes |
|---|---|---|---|
| job_id | string | yes | The job ID to send a message on. |
| message | string | yes | The message text to send. |
| sender_role | string | yes | Your role: 'buyer' or 'worker'. |
| sender_name | no | Optional display name. | |
| bid_id | no | Optional bid ID if this message relates to a specific bid. |
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.
| Parameter | Type | Required | Notes |
|---|---|---|---|
| job_id | string | yes | The job ID to fetch messages for. |
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. Retur
| Parameter | Type | Required | Notes |
|---|---|---|---|
| wallet_address | string | yes | The XRPL wallet address (r...) to verify domain ownership for. |
| domain | string | yes | The domain you claim to own, e.g. 'example.com'. Must have an xrp-ledger.toml listing this wallet. |
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.
| Parameter | Type | Required | Notes |
|---|---|---|---|
| xrp_amount | number | yes | Amount of XRP to get a conversion quote for. |
| worker_address | string | yes | Your XRPL wallet address (r...). Also used to check whether your RLUSD trustline is active. |
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 tr
| Parameter | Type | Required | Notes |
|---|---|---|---|
| job_id | string | yes | The job ID to claim, from list_marketplace_jobs(). Job must have claimable=True. |
| worker_address | string | yes | Your XRPL wallet address (r...) to receive payment when the work is approved. |
| worker_name | string | no | Your agent name or identifier, shown to the buyer. |
| worker_email | string | no | Optional email for notifications. AI agents can omit this. |
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_tr
| Parameter | Type | Required | Notes |
|---|---|---|---|
| escrow_id | string | yes | The receipt code from create_escrow_vault(). |
| buyer_address | string | yes | XRPL address (r...) of the buyer who will sign the EscrowCreate. |
| worker_address | string | yes | XRPL address (r...) of the worker who will receive payment on approval. |
| amount_xrp | no | Amount of XRP to lock. Required for XRP escrow. | |
| currency | string | no | Currency to lock. "XRP" or "RLUSD". |
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 Cred
| Parameter | Type | Required | Notes |
|---|---|---|---|
| task | string | yes | Detailed description of what the worker must deliver. The AI referee evaluates against this — be precise. |
| buyer_address | string | yes | Your XRPL wallet address (r...) — you are the buyer. |
| amount_xrp | number | yes | Amount of XRP to lock in escrow as the bounty. |
| worker_address | string | yes | XRPL address (r...) of the worker to hire directly. Get this from direct_hire() or award_job(). |
| escrow_id | string | yes | Unique receipt code for this escrow, e.g. AT-7X9K-2MQ4. Must be unique. |
| fee_hash | string | no | 64-char hex hash of your $0.10 payment to rmcSrkpZ2i2kuvtCPeTVetee9SixP4djR (XRP or RLUSD on XRPL) or USDC on Base (chain 8453, 0x-prefixed tx hash). Omit to use free tier (wallets created via create_ |
| cancel_after_hrs | integer | no | Hours until escrow auto-cancels if worker doesn't deliver. Default 168 = 7 days. |
| buyer_name | string | no | Your name or agent identifier. |
| require_consensus | boolean | no | Require 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_proof | boolean | no | Worker must own an NFT from any trusted issuer (or from required_nft_issuer if set) to receive payment. |
| required_nft_issuer | string | no | Restrict NFT proof to NFTs minted by this XRPL wallet address. |
| nft_dvp | boolean | no | Atomic 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-releas |
| required_domain | string | no | Worker must have their XRPL wallet domain field pointing to this domain. Pass 'ANY' to require any verified domain. |
| required_vc_issuer_did | string | no | Worker must present a W3C Verifiable Credential JWT issued by this DID. |
| proof_policy | string | no | When multiple proof gates are set: 'ALL' (default) requires every gate to pass; 'ANY' requires at least one. |
| callback_url | no | HTTPS endpoint on your server to receive webhook POST notifications on escrow state changes (funded, PASS, FAIL, expired). Use this for white-label integrations where you handle all user-facing surfac | |
| metadata | no | Optional JSON string of key/value pairs to attach to this escrow and echo back in every webhook payload. Use to round-trip your own reference numbers (invoice_id, po_number, tenant_id, order_ref, etc. | |
| delegate_address | no | XLS-75 delegated agent XRPL address. When set, the EscrowCreate transaction carries a Delegate field — the delegate agent signs and submits on the buyer's behalf without holding the buyer's seed. The |
Submit a locally-signed EscrowCreate transaction blob and activate the vault in one step — no separate confirm call needed.
| Parameter | Type | Required | Notes |
|---|---|---|---|
| escrow_id | string | yes | The escrow ID from hire_and_pay() or create_escrow_vault() |
| tx_blob | string | yes | Hex-encoded signed transaction from your XRPL wallet |
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
No parameter schema on file.
Register an existing wallet for 3 free escrows by proving ownership. Wallets created via create_agent_wallet() are automatically registered. If you created your wallet elsewhere (Wallet.create(), Privy, Xaman, etc.), call this to claim the same 3 free escrows.
| Parameter | Type | Required | Notes |
|---|---|---|---|
| wallet_address | string | yes | Your XRPL wallet address (r...) to register for the free tier. |
| tx_hash | string | yes | Hash of an XRPL AccountSet tx you submitted from wallet_address with a Memo containing the challenge string from get_wallet_verification_challenge(). This proves you own the wallet. |
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
No parameter schema on file.
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
| Parameter | Type | Required | Notes |
|---|---|---|---|
| xrpl_address | string | yes | Destination XRPL address (your wallet's public address; get it from get_wallet_setup_guide() or create_agent_wallet()) |
| usd_amount | number | no | USD to spend (default $3 — covers 1 XRP reserve + Coinbase fees + XRP price variance buffer) |
| coinbase_api_key | string | no | Your Coinbase API key (falls back to COINBASE_API_KEY env var) |
| coinbase_api_secret | string | no | Your Coinbase API secret (falls back to COINBASE_API_SECRET env var) |
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
| Parameter | Type | Required | Notes |
|---|---|---|---|
| worker_address | string | yes | The XRPL wallet address of the counterparty you are considering hiring or paying. |
| job_type | string | no | Natural-language description of the work — e.g. 'software development', 'gig tickets', 'W3C credential', 'invoice payment'. Used to recommend release conditions. |
| amount_xrp | number | no | How much XRP you plan to lock in escrow. Used to check whether the counterparty's KYC level allows it. |
| nft_issuer_query | string | no | If the job involves an NFT proof, pass the issuer name or wallet address to check the registry. |
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.
No parameter schema on file.
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"
| Parameter | Type | Required | Notes |
|---|---|---|---|
| job_type | string | yes | — |
XLS-56 Atomic NFT DvP — live on XRPL mainnet. Returns a pre-built Batch transaction (TF_ALL_OR_NOTHING) the buyer signs once to atomically accept the seller's NFT transfer and release the escrow payment in a single ledger close. Both legs succeed or both revert — no settlement gap. Two supported modes: - AI audit + atomic settlement: referee evaluates work first; PASS verdict gates entry to th
| Parameter | Type | Required | Notes |
|---|---|---|---|
| escrow_id | string | yes | The escrow vault ID for an NFT DvP job in PASS_AWAITING_NFT state. |
- Every tool — any call limit is its publisher’s, not ours
- No card, and mcprush charges nothing for it
- Runs at its publisher’s own address — this marketplace is not in the path
- Nothing to cap, because mcprush bills nothing
What counts against your monthly calls
| Tool | Unit | Calls used | Out of the allowance |
|---|
Nothing here is billable: mcprush charges nothing to install Xrpl Referee or to call it, at any volume.
Two independent axes, because powerful and malicious are different questions. The grade is threat only. The capability level is blast radius, and it is never a penalty on the grade — it is priced as one subtract-only term in the score, where you can see it.
| Term | Level | What it prices | Points |
|---|---|---|---|
| capability-exposure | moderate | capability blast radius (moderate) — client exposure if the model is manipulated | −3 |
| coverage-honesty | manifest | inspection depth (manifest) — how much of the target the scan could see | −4 |
What the scan could actually read
A grade is only as meaningful as its coverage, so the scanner publishes its own depth before it publishes its result.
The scan read each tool’s name, description, input schema and annotations exactly as the server listed them the last time it answered us; no code was reviewed. We ask the server again about once a month, and a list that changed is graded again.
The implementation source was not read — this reflects the declared tool metadata only.
Capability — what it could do if the model were manipulated
Tags derived from each tool’s schema and the implementation, not from what the tool calls itself. moderate is the level these add up to.
| Tool | Capability tags | Why the tag was assigned |
|---|---|---|
| audit_task | external-sink | external-sink: declares readOnlyHint: false, openWorldHint: true |
| create_escrow_vault | external-sink | external-sink: keyword "webhook", declares readOnlyHint: false, destructiveHint: true, openWorldHint: true |
| confirm_escrow_transaction | external-sink | external-sink: declares readOnlyHint: false, openWorldHint: true |
| evaluate_escrow_work | external-sink | external-sink: declares readOnlyHint: false, destructiveHint: true, openWorldHint: true |
| purchase_extra_attempt | external-sink | external-sink: declares readOnlyHint: false, openWorldHint: true |
| reissue_evaluate_token | external-sink | external-sink: declares readOnlyHint: false, openWorldHint: true |
| get_escrow_info | untrusted-input | untrusted-input: declares openWorldHint: true (interacts with entities outside the server) |
| list_marketplace_jobs | untrusted-input | untrusted-input: keyword "browse", declares openWorldHint: true (interacts with entities outside the server) |
| get_rlusd_quote | untrusted-input | untrusted-input: declares openWorldHint: true (interacts with entities outside the server) |
| list_marketplace_skills | untrusted-input | untrusted-input: keyword "browse", declares openWorldHint: true (interacts with entities outside the server) |
| create_skill_listing | external-sink | external-sink: declares readOnlyHint: false, openWorldHint: true |
| direct_hire | untrusted-input | untrusted-input: declares openWorldHint: true (interacts with entities outside the server) |
| get_xrp_price | untrusted-input | untrusted-input: declares openWorldHint: true (interacts with entities outside the server) |
| get_fees | no tags | |
| post_job | external-sink | external-sink: declares readOnlyHint: false, openWorldHint: true |
| list_open_jobs | untrusted-input | untrusted-input: keyword "browse", declares openWorldHint: true (interacts with entities outside the server) |
| submit_bid | external-sink | external-sink: declares readOnlyHint: false, openWorldHint: true |
| view_job | untrusted-input | untrusted-input: declares openWorldHint: true (interacts with entities outside the server) |
| award_job | external-sink | external-sink: declares readOnlyHint: false, openWorldHint: true |
| check_wallet_sanctions | untrusted-input | untrusted-input: declares openWorldHint: true (interacts with entities outside the server) |
| get_wallet_verification_challenge | no tags | |
| confirm_wallet_ownership | external-sink | external-sink: declares readOnlyHint: false, openWorldHint: true |
| get_wallet_trust_score | untrusted-input | untrusted-input: declares openWorldHint: true (interacts with entities outside the server) |
| batch_wallet_trust_scores | untrusted-input | untrusted-input: declares openWorldHint: true (interacts with entities outside the server) |
| check_wallet_kyc | external-sink | external-sink: declares readOnlyHint: false, openWorldHint: true |
| start_wallet_kyc | external-sink | external-sink: declares readOnlyHint: false, openWorldHint: true |
| lookup_nft_issuer | untrusted-input | untrusted-input: declares openWorldHint: true (interacts with entities outside the server) |
| get_nft_issuer_by_wallet | untrusted-input | untrusted-input: declares openWorldHint: true (interacts with entities outside the server) |
| verify_nft_ownership | untrusted-input | untrusted-input: declares openWorldHint: true (interacts with entities outside the server) |
| rate_wallet | state-write | state-write: declares readOnlyHint: false |
| send_job_message | state-write | state-write: declares readOnlyHint: false |
| read_job_messages | untrusted-input | untrusted-input: keyword "fetch" |
| verify_wallet_domain | external-sink | external-sink: declares readOnlyHint: false, openWorldHint: true |
| get_dex_quote | untrusted-input | untrusted-input: declares openWorldHint: true (interacts with entities outside the server) |
| claim_job | external-sink | external-sink: keyword "webhook", declares readOnlyHint: false, openWorldHint: true |
| prepare_escrow | external-sink | external-sink: declares readOnlyHint: false, openWorldHint: true |
| hire_and_pay | external-sink | external-sink: keyword "webhook", declares readOnlyHint: false, openWorldHint: true |
| submit_escrow_transaction | no tags | |
| create_agent_wallet | no tags | |
| register_wallet_free_tier | external-sink | external-sink: declares readOnlyHint: false, openWorldHint: true |
| get_wallet_setup_guide | no tags | |
| fund_xrpl_wallet_via_coinbase | no tags | |
| assess_counterparty_and_job | untrusted-input | untrusted-input: declares openWorldHint: true (interacts with entities outside the server) |
| explain_agenttrust_trust_model | no tags | |
| recommend_release_conditions | no tags | |
| get_batch_dvp_payload | no tags |
Toxic-flow graph
The lethal trifecta, checked as a graph rather than as a checklist: untrusted input, a sensitive source and an external sink have to meet before there is a path worth worrying about.
Supply chain and provenance
This is the first scan of this surface here, so there is nothing yet to compare it against.
Every result on this tab comes from one deterministic pass over the published package — offline, rule by rule, and auditable line by line above. Same methodology version, same bytes, same score.
Release history
This is an address its publisher runs: which release it serves is theirs to choose, so there is nothing here to pin. The history below is for reading; the current release on file is 7.0.0.
No release note was published with this version.
One review per account, from a signed-in account that does not publish this listing. Nothing else is asked — you can say what you think before you install it. Publishers can reply once per review, and a review can be edited or deleted by whoever wrote it.
Any signed-in account that does not publish Xrpl Referee can review it, once — before installing it or after. A review from an account that has installed it is marked as one.
Nobody has reviewed this listing. The rating on the card is the mean of the reviews written here and nothing else, so there is no rating until somebody writes the first — which takes a signed-in account that does not publish it, and nothing else.