UPP Docs
Exchange

Create a quote

POST
/exchange-quotes

Quotes by the amount you sell. Nothing is held or booked. Confirm it once with POST /exchanges before expires_at; after that, request a new quote.

  • The fee is deducted from the currency you buy; buy_amount is what the merchant receives after the fee.
  • Some pairs include the fee in the rate: then rate is buy_amount ÷ sell_amount and fee is 0.
  • For pairs exchanged through a provider, the quote's validity is the provider's, usually a few seconds to a few tens of seconds.

Authorization

merchantApiKeymerchantTimestampmerchantNoncemerchantSignature
headerX-API-KEY<token>

Merchant API key (starts with upk_, also accepts api-key); signing headers are also required

headerX-Timestamp<token>

Unix timestamp in seconds, within 300 seconds of server time

headerX-Nonce<token>

Unique per request; cannot be reused with the same credential during the timestamp validity window

headerX-Signature<token>

Hex HMAC-SHA256 signature (either letter case) of the method, full path, timestamp, nonce and body digest

Request Body

application/json
  1. body
sell_currency*string
buy_currency*string
sell_amount*string

Amount to sell, decimal string with no more decimals than the currency allows

Response Body

Quote

application/json
  1. response
id*string

Quote ID (starts with qte_)

sell_amount*string
sell_currency*string
buy_amount*string

Amount the merchant receives after the fee

buy_currency*string
rate*string

1 unit of the sold currency = rate units of the bought currency; buy_amount ÷ sell_amount when the fee is in the rate

fee*string

Fee, deducted from the bought currency; 0 when the fee is in the rate

fee_currency*string

Fee currency, the bought currency

expires_at*string

Expiry; confirm once before this time

Formatdate-time
Example Request
curl -X POST 'https://sandbox.getupp.net/api/v1/exchange-quotes' \  -H 'Content-Type: application/json' \  -d '{  "sell_currency": "ETH",  "buy_currency": "USD",  "sell_amount": "1"}'
Example Response
{  "id": "qte_01m5ksmh0rf3d8w9xgq7a4bn2t",  "sell_amount": "1.00000000",  "sell_currency": "ETH",  "buy_amount": "1980.00",  "buy_currency": "USD",  "rate": "2000",  "fee": "20.00",  "fee_currency": "USD",  "expires_at": "2026-10-25T09:00:10.000000Z"}