Skip to main content
When you create an escrow, FlareHQ locks the specified USDC amount into a smart contract on Arc Testnet (chain ID 5042002) on your behalf and waits for on-chain confirmation before returning. The response includes the reference ID you will use for every subsequent release, dispute, or status query.
The depositorWalletId is the wallet UUID associated with the depositor’s SCA — not the SCA address itself. Retrieve it from GET /api/agent/status before calling this endpoint.

Endpoint

Authentication

Pass your merchant bearer token in the Authorization header.

Request Body

string
required
The Circle Smart Contract Account (SCA) wallet address that will fund the escrow. This wallet must hold enough USDC to cover amount. Fund testnet wallets at Circle Faucet — select ARC-TESTNET.
string
required
The Circle wallet UUID of the depositor. Used internally to sign the approval and escrow transactions. Retrieve this from GET /api/agent/status.
string
required
The SCA wallet address of the recipient. Funds are released to this address when both parties confirm delivery.
string
required
USDC amount to lock, as a decimal string — e.g. "200.00". USDC uses 6 decimal places internally; the API handles the conversion for you.
number
default:24
Hours from now until the escrow auto-release deadline. Defaults to 24. After the deadline passes, the contract allows the depositor to reclaim funds.
string
A human-readable description of the release condition — e.g. "Delivery of 500 API credits confirmed". Stored on-chain alongside the escrow. Defaults to "No condition set" if omitted.
string
A publicly reachable HTTPS URL. FlareHQ will POST escrow.created and escrow.released events to this URL as JSON. Delivery is best-effort and non-blocking.

Response

boolean
true when the escrow was created and confirmed on-chain.
object
The persisted escrow record.
string
The on-chain transaction hash for the escrow creation — e.g. "0xabc123...".
string
A direct link to the transaction on ArcScan — https://testnet.arcscan.app/tx/{txHash}.
string
A human-readable summary of the operation.
object
Convenience strings showing the exact API calls to release, dispute, or query this escrow.

Examples

Success Response

Error Response — Insufficient Balance

Escrow creation involves on-chain transactions that can take up to 75 seconds to confirm. Do not retry the request during this window — doing so may result in duplicate escrows and double-spending from the depositor’s wallet.