# Kustodia — Full Tool Reference for AI Agents # https://kustodia.app | MCP Server: kustodia-escrow v2.0.0 # 37 tools | 10 chains | 5 payment rails | 6 agent protocols ## FIAT ESCROW TOOLS (MXN/USD via SPEI + wire) ### create_escrow Create a fiat escrow. Returns CLABE/wire deposit instructions. Params: amount(number), currency(MXN|USD), payer_email(string), recipient_email(string) Optional: description, custody_days(1-365), payment_type(standard|vehicle_verification), vehicle_vin, vehicle_make, vehicle_model ### check_status Check fiat payment status, deposit details, payout readiness. Params: payment_id(uuid) ### release_funds Release escrowed funds to seller. Triggers on-chain release + SPEI/wire payout. Params: payment_id(uuid) Optional: reason(string) ### upload_evidence Upload evidence for any escrow (fiat or web3). Params: payment_id(uuid), description(string), evidence_type(delivery_confirmation|inspection_report|photo|document|other) ### get_fx_rate Get FX rate between currencies. Params: from(USD|MXN|USDC|MXNB), to(USD|MXN|USDC|MXNB) Optional: amount(number) ### list_payments List fiat payments with filters. Optional: status, limit(1-50), offset ### cancel_payment Cancel a pending fiat payment before deposit. Params: payment_id(uuid) ### raise_dispute Raise dispute on fiat payment. Params: payment_id(uuid), reason(string) ### request_refund Request refund for fiat payment. Params: payment_id(uuid) Optional: buyer_clabe, reason ## WEB3 ESCROW TOOLS (on-chain, wallet-to-wallet) Supported chains: Arbitrum(42161), Base(8453), Polygon(137), Injective(1776), Arb Sepolia(421614), Base Sepolia(84532) ### create_web3_escrow Create on-chain escrow via relayer. Set use_zerodev=true for gasless smart account flow. Params: payee_address(0x), token(USDC|MXNB|USDT), amount(number), chain_id(number) Optional: payer_address, custody_days, vertical, conditions, use_zerodev(boolean) ### fund_web3_escrow Fund an existing on-chain escrow (approve + fundEscrow). Params: escrow_id(number), chain_id(number) Optional: agent_private_key ### release_web3_escrow Release a funded on-chain escrow — tokens go to payee. Params: escrow_id(number), chain_id(number) ### dispute_web3_escrow Dispute a funded escrow. Freezes for mediation. Params: escrow_id(number), chain_id(number), reason(string, min 10 chars) ### check_web3_status Check on-chain escrow status from DB index. Params: escrow_id(number) Optional: chain_id ### list_web3_escrows List on-chain escrows with filters. Optional: chain_id, status, address, limit(1-50), offset ### get_web3_escrow Read escrow data directly from smart contract (real-time). Params: escrow_id(number), chain_id(number) ## ZERODEV / ERC-4337 TOOLS (gasless) ### create_session_key Create a scoped session key for gasless escrow funding. 24h expiry. Params: chain_id(421614|84532), token_address(string) ### fund_with_session_key Fund escrow using server-side session key. Batched approve + fundEscrow in one gasless UserOp. Params: session_id(uuid), escrow_id(number), amount(number) Optional: chain_id, token_decimals ## AGENT TRADING TOOLS ### register_agent_wallet Register AI agent's wallet for discovery and trading. Params: agent_name(string), wallet_address(0x), chain_id(number) Optional: supported_tokens, capabilities, metadata ### list_trade_offers List open escrows/offers on-chain. Params: chain_id(number) Optional: status(created|funded|all), limit(1-50) ### accept_trade Check if you're the counterparty in a trade. Params: escrow_id(number), chain_id(number), agent_wallet(0x) ## WALLET + READ TOOLS ### check_balance Check native + ERC20 balances for any wallet on any chain. Params: wallet_address(0x), chain_id(number) Optional: tokens(string[]) ### get_trust_score Get trust score and badge for any wallet. Aggregates escrow history. Params: wallet_address(string) Returns: badge(new|verified|trusted|elite), completion_rate, dispute_rate, volume, chains ### get_escrow_evidence List all evidence files attached to an escrow. Returns IPFS + GCS URLs. Params: escrow_id(uuid) Optional: escrow_type(web3|fiat) ## SOLANA BLINKS ### create_solana_blink Create a Solana Blink escrow — shareable payment link. Params: seller_wallet(base58), amount(number), description(string) Optional: category, deadline_hours Returns: share_url, phantom_deeplink, whatsapp_share, dial_to_url ## CONFIDENTIAL ESCROW (FHE — Arbitrum Sepolia) ### create_confidential_escrow Create FHE-encrypted on-chain escrow. Amounts invisible on block explorers. Params: payee_address(0x), token(USDC), amount(number), chain_id(421614) ### fund_confidential_escrow Fund confidential escrow with FHERC20 encrypted tokens. Params: escrow_id(number), chain_id(421614) ### release_confidential_escrow Release confidential escrow with CoFHE decryption. Params: escrow_id(number), chain_id(421614) ## RECURRING SUBSCRIPTIONS ### create_recurring_escrow Create recurring escrow subscription. Auto-creates cycles at interval. Params: payer_id(uuid), payee_id(uuid), service_name, amount, currency, interval(daily|weekly|monthly|...), max_cycles, payment_method(fiat|web3|gasless) ### pause_recurring / resume_recurring / cancel_recurring Manage subscription lifecycle. Params: subscription_id(uuid) ### approve_cycle Approve a pending billing cycle (for non-delegated subscriptions). Params: cycle_id(uuid) ### list_recurring List recurring subscriptions. Optional: status, user_id, payee_id ### get_recurring_status Full subscription status with cycle history. Params: subscription_id(uuid) ## AGENT WALLET FUNDING ### fund_agent_wallet Fund agent wallet via fiat on-ramp (SPEI or wire → USDC/MXNB). Params: wallet_address(0x), amount(number) Optional: deposit_method(spei|wire), token(USDC|MXNB), reference