# Usdc Escrow

> Trustless USDC escrow for agent-to-agent payments on Base. Create, release, dispute escrows via simple commands.

- Skill: `knownasnaffy/usdc-escrow-3` (Agent Skill, multi-file: 10 files)
- Install (CLI): `npx skillmds@latest add knownasnaffy/usdc-escrow-3`
- Raw SKILL.md: https://api.skillmd.com/api/skills/knownasnaffy/usdc-escrow-3/raw
- Safety review: pending
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: AI & ML
- Author: knownasnaffy (https://skillmd.com/u/knownasnaffy)
- Updated: 2026-09-22
- Page: https://skillmd.com/skills/knownasnaffy/usdc-escrow-3

---





### Credential Fixture Review

`python scripts/_credentials.py` is review material for the `USDC Escrow Skill` skill. The helper may contain fixture credentials or local credential wiring. Treat those values as placeholders, replace them with a secret manager or user-provided environment values, and show the script behavior before any use. Do not contact external services with embedded sample credentials.

# USDC Escrow Skill

## Overview
This skill provides trustless USDC escrow services for agent-to-agent payments on Base. It allows AI agents to create, manage, and resolve payment escrows using smart contracts.

## API
All scripts point to `https://api.payclawback.xyz` by default. To use a different backend, set:
- `ESCROW_API_URL` - Override API URL (optional)

## Available Commands

### Create an Escrow
Creates a new escrow holding USDC for a beneficiary.
```bash
./scripts/create-escrow.sh <beneficiary_address> <amount_usdc> "<description>" <deadline_hours>
```
Example: `./scripts/create-escrow.sh 0x742d35Cc6634C0532925a3b844Bc9e7595f2bD28 10 "Payment for data analysis" 48`

### List Escrows
List all escrows, optionally filtered by state or depositor.
```bash
./scripts/list-escrows.sh [--state active|released|disputed|refunded|expired] [--depositor 0x...]
```

### Get Escrow Details
Get details of a specific escrow by ID.
```bash
./scripts/get-escrow.sh <escrow_id>
```

### Release Escrow
Release escrowed funds to the beneficiary.
```bash
./scripts/release-escrow.sh <escrow_id>
```

### Dispute Escrow
Open a dispute on an active escrow.
```bash
./scripts/dispute-escrow.sh <escrow_id>
```

### Resolve Dispute
Resolve a disputed escrow as arbiter.
```bash
./scripts/resolve-dispute.sh <escrow_id> <true|false>
```
- `true` = release funds to beneficiary
- `false` = refund to depositor

### Claim Expired Escrow
Reclaim funds from an expired escrow.
```bash
./scripts/claim-expired.sh <escrow_id>
```

## Workflow Example
1. Agent A wants to pay Agent B for a service
2. Agent A creates an escrow: `./scripts/create-escrow.sh 0xAgentB 50 "Sentiment analysis job" 24`
3. Agent B performs the service
4. Agent A releases payment: `./scripts/release-escrow.sh 1`

## How It Works
- USDC is locked in a [verified smart contract on Base](https://sepolia.basescan.org/address/0x2a27844f3775c3a446d32c06f4ebc3a02bb52e04)
- The escrow has a deadline - funds return to depositor if expired
- Either party can open a dispute for arbiter resolution
- The AI arbiter agent resolves disputes impartially
- All transactions are on-chain and verifiable

## API Reference
See `references/api-docs.md` for complete API documentation.

