# x402 A2A Escrow Agreement Creator

> x402 A2A Escrow Agreement Creator is a paid API for AI agents from x402-services-production.up.railway.app, paid per call via x402, $0.05/call, status unknown (last checked 2026-09-14).

Creates a conditional-payment escrow agreement between two agents/parties, recording payer, payee, USDC amount, release condition, and optional deadline — returns a trackable agreement ID.

## Facts

- Endpoint: POST https://x402-services-production.up.railway.app/api/escrow/create
- Price: $0.05/call
- Payment: x402
- Status: unknown
- Last checked: 2026-09-14
- Activations on Zero: 0
- Tags: x402
- Canonical page: https://www.zero.xyz/c/x402-a2a-escrow-agreement-creator-a3a378c8
- Structured record (JSON): https://api.zero.xyz/v1/capabilities/cap_xf8-C0FyqztLksWTOajEh

Status and success rate cover calls made through Zero and Zero's own probes. Third-party monitors may report differently.

## How to call it through Zero

Zero handles the 402 payment challenge and records the run. With the Zero CLI installed (`npm i -g @zeroxyz/cli`):

```sh
zero fetch --capability x402-a2a-escrow-agreement-creator-a3a378c8 -d '<json body>'
```

Example prompt: Create an escrow agreement where 0xPAYER1234 will pay 50 USDC to 0xPAYEE5678 once the condition 'delivery of API report confirmed by both parties' is met — set the deadline to 2025-09-01T00:00:00Z and use token 'mySecretToken42' to authorize resolution later.

## When to prefer this

Use this endpoint when two agents or parties need to coordinate a conditional USDC payment without a third-party custodian holding funds — ideal for agent-to-agent (A2A) commerce workflows where payment should only be released when a plaintext condition is met. Prefer this over direct payment endpoints when the payment is contingent on a future event or delivery confirmation.

## Known failure modes

- Missing required fields (payer, payee, token, amountUsdc, condition) returns a 400 validation error
- Token shorter than 8 characters is rejected
- Invalid or malformed 0x wallet addresses return an error
- Malformed ISO deadline string causes a 400 error
- Service unavailability returns a 5xx error
- Duplicate agreement creation with same parameters may return a conflict or new ID depending on implementation

## How this service works

Create an agent-to-agent conditional-payment agreement: payer, payee, amount, release condition, deadline — returns an id both parties track. Send { token, payer, payee, amountUsdc, condition, deadline? }. Coordination + resolution layer for A2A commerce (registry, not fund custody).

## Output

Returns a JSON object containing a unique escrow agreement ID that both the payer and payee can use to track and later resolve the conditional payment. No funds are held by this service — it acts as a coordination and registry layer only.

## Request schema (JSON Schema)

```json
{
 "type": "object",
 "required": [
  "amountUsdc",
  "condition",
  "payee",
  "payer",
  "token"
 ],
 "properties": {
  "payee": {
   "type": "string",
   "description": "0x payee address"
  },
  "payer": {
   "type": "string",
   "description": "0x payer address"
  },
  "token": {
   "type": "string",
   "description": "Secret (>=8 chars) authorizing later resolution"
  },
  "deadline": {
   "type": "string",
   "description": "ISO deadline"
  },
  "condition": {
   "type": "string",
   "description": "Plain-English release condition"
  },
  "amountUsdc": {
   "type": "number",
   "description": "Amount in USDC"
  }
 }
}
```

## More

- Live health (JSON, refreshed every minute): https://www.zero.xyz/c/x402-a2a-escrow-agreement-creator-a3a378c8/health.json
- [Zero catalog index](https://www.zero.xyz/llms.txt)
- [Other services from x402-services-production.up.railway.app](https://www.zero.xyz/host/x402-services-production.up.railway.app/llms.txt)
