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."
    }
  }
}