Create an orchestration address
Changed onCreate a persistent on-chain wallet that automatically offramps any stablecoin deposit to a USD bank account.
The endpoint provisions the escrow wallet synchronously, so the response typically already carries status=ACTIVE and a populated address. If the provider call is mid-flight, status=PENDING_WALLET and address=null — retry the same call (same requestId) to drive provisioning forward.
Idempotency. Repeating the same requestId with an identical payload returns the existing record (200). Repeating it with a different payload returns 409 RESOURCE_CONFLICT indicating which field differs (e.g. requestId already used with a different source.chain).
Mode rules:
- PER_DEPOSIT — each deposit is batched into its own offramp immediately, unless it's below the destination rail's offramp minimum, in which case it's held PENDING until the cumulative pending reaches the minimum, then batched together.
- SCHEDULED — deposits accumulate until the next HOURLY/DAILY/WEEKLY tick.
- THRESHOLD — deposits accumulate until thresholdAmount is reached.
Source & minimums. source.currency must be supported on source.chain (e.g. USDT on TRON, USDC on Base/Polygon/Ethereum/Solana) — unsupported pairs like USDC on TRON return 400. Each rail also has a minimum offramp amount (e.g. ≥ 5 for SWIFT, ≥ 1 for wire/ACH/RTP; USDT ≥ 10); THRESHOLD's thresholdAmount must meet it.
See the schema description on CreateOrchestrationAddress for the exact field-combination rules.
Request
- Base URLhttps://production.hifibridge.com
- URLhttps://production.hifibridge.com/v2/users/{userId}/orchestration-addresses
- AuthHTTP bearer
Path parameters
ID of the user
Query parameters
Optional profile (client/organization) scope. When omitted the request is scoped to the caller's default profile. Used by requestId idempotency: addresses are unique per (profileId, requestId).
Request body
Example request
{
"offrampMessage": "Invoice 42",
"thresholdAmount": "100.00"
}Response
A single orchestration address record.
Example response
{
"address": "0xAbC0123456789AbCdEf0123456789AbCdEf01234",
"source": {
"chain": "BASE"
},
"offrampMessage": "Invoice 42",
"thresholdAmount": "100.00",
"balance": {
"currency": "usdc",
"amount": "100.500000"
}
}Changes
- info
added the new optional request property
- info
added the optional property
to the response with the status
- info