ai.agenttrust/mcp
create_escrow_vault
Create an AI-gated XRPL escrow vault. Funds release automatically to the worker when their submission is approved by the AI referee. Typical flow after job board negotiation: 1. award_job() returns the worker's address and agreed price 2. Pay 0.1 XRP protocol fee 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.
Remote xrpl/agent-trust
Other tools also called create_escrow_vault?
See providers with this name
Input Schema
{
"type": "object",
"properties": {
"category": {
"enum": [
"default",
"creative",
"code",
"data",
"data_analysis",
"bug_bounty",
"legal",
"supply_chain"
],
"type": "string",
"default": "default",
"description": "Marketplace category for this job. One of: default, creative, code, data, data_analysis, bug_bounty, legal, supply_chain."
},
"currency": {
"type": "string",
"default": "XRP",
"description": "Currency to lock. Use \"XRP\" (no trustline needed) or \"RLUSD\" (USD-pegged stablecoin)."
},
"fee_hash": {
"type": "string",
"description": "64-character hex transaction hash of the payment to the protocol wallet."
},
"escrow_id": {
"type": "string",
"description": "Unique receipt code for this vault, e.g. AT-7X9K-2MQ4. Used to reference the vault in subsequent calls."
},
"amount_xrp": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
],
"default": null,
"description": "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.1 XRP protocol fee."
},
"buyer_name": {
"type": "string",
"description": "Name or identifier of the buyer posting the job."
},
"amount_rlusd": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
],
"default": null,
"description": "Amount of RLUSD to lock in escrow. Required when currency is RLUSD."
},
"buyer_address": {
"type": "string",
"description": "XRPL wallet address (r...) of the buyer."
},
"project_label": {
"type": "string",
"default": "",
"description": "Optional human-readable label for the job, shown in the marketplace."
},
"worker_address": {
"type": "string",
"description": "XRPL wallet address (r...) of the worker who will receive payment on approval. Use the address returned by award_job()."
},
"max_submissions": {
"type": "integer",
"default": 3,
"description": "Number of work submission attempts the worker is allowed before the vault is locked. Default 3."
},
"cancel_after_hrs": {
"type": "integer",
"default": 168,
"description": "Hours until the buyer can reclaim funds if the worker does not deliver. Default 168 = 7 days."
},
"task_description": {
"type": "string",
"description": "Detailed specification the worker must fulfil to be paid. Be precise — the AI referee evaluates against this."
}
}
}