Skip to main content
POST
/
v1
/
accounts
/
{account_id}
/
quotes
curl
curl -X POST "https://api.services.payward.com/v1/accounts/W4BE9868GY65TB6523/quotes" \
  -H "API-Key: $PWS_API_KEY" \
  -H "API-Nonce: $PWS_API_NONCE" \
  -H "API-Sign: $PWS_API_SIGN" \
  -H "Idempotency-Key: 550e8400-e29b-41d4-a716-446655440000" \
  -H "Content-Type: application/json" \
  -d '{
    "from": {
      "symbol": "BTC",
      "type": "crypto",
      "amount": "0.5"
    },
    "to": {
      "symbol": "USD",
      "type": "fiat"
    },
    "fee": {
      "bps": 50
    }
  }'
{ "data": { "id": "Q-BTC2USD-1", "status": "offered", "expires_at": "2026-04-23T16:00:30Z", "from": { "symbol": "BTC", "name": "Bitcoin", "type": "crypto", "amount": "0.5" }, "to": { "symbol": "USD", "name": "US Dollar", "type": "fiat", "amount": "31495.50" }, "fees": { "trade": { "symbol": "USD", "name": "US Dollar", "type": "fiat", "amount": "150.00" } }, "rate": { "base": { "symbol": "BTC", "name": "Bitcoin", "type": "crypto" }, "quote": { "symbol": "USD", "name": "US Dollar", "type": "fiat" }, "price": "63291.00" } } }

Authorizations

api-key
string
header
required
api-sign
string
header
required
api-nonce
string
header
required
api-otp
string
header
required

Headers

Idempotency-Key
string<uuid>

Client-generated UUIDv4 for safe retries. Sent as the Idempotency-Key HTTP header. Replayed responses include the Idempotent-Replayed: true header.

Pattern: ^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-4[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}$
Example:

"550e8400-e29b-41d4-a716-446655440000"

Path Parameters

account_id
string
required

ID of the account the request applies to. This refers to one of the accounts held by the user the request is acting on behalf of (typically the user's main account, but any of the user's accounts is accepted). Routes the request to that specific account container. Canonical identifier for an account in the Payward public API.

Required string length: 14 - 42

Body

application/json

Request to create a new quote.

Exactly one of from.amount or to.amount must be provided to indicate which side of the trade is fixed. The server calculates the other side. Requests that set both amounts or omit both are rejected with a 400 Bad Request.

from
object
required

Source asset and amount for the trade.

to
object
required

Destination asset and amount for the trade.

fee
object

Partner-configured fee applied on top of the underlying execution price. Request-only — never returned in response payloads.

Response

Successful response

data
object

A swap quote.