Create Escrow Vault
create_escrow_vaultLock funds in an XRPL escrow vault and release payment to the worker only after their submission passes AI audit or proof gates, enabling verified agent-to-agent payments.
Instructions
Create an XRPL escrow vault. Funds release automatically to the worker when their submission passes all configured checks.
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 (NFT issuer, domain, VC). No AI call. Requires at least one proof gate.
Typical flow after job board negotiation:
award_job() returns the worker's address and agreed price
Pay $0.10 protocol fee (XRP or RLUSD) to rmcSrkpZ2i2kuvtCPeTVetee9SixP4djR
Call this tool with worker_address from step 1
Use returned condition in an XRPL EscrowCreate transaction (sign with your wallet)
Call confirm_escrow_transaction() with the EscrowCreate tx hash
Returns: escrow_id, condition (for EscrowCreate tx), cancel_after_human.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| category | No | Marketplace category for this job. One of: default, creative, code, data, data_analysis, bug_bounty, legal, supply_chain. | default |
| currency | No | Currency to lock. Use "XRP" (no trustline needed) or "RLUSD" (USD-pegged stablecoin). | XRP |
| fee_hash | No | 64-character hex transaction hash of the $0.10 payment (XRP/RLUSD) to rmcSrkpZ2i2kuvtCPeTVetee9SixP4djR. Omit if eligible for free tier (wallet created via create_agent_wallet gets 3 free escrows). | |
| escrow_id | Yes | Unique receipt code for this vault, e.g. AT-7X9K-2MQ4. Used to reference the vault in subsequent calls. | |
| 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. | |
| buyer_name | Yes | Name or identifier of the buyer posting the job. | |
| amount_rlusd | No | Amount of RLUSD to lock in escrow. Required when currency is RLUSD. | |
| buyer_address | Yes | XRPL wallet address (r...) of the buyer. | |
| project_label | No | Optional human-readable label for the job, shown in the marketplace. | |
| worker_address | Yes | XRPL wallet address (r...) of the worker who will receive payment on approval. Use the address returned by award_job(). | |
| max_submissions | No | Number of work submission attempts the worker is allowed before the vault is locked. Default 3. | |
| cancel_after_hrs | No | Hours until the buyer can reclaim funds if the worker does not deliver. Default 168 = 7 days. | |
| require_ai_audit | 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 required_vc_issuer_did). Use for machine-verifiable deliverables: NFT delivery, domain verification, W3C credentials. | |
| task_description | Yes | Detailed specification the worker must fulfil to be paid. Be precise — the AI referee evaluates against this. |
Output Schema
| Name | Required | Description | Default |
|---|---|---|---|
No arguments | |||