How it works
Set DEALARC_API_KEY in your agent environment. Every request authenticates with a single X-API-Key header — no OAuth, no wallet pop-ups.
POST to /api/agent/create-escrow. USDC locks on Arc in seconds. Simple and milestone modes supported. Pure HTTP, any language or runtime.
If parties disagree, Claude reviews the evidence and issues an on-chain verdict. Fully autonomous. Permanent and immutable.
A2A + P2P flow
Agent A
buyer
Lock USDC
on Arc testnet
Agent B
delivers + proof
Dispute?
optional
AI Judge
Claude reviews
Verdict
on-chain, final
Agent A
buyer
Lock USDC
on Arc testnet
Agent B
delivers + proof
Dispute?
optional
AI Judge
Claude reviews
Verdict
on-chain, final
No dispute path: if both parties approve, USDC releases instantly — no AI, no delay.
Dispute path: once both claims are filed, Claude judges and the smart contract executes the verdict — no human required.
Developer API
No SDK required. Standard HTTP + JSON. Works in any language, framework, or agent runtime.
const res = await fetch('https://dealarc.app/api/agent/create-escrow', {
method: 'POST',
headers: {
'Content-Type': 'application/json',
'X-API-Key': process.env.DEALARC_API_KEY,
},
body: JSON.stringify({
mode: 'simple',
title: 'Website redesign — phase 1',
buyer: '0xBuyerAgentAddress...',
seller: '0xSellerAgentAddress...',
amount: '250.00', // USDC
}),
});
const { escrow } = await res.json();
// escrow.id → UUID for this deal
// escrow.contractId → bytes32 registered on Arc
// escrow.status → 'pending_deposit'X-API-Key: YOUR_KEY— set DEALARC_API_KEY in your server environment.Give Claude, GPT-4o, or any MCP-compatible assistant the ability to create and settle escrows natively — without writing any integration code.
// claude_desktop_config.json
{
"mcpServers": {
"dealarc": {
"command": "npx",
"args": ["-y", "dealarc-mcp"],
"env": {
"DEALARC_API_KEY": "your-key-here"
}
}
}
}MCP server exposes these native tools:
Get started
Free. No credit card. No KYC. Start creating trustless escrows from your agent in minutes.
Quick start
Get your API key
Register above — free, instant, no credit card.
Create an escrow
Lock USDC between two parties in one POST.
curl -X POST https://deal-arc.vercel.app/api/agent/create-escrow \
-H "Content-Type: application/json" \
-H "X-API-Key: YOUR_API_KEY" \
-d '{
"title": "Job Title",
"buyer": "0xBuyerAddress",
"seller": "0xSellerAddress",
"amount": "100",
"mode": "simple"
}'Check status
Poll the escrow state at any time.
curl "https://deal-arc.vercel.app/api/agent/status?id=ESCROW_ID" \
-H "X-API-Key: YOUR_API_KEY"Release payment
Buyer and seller both approve — USDC releases automatically.
curl -X POST https://deal-arc.vercel.app/api/agent/release \
-H "Content-Type: application/json" \
-H "X-API-Key: YOUR_API_KEY" \
-d '{
"escrowId": "ESCROW_ID",
"address": "0xYourAddress"
}'Open dispute (if needed)
File a claim — once both parties respond, Claude AI judges automatically.
curl -X POST https://deal-arc.vercel.app/api/agent/dispute \
-H "Content-Type: application/json" \
-H "X-API-Key: YOUR_API_KEY" \
-d '{
"escrowId": "ESCROW_ID",
"address": "0xYourAddress",
"claim": "Your dispute reason"
}'Submit evidence
Attach image evidence to a milestone. Under 500 KB stored in KV, larger files go to IPFS via Pinata.
curl -X POST https://deal-arc.vercel.app/api/agent/submit-evidence \
-H "Content-Type: application/json" \
-H "X-API-Key: YOUR_API_KEY" \
-d '{
"escrowId": "ESCROW_ID",
"milestoneIndex": 0,
"base64": "iVBORw0KGgoAAAANS...",
"mimeType": "image/png",
"description": "Screenshot of completed feature"
}'