Beta Ramps API
Orders

Post Orders

POST
/orders

Authorization

headerAuthorizationBearer <token>

Scope: orders:write

Header Parameters

Idempotency-Key*string

Unique key making the create idempotent (16-64 chars of A-Z a-z 0-9 _ -).

Match^[a-zA-Z0-9_-]{16,64}$

Request Body

application/json
  1. body

Create an order. The order type is derived server-side from source_origin/target_destination: omit source_origin for a deposit, omit target_destination for a withdrawal, point both at the same subaccount for an exchange, or at two subaccounts for a transfer. Provide exactly one of source_amount/target_amount, and at least one of source_origin/target_destination.

source_origin?string

Subaccount/account ID funds move from (prefix sub_/acc_). Omit for a deposit.

target_destination?string

Subaccount/account ID funds move to. Omit for a withdrawal.

source_asset*string

Asset code debited, e.g. USD, USDC, BRL.

target_asset*string

Asset code credited.

source_amount?string

Decimal string. Provide this OR target_amount (not both).

target_amount?string

Decimal string. Provide this OR source_amount (not both).

network?string

Chain for a crypto withdrawal (required when withdrawing to a wallet), e.g. ethereum, tron.

wallet_id?string

Destination wallet (prefix wal_) for a crypto withdrawal.

bank_account_id?string

Destination bank account (prefix ba_) for a fiat withdrawal.

description?string
external_reference?string

Your own reference, echoed back on the order.

Response Body

Idempotent replay: the Idempotency-Key matched an existing order, returned unchanged.

application/json
  1. response
id*string

Order ID (prefix ord_).

type*string

Derived order type.

Value in"deposit""withdrawal""exchange""transfer""pool_deposit""pool_withdrawal""pool_exchange"
status*string
Value in"pending""processing""completed""canceled"
source_origin?string
target_destination?string
source_origin_details?

Snapshot of the origin/destination wallet or bank account (set by order type).

target_destination_details?

Snapshot of the origin/destination wallet or bank account (set by order type).

source_asset*string
target_asset*string
source_amount*string

Decimal string.

target_amount*string

Decimal string.

fee*string

Decimal string.

price_reference?string

Decimal string; FX orders only.

rate_base_asset?string

Base asset for price_reference; FX orders only.

failure_code?string

Set when status is canceled due to failure.

external_reference?string
description?string
created_at*string
Formatdate-time
completed_at?string
Formatdate-time
Example Request
curl -X POST 'https://api.betaramps.com/orders' \  -H 'Idempotency-Key: string' \  -H 'Content-Type: application/json' \  -d '{  "source_origin": "sub_0192f4e3-8a9b-7c6d-5e4f-3a2b1c0d9e8f",  "source_asset": "USDC",  "target_asset": "USDC",  "source_amount": "100",  "wallet_id": "wal_0192f4e6-1a2b-7c3d-8e4f-5a6b7c8d9e01",  "network": "ethereum",  "external_reference": "payout-1001"}'
Example Response
{  "id": "ord_0192f4e3-8a9b-7c6d-5e4f-3a2b1c0d9e8f",  "type": "withdrawal",  "status": "completed",  "source_origin": "sub_0192f4e3-8a9b-7c6d-5e4f-3a2b1c0d9e8f",  "target_destination_details": {    "wallet_id": "wal_0192f4e6-1a2b-7c3d-8e4f-5a6b7c8d9e01",    "wallet_address": "0xabc1230000000000000000000000000000000000",    "network": "ethereum",    "asset": "USDC"  },  "source_asset": "USDC",  "target_asset": "USDC",  "source_amount": "100",  "target_amount": "97.5",  "fee": "2.5",  "external_reference": "payout-1001",  "created_at": "2026-01-15T10:00:00Z",  "completed_at": "2026-01-15T10:05:00Z"}