# escrow_open

Protects a payment to a counterparty you do not trust yet, WITHOUT us ever holding your money. You sign a USDC authorization that pays the counterparty directly; we hold the signature and do not broadcast it. When they deliver and you confirm the artifact hash matches, we broadcast and they are paid in one on-chain transfer. If they never deliver, we discard the signature and your funds never moved: they were in your own wallet the whole time. Sign a second authorization for the fee (see escrow_get_quote), which is settled immediately. Returns buyer_token and seller_token, ONCE: hand seller_token to the counterparty when you commission the work, and keep buyer_token, which is what releases payment. Needs no account.

Agent View of the PolicyLayer registry record for `escrow_open`. HTML page: https://policylayer.com/tools/com-focxle-afos/escrow-open

## Facts

- Tool: `escrow_open`
- Server: AFOS — Agentic Financial OS (`https://focxle.com/api/v1/mcp`) — https://policylayer.com/tools/com-focxle-afos.md
- Homepage: https://github.com/https://focxle.com/api/v1/mcp
- Risk category: Financial (Critical risk)
- Registry record: grade F, identity unverified
- Server auth posture: open
- Server rate-limited: no
- Parameters: 5 (3 required)
- Recommended policy verdict: Approval-gated

## Parameters

| Parameter | Type | Required | Description |
| --- | --- | --- | --- |
| `amount_usd` | number | yes | The amount being protected, in USD. Must match the value in your signed authorization. |
| `term_hours` | number | no | How long the counterparty has to deliver. Default 24, maximum 168 (7 days). Shorter is safer: your signature is held for the whole term. |
| `seller_wallet` | string | yes | The counterparty's 0x address on Base. Must match the payee in your signed authorization. |
| `fee_authorization` | string | no | Base64 x402 payment payload for the escrow fee, paying Focxle. Settled immediately when the escrow opens. |
| `payment_authorization` | string | yes | Base64 x402 payment payload: an ERC-3009 authorization paying the SELLER, with validBefore at least 15 minutes past the deadline. Held, never broadcast until de |

Parameters from the server's own tool schema.

## Example call (MCP tools/call, JSON-RPC 2.0)

```json
{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "escrow_open",
    "arguments": {
      "amount_usd": 0,
      "seller_wallet": "<seller_wallet>",
      "payment_authorization": "<payment_authorization>"
    }
  }
}
```

## Why escrow_open is rated Critical

Tool initiates a USDC payment authorization on-chain, directly committing financial obligations.

From the tool's own definition: "sign a USDC authorization that pays the counterparty directly"

## Use case

AI agents use escrow_open to commit financial operations through AFOS — Agentic Financial OS, usually the final step of a payment, billing, or trading workflow. A call moves real money.

## Recommended policy (PolicyLayer)

Verdict: **Approval-gated**. Enforced by the PolicyLayer MCP gateway (https://policylayer.com/mcp-gateway) before a call reaches AFOS — Agentic Financial OS:

```json
{
  "version": "1",
  "default": "deny",
  "tools": {
    "escrow_open": {
      "deny_if": [
        {
          "conditions": [],
          "on_deny": "Requires human approval."
        }
      ]
    }
  }
}
```

## Other tools on AFOS — Agentic Financial OS (36)

- `deal_cancel` — Destructive — https://policylayer.com/tools/com-focxle-afos/deal-cancel.md
- `escrow_cancel` — Destructive — https://policylayer.com/tools/com-focxle-afos/escrow-cancel.md
- `contract_accept_delivery` — Financial — https://policylayer.com/tools/com-focxle-afos/contract-accept-delivery.md
- `contract_reject_delivery` — Financial — https://policylayer.com/tools/com-focxle-afos/contract-reject-delivery.md
- `data_buy` — Financial — https://policylayer.com/tools/com-focxle-afos/data-buy.md
- `deal_accept_terms` — Financial — https://policylayer.com/tools/com-focxle-afos/deal-accept-terms.md
- `deal_open` — Financial — https://policylayer.com/tools/com-focxle-afos/deal-open.md
- `escrow_confirm_delivery` — Financial — https://policylayer.com/tools/com-focxle-afos/escrow-confirm-delivery.md
- `escrow_submit_delivery` — Financial — https://policylayer.com/tools/com-focxle-afos/escrow-submit-delivery.md
- `hiring_publish_my_services` — Financial — https://policylayer.com/tools/com-focxle-afos/hiring-publish-my-services.md
- `hiring_send_inquiry` — Financial — https://policylayer.com/tools/com-focxle-afos/hiring-send-inquiry.md
- `text_summarize` — Financial — https://policylayer.com/tools/com-focxle-afos/text-summarize.md
- `wallet_set_autopay_threshold` — Financial — https://policylayer.com/tools/com-focxle-afos/wallet-set-autopay-threshold.md
- `contract_confirm_delivery` — Read — https://policylayer.com/tools/com-focxle-afos/contract-confirm-delivery.md
- `contract_get` — Read — https://policylayer.com/tools/com-focxle-afos/contract-get.md
- `contract_get_audit_trail` — Read — https://policylayer.com/tools/com-focxle-afos/contract-get-audit-trail.md
- `contract_list` — Read — https://policylayer.com/tools/com-focxle-afos/contract-list.md
- `data_list_for_sale` — Read — https://policylayer.com/tools/com-focxle-afos/data-list-for-sale.md
- `deal_get` — Read — https://policylayer.com/tools/com-focxle-afos/deal-get.md
- `deal_list` — Read — https://policylayer.com/tools/com-focxle-afos/deal-list.md
- `escrow_get` — Read — https://policylayer.com/tools/com-focxle-afos/escrow-get.md
- `escrow_get_quote` — Read — https://policylayer.com/tools/com-focxle-afos/escrow-get-quote.md
- `hiring_get_agent_profile` — Read — https://policylayer.com/tools/com-focxle-afos/hiring-get-agent-profile.md
- `hiring_how_it_works` — Read — https://policylayer.com/tools/com-focxle-afos/hiring-how-it-works.md
- `hiring_list_inquiries` — Read — https://policylayer.com/tools/com-focxle-afos/hiring-list-inquiries.md
- `hiring_search_agents` — Read — https://policylayer.com/tools/com-focxle-afos/hiring-search-agents.md
- `payments_how_it_works` — Read — https://policylayer.com/tools/com-focxle-afos/payments-how-it-works.md
- `trust_check_wallet` — Read — https://policylayer.com/tools/com-focxle-afos/trust-check-wallet.md
- `wallet_get_autopay_threshold` — Read — https://policylayer.com/tools/com-focxle-afos/wallet-get-autopay-threshold.md
- `wallet_get_balance` — Read — https://policylayer.com/tools/com-focxle-afos/wallet-get-balance.md
- …and 6 more: https://policylayer.com/tools/com-focxle-afos.md

## For agents

This record is a snapshot. Live verdicts and the full registry:

- Check every server in your MCP config at once: `npx -y policylayer stack`
- Vet a server before you add it: install the mcp-precheck skill — `npx skills add https://policylayer.com` (skill text: https://policylayer.com/skill.md)
- Query the registry over MCP: endpoint `https://api.policylayer.com/mcp` — tools `check_mcp_server`, `check_mcp_stack`, `check_tool`, `search_registry`, `get_change_events`

---

Source: the PolicyLayer MCP registry — one continuously verified record per MCP server. Full record: https://policylayer.com/registry?q=com-focxle-afos · API: https://policylayer.com/registry/api · Policy library: https://policylayer.com/policies/com-focxle-afos
