Skip to main content
POST
/
off-ramp
/
intents
Create Off-ramp Intent
curl --request POST \
  --url https://api.coinvoyage.io/v3/off-ramp/intents \
  --header 'Authorization: <api-key>' \
  --header 'Authorization-Signature: <authorization-signature>' \
  --header 'Content-Type: application/json' \
  --data '
{
  "amount": 10.5,
  "bank_account_id": "external_123",
  "payment_rail": "ach",
  "sender_address": "0x1234...abcd",
  "slippage_bps": 50,
  "src": {
    "address": "EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v",
    "chain_id": 30000000000001
  },
  "withdraw_currency": "usd"
}
'
{
  "data": {
    "payment_rail": "ach",
    "source": {
      "address": "0x833589fcd6edb6e08f4c7c32d4f71b54bda02913",
      "amount": {
        "raw": "100000000",
        "ui": "100.0",
        "value_usd": 100
      },
      "chain_id": 8453,
      "decimals": 6,
      "id": "8453-0xabc123...",
      "name": "USD Coin",
      "ticker": "USDC"
    }
  },
  "id": "withdrawal_123",
  "organization_id": "org_123",
  "source_transaction_hash": "0xabc123...",
  "status": "PENDING",
  "type": "OFF_RAMP"
}

Authorizations

Authorization
string
header
required

HMAC-SHA256 signature. See the Authorization-Signature header parameter on signed operations.

Headers

Authorization-Signature
string
required

HMAC-SHA256 signature header: 'APIKey=<api_key>,signature=,timestamp=<unix_timestamp>'. The signature is computed over METHOD + path (with the /v3 prefix stripped) + timestamp.

Body

application/json
src
object
required
Example:
{
"address": "EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v",
"chain_id": 30000000000001
}
amount
number
required
Example:

10.5

bank_account_id
string
required
Example:

"external_123"

withdraw_currency
string
required
Example:

"usd"

payment_rail
enum<string>
required

Bridge fiat payment rail used for off-ramp withdrawal settlement

Available options:
ach,
wire,
ach_push,
ach_same_day,
sepa,
spei,
pix,
swift,
faster_payments,
fiat_deposit_return
Example:

"ach"

sender_address
string | null
Example:

"0x1234...abcd"

slippage_bps
integer | null
Example:

50

Response

Off-ramp intent created with execution steps

id
string
required
Example:

"withdrawal_123"

organization_id
string
required
Example:

"org_123"

type
enum<string>
required
Available options:
OFF_RAMP,
ON_RAMP
Example:

"OFF_RAMP"

status
enum<string>
required
Available options:
PENDING,
FUNDS_RECEIVED,
KYC_PENDING,
COMPLETED,
FAILED
Example:

"PENDING"

data
object
required
Example:
{
"payment_rail": "ach",
"source": {
"address": "0x833589fcd6edb6e08f4c7c32d4f71b54bda02913",
"amount": {
"raw": "100000000",
"ui": "100.0",
"value_usd": 100
},
"chain_id": 8453,
"decimals": 6,
"id": "8453-0xabc123...",
"name": "USD Coin",
"ticker": "USDC"
}
}
created_at
string<date-time>
required
updated_at
string<date-time>
required
source_transaction_hash
string | null
Example:

"0xabc123..."

processed_at
string | null