Skip to main content
There are two methods to execute a trade using Anchorage’s standard APIs:
  1. RFQ (Request for Quote) — provides a market price for a trading pair and size; the user accepts before expiry to execute.
  2. Market or limit orders — submitted directly; filled when relevant conditions are met.

Request and accept a quote

The Request quote endpoint provides a market price for a given trading pair, side, and amount. The response includes the asset type, quantity, quote details, a quoteID, and a validity window — typically around 3 seconds. Anchorage does not maintain a history of offered quotes. RFQs support BUY, SELL, and TWOWAY trades. TWOWAY allows buying one asset and selling another in a single trade. To execute, accept the quote by providing the quoteID, trade side, trading account, and idempotentId (if used in the RFQ) within the 3-second offer window. The trade executes immediately upon acceptance.

Avoid duplicate trades with idempotentId

The RFQ request does not require idempotentId, but it is strongly recommended to prevent duplicate trades.
When a unique idempotentId is included in a quote request, Anchorage will not allow acceptance without the same ID in the accept request. Submitting an accept with a prior idempotentId returns the trade info from that previous trade — no new trade is created.

Allowed slippage

The allowedSlippage parameter on accept sets the maximum slippage Anchorage Digital will tolerate, expressed as actual value (e.g., "0.001" = 10 bps). Must be between 0 and 0.002 (20 bps). Trades exceeding 20 bps slippage are rejected. Example: Quote price: $10,000 | allowedSlippage: "0.0008" (8 bps)
ScenarioOutcome
Market moves against quote but stays within slippageFilled — price at $10,007 or better
Market exceeds quote price + slippageRejected
Commission (trading bps) is included in the quoted price and is independent of slippage.

Trade confirmation

Trade summary details are returned immediately, but there may be a short delay before completed price and fee information is available. The actual trade amount will never work against the client — only in the client’s favor, if it changes at all. This occurs because Anchorage Digital routes through an OMS for superior price execution across market makers and exchanges. The OMS synchronizes multiple exchange update methods (API, webhooks, etc.) on differing time frames, which can cause a slight delay between quote acceptance and full trade details.

Place an order

The place-an-order endpoints are applicable for users with separate ledgers (e.g., RIAs). RIAs should refer to the dedicated RIA integration documentation for more detail.

REST API

The place an order endpoint supports limit Fill-or-Kill (FoK) orders — if conditions cannot be met immediately, the order is canceled and no trade occurs. Limit price: Include a limit price to account for market movement between placement and execution. This protects the trader and ensures sufficient funds are allocated.

WebSocket API

WebSocket uses a bidirectional JSON protocol, enabling real-time market data. Once authenticated, use the NewOrderSingle message to submit orders and receive execution reports over the same session. Supported order types: MARKET and LIMIT. Refer to the WebSocket API Getting Started guide for a detailed walkthrough.