curl --request GET \
--url "https://api.stablepay.co/api/v1/quote/pairs?transfer_type=<TRANSFER_TYPE>" \
--header "Authorization: Bearer <API_KEY>" \
--header "X-StablePay-Timestamp: <TIMESTAMP>" \
--header "X-StablePay-Nonce: <NONCE>" \
--header "X-StablePay-Signature: <SIGNATURE>"
const response = await fetch("https://api.stablepay.co/api/v1/quote/pairs?transfer_type=<TRANSFER_TYPE>", {
method: "GET",
headers: {
"Authorization": "Bearer <API_KEY>",
"X-StablePay-Timestamp": "<TIMESTAMP>",
"X-StablePay-Nonce": "<NONCE>",
"X-StablePay-Signature": "<SIGNATURE>"
}
});
console.log(await response.json());
{
"pairs": [
{
"source_currency": "USD",
"target_currency": "USDC",
"transfer_type": "on_ramp"
},
{
"source_currency": "USDC",
"target_currency": "USDT",
"transfer_type": "swap"
}
]
}
Stablecoin Exchange API
List supported currency pairs
List supported currency pairs
GET
/
api
/
v1
/
quote
/
pairs
curl --request GET \
--url "https://api.stablepay.co/api/v1/quote/pairs?transfer_type=<TRANSFER_TYPE>" \
--header "Authorization: Bearer <API_KEY>" \
--header "X-StablePay-Timestamp: <TIMESTAMP>" \
--header "X-StablePay-Nonce: <NONCE>" \
--header "X-StablePay-Signature: <SIGNATURE>"
const response = await fetch("https://api.stablepay.co/api/v1/quote/pairs?transfer_type=<TRANSFER_TYPE>", {
method: "GET",
headers: {
"Authorization": "Bearer <API_KEY>",
"X-StablePay-Timestamp": "<TIMESTAMP>",
"X-StablePay-Nonce": "<NONCE>",
"X-StablePay-Signature": "<SIGNATURE>"
}
});
console.log(await response.json());
{
"pairs": [
{
"source_currency": "USD",
"target_currency": "USDC",
"transfer_type": "on_ramp"
},
{
"source_currency": "USDC",
"target_currency": "USDT",
"transfer_type": "swap"
}
]
}
See authentication, signing, data conventions, and errors. Regenerate the timestamp, nonce, and signature on every retry.
GET /quote/pairs Returns the currency pairs the platform supports for a transfer type.
Request headers
string
required
Bearer API Key.
string
required
Unix seconds, within five minutes of server time.
string
required
Unique per request, 16–64 characters.
string
required
Lowercase hexadecimal HMAC-SHA256 signature for the exact request body.
Request parameters
string
10 digits; omit for merchant apps, required for service-provider apps
string
required
on_ramp, off_ramp, swapResponse
array
required
Currency pairs
string
required
Sell currency
string
required
Buy currency
string
required
Applicable transfer type
Status and errors
400 on an invalidtransfer_type.
curl --request GET \
--url "https://api.stablepay.co/api/v1/quote/pairs?transfer_type=<TRANSFER_TYPE>" \
--header "Authorization: Bearer <API_KEY>" \
--header "X-StablePay-Timestamp: <TIMESTAMP>" \
--header "X-StablePay-Nonce: <NONCE>" \
--header "X-StablePay-Signature: <SIGNATURE>"
const response = await fetch("https://api.stablepay.co/api/v1/quote/pairs?transfer_type=<TRANSFER_TYPE>", {
method: "GET",
headers: {
"Authorization": "Bearer <API_KEY>",
"X-StablePay-Timestamp": "<TIMESTAMP>",
"X-StablePay-Nonce": "<NONCE>",
"X-StablePay-Signature": "<SIGNATURE>"
}
});
console.log(await response.json());
{
"pairs": [
{
"source_currency": "USD",
"target_currency": "USDC",
"transfer_type": "on_ramp"
},
{
"source_currency": "USDC",
"target_currency": "USDT",
"transfer_type": "swap"
}
]
}
Last modified on October 29, 2026
Was this page helpful?
