Skip to content
TradeTransactionsDocsTwitterSupport

Backed by

Paradigm

Paradigm

INTEGRATE API

TradeTransactionsDocsTwitterSupport

INTEGRATE

Backed by

Paradigm

Paradigm

Get order status

Retrieve an order using the id returned when it was created. The response includes its status, deposit details, destination address, and, once delivered, amount_out and the payout_tx that paid it.

Order statuses

StatusMeaning
awaiting_depositWaiting for funds at the deposit address.
fundedThe deposit has been received.
underfundedFar below amount_in arrived at the deposit address, and the order can't be filled.
executingThe route is being executed.
deliveredamount_out has reached the destination address.
refundedExecution gave up and amount_out was sent back to the refund address.
expiredNo deposit arrived before the deposit deadline.
frozenExecution was halted by policy, or gave up with no refund destination, or the refund failed. An operator needs to step in.

Finding the payout transaction

Once an order is delivered or refunded, payout_tx is the transaction that paid amount_out: to the destination address when it is delivered, and to the refund address when it is refunded. It's a transaction hash, or a txid on Bitcoin, and it's null until then.

If the order paid an integrator fee, integrator_fee_tx is the transaction that paid it. It's null when no fee was paid.

Polling an order

Repeat this request with the same id to follow an order. Wait a few seconds between checks and back off on transient errors. Stop polling once the order is delivered, refunded, expired, or frozen. If an order is frozen or underfunded, contact the Rift team using Support.

Try it out

Production
GEThttps://api.rift.trade/order/{id}

Path

Request example

const response = await fetch("https://api.rift.trade/order/%7Bid%7D", {
  method: "GET",
  headers: {
    Accept: "application/json",
  },
});

const data = await response.json();
console.log(data);

Parameters

Required parameters

idstringpath

uuid

Responses

The order

application/json

Example response
{
  "id": "019a3c7e-6d2f-7b41-8c3e-2a9f4d5e6b70",
  "quote_id": "019a3c7e-5b1a-7c3e-9a51-6f3d2b8e4a10",
  "vault_id": "4f8e2c1a-93b7-4d6e-a5f0-7c2b9e8d1a34",
  "from": "bitcoin.btc",
  "to": "ethereum.usdc",
  "amount_in": "0.01",
  "amount_out": "997.208451",
  "payout_tx": "0x7f3a9c1e5b2d84f60a1c7e93d5b8426f0e9a3d17c6b24f58a0de13c79b6f2e41",
  "format": "formatted",
  "deposit_address": "bc1qar0srrr7xfkvy5l643lydnw9re59gtzzwf5mdq",
  "to_address": "0x8ba1f109551bd432803012645ac136ddd64dba72",
  "refund_address": "bc1qxy2kgdygjrsqtzq2n0yrf2493p83kkfjhx0wlh",
  "venue_allowlist": [],
  "venue_blocklist": [],
  "integrator_id": null,
  "integrator_fee_bps": null,
  "integrator_fee_recipient": null,
  "integrator_fee": null,
  "integrator_fee_tx": null,
  "status": "delivered",
  "deposit_deadline": "2026-11-07T19:00:12Z",
  "created_at": "2026-10-31T19:00:12Z"
}
formatstringrequired

The format every amount and asset name in this response is written in, inherited from the quote.

Allowed: "raw""formatted"

idstringrequired

Identifier used in GET /order/{id}.

uuid

quote_idstringrequired

The quote this order was created from.

uuid

vault_idstringrequired

Internal identifier of the vault holding the deposit address.

uuid

fromstringrequired

Asset to deposit, written per format.

tostringrequired

Asset delivered, written per format.

amount_instringrequired

Amount of from to deposit, exactly as quoted.

amount_outstring | null

What the order settled: the amount of to that reached to_address when the status is delivered, or the amount of from that reached refund_address when it is refunded. Absent until then.

payout_txstring | null

The transaction that paid amount_out, to to_address when the status is delivered and to refund_address when it is refunded: a transaction hash, or a txid on Bitcoin. Null until then.

deposit_addressstringrequired

Address on the from chain to send amount_in to.

to_addressstringrequired

Address on the to chain that receives the output.

refund_addressstring | null

Address on the from chain that receives a refund if the order cannot be completed. Null when none was given; it is then set to the deposit's sender address once a refund begins.

Show child attributes
Any of: string 1

string

Any of: null 2

null

venue_allowliststring[]required

Venues quoting was restricted to; empty when it was not.

Show child attributes

string · "aave", "across", "cctp", "chainflip", "cowswap", "euler", "flytrade", "hyperliquid", "kyberswap", "lifi", "mayan", "metric", "morpho", "near_intents", "nordstern", "okx", "relay", "rift_otc", "transit", "tydro", "ultrayield", "uniswap", "unit", "velora", "weth_contract", "xstocks"

venue_blockliststring[]required

Venues excluded from quoting; empty when none were.

Show child attributes

string · "aave", "across", "cctp", "chainflip", "cowswap", "euler", "flytrade", "hyperliquid", "kyberswap", "lifi", "mayan", "metric", "morpho", "near_intents", "nordstern", "okx", "relay", "rift_otc", "transit", "tydro", "ultrayield", "uniswap", "unit", "velora", "weth_contract", "xstocks"

integrator_idstring | null

The integrator_id of the quote this order was created from, or null.

Show child attributes
Any of: string 1

string

Any of: null 2

null

integrator_fee_bpsinteger | null

The integrator_fee_bps of the quote this order was created from, or null.

Show child attributes
Any of: integer 1

integer

Any of: null 2

null

integrator_fee_recipientstring | null

The integrator_fee_recipient of the quote this order was created from, or null.

Show child attributes
Any of: string 1

string

Any of: null 2

null

integrator_feestring | null

Amount of to paid to integrator_fee_recipient, written per format. Null until the order is delivered, and for an order without a fee; a refund pays no fee.

integrator_fee_txstring | null

The transaction that paid integrator_fee. On EVM chains and Bitcoin the fee is paid in the same transaction as amount_out, so this equals payout_tx; on HyperCore it is its own. Null when no fee was paid.

statusstringrequired

awaiting_deposit until funds arrive at deposit_address; funded once they are seen; executing while the route runs; delivered when amount_out has reached to_address; refunded when execution gave up and amount_out was sent back to refund_address instead; expired when nothing arrived by deposit_deadline; frozen when the order was halted by policy, when execution gave up with no refund destination, or when the refund itself failed, and needs an operator.

Allowed: "awaiting_deposit""funded""underfunded""expired""executing""delivered""refunded""frozen"

deposit_deadlinestringrequired

Instant after which deposits are no longer watched for and the order expires. Seven days after creation.

date-time

created_atstringrequired

When the order was created.

date-time

CHAT WITH TEAM