curl --request GET \
--url https://api.sandbox.services.payward.com/v1/accounts/{account_id}/quotes/limits \
--header 'API-Key: <api-key>' \
--header 'API-Nonce: <api-key>' \
--header 'API-Sign: <api-key>'import requests
url = "https://api.sandbox.services.payward.com/v1/accounts/{account_id}/quotes/limits"
headers = {
"API-Key": "<api-key>",
"API-Sign": "<api-key>",
"API-Nonce": "<api-key>"
}
response = requests.get(url, headers=headers)
print(response.text)const options = {
method: 'GET',
headers: {'API-Key': '<api-key>', 'API-Sign': '<api-key>', 'API-Nonce': '<api-key>'}
};
fetch('https://api.sandbox.services.payward.com/v1/accounts/{account_id}/quotes/limits', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.sandbox.services.payward.com/v1/accounts/{account_id}/quotes/limits",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"API-Key: <api-key>",
"API-Nonce: <api-key>",
"API-Sign: <api-key>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://api.sandbox.services.payward.com/v1/accounts/{account_id}/quotes/limits"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("API-Key", "<api-key>")
req.Header.Add("API-Sign", "<api-key>")
req.Header.Add("API-Nonce", "<api-key>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://api.sandbox.services.payward.com/v1/accounts/{account_id}/quotes/limits")
.header("API-Key", "<api-key>")
.header("API-Sign", "<api-key>")
.header("API-Nonce", "<api-key>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.sandbox.services.payward.com/v1/accounts/{account_id}/quotes/limits")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["API-Key"] = '<api-key>'
request["API-Sign"] = '<api-key>'
request["API-Nonce"] = '<api-key>'
response = http.request(request)
puts response.read_body{
"data": {
"asset": {
"symbol": "USD",
"type": "fiat"
},
"minimum_swap": "1",
"maximum": "150000",
"precision": 2,
"limit_reasons": [
"liquidity"
]
}
}{
"error": {
"type": "quote_error",
"instance": "5f4d2a8e-91a4-4d6c-8a17-9b1e2c3f4a5b",
"status": 400,
"code": "bad_request",
"causes": [
{
"field": "account_id",
"message": "must be a valid account identifier"
}
]
}
}{
"error": {
"type": "quote_error",
"instance": "5f4d2a8e-91a4-4d6c-8a17-9b1e2c3f4a5b",
"status": 401,
"code": "unauthenticated"
}
}{
"error": {
"type": "quote_error",
"instance": "5f4d2a8e-91a4-4d6c-8a17-9b1e2c3f4a5b",
"status": 403,
"code": "forbidden"
}
}{
"error": {
"type": "quote_error",
"instance": "5f4d2a8e-91a4-4d6c-8a17-9b1e2c3f4a5b",
"status": 429,
"code": "resource_exhausted"
}
}{
"error": {
"type": "quote_error",
"instance": "5f4d2a8e-91a4-4d6c-8a17-9b1e2c3f4a5b",
"status": 500,
"code": "internal"
}
}{
"error": {
"type": "quote_error",
"instance": "5f4d2a8e-91a4-4d6c-8a17-9b1e2c3f4a5b",
"status": 503,
"code": "unavailable"
}
}{
"error": {
"type": "quote_error",
"instance": "5f4d2a8e-91a4-4d6c-8a17-9b1e2c3f4a5b",
"status": 504,
"code": "deadline_exceeded"
}
}Get quote limits
Returns the effective amount limits for a swap on the selected account.
Limits reflect current liquidity and trading constraints. They are a point-in-time estimate and can change before a quote is created. When available, limit_reasons explains which constraints contributed to maximum.
Set amount_side to the side whose amount the partner will fix when creating a quote. The returned asset and amounts are denominated in that side’s asset. Clamp create-quote amounts to [minimum_swap, maximum]. Amount-too-large/small errors apply to create quote, not to this discovery call. Dust-only floors are intentionally not exposed here and may be added later for dust-sweep flows.
curl --request GET \
--url https://api.sandbox.services.payward.com/v1/accounts/{account_id}/quotes/limits \
--header 'API-Key: <api-key>' \
--header 'API-Nonce: <api-key>' \
--header 'API-Sign: <api-key>'import requests
url = "https://api.sandbox.services.payward.com/v1/accounts/{account_id}/quotes/limits"
headers = {
"API-Key": "<api-key>",
"API-Sign": "<api-key>",
"API-Nonce": "<api-key>"
}
response = requests.get(url, headers=headers)
print(response.text)const options = {
method: 'GET',
headers: {'API-Key': '<api-key>', 'API-Sign': '<api-key>', 'API-Nonce': '<api-key>'}
};
fetch('https://api.sandbox.services.payward.com/v1/accounts/{account_id}/quotes/limits', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.sandbox.services.payward.com/v1/accounts/{account_id}/quotes/limits",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"API-Key: <api-key>",
"API-Nonce: <api-key>",
"API-Sign: <api-key>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://api.sandbox.services.payward.com/v1/accounts/{account_id}/quotes/limits"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("API-Key", "<api-key>")
req.Header.Add("API-Sign", "<api-key>")
req.Header.Add("API-Nonce", "<api-key>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://api.sandbox.services.payward.com/v1/accounts/{account_id}/quotes/limits")
.header("API-Key", "<api-key>")
.header("API-Sign", "<api-key>")
.header("API-Nonce", "<api-key>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.sandbox.services.payward.com/v1/accounts/{account_id}/quotes/limits")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["API-Key"] = '<api-key>'
request["API-Sign"] = '<api-key>'
request["API-Nonce"] = '<api-key>'
response = http.request(request)
puts response.read_body{
"data": {
"asset": {
"symbol": "USD",
"type": "fiat"
},
"minimum_swap": "1",
"maximum": "150000",
"precision": 2,
"limit_reasons": [
"liquidity"
]
}
}{
"error": {
"type": "quote_error",
"instance": "5f4d2a8e-91a4-4d6c-8a17-9b1e2c3f4a5b",
"status": 400,
"code": "bad_request",
"causes": [
{
"field": "account_id",
"message": "must be a valid account identifier"
}
]
}
}{
"error": {
"type": "quote_error",
"instance": "5f4d2a8e-91a4-4d6c-8a17-9b1e2c3f4a5b",
"status": 401,
"code": "unauthenticated"
}
}{
"error": {
"type": "quote_error",
"instance": "5f4d2a8e-91a4-4d6c-8a17-9b1e2c3f4a5b",
"status": 403,
"code": "forbidden"
}
}{
"error": {
"type": "quote_error",
"instance": "5f4d2a8e-91a4-4d6c-8a17-9b1e2c3f4a5b",
"status": 429,
"code": "resource_exhausted"
}
}{
"error": {
"type": "quote_error",
"instance": "5f4d2a8e-91a4-4d6c-8a17-9b1e2c3f4a5b",
"status": 500,
"code": "internal"
}
}{
"error": {
"type": "quote_error",
"instance": "5f4d2a8e-91a4-4d6c-8a17-9b1e2c3f4a5b",
"status": 503,
"code": "unavailable"
}
}{
"error": {
"type": "quote_error",
"instance": "5f4d2a8e-91a4-4d6c-8a17-9b1e2c3f4a5b",
"status": 504,
"code": "deadline_exceeded"
}
}Authorizations
Your public API key. Identifies the partner making the request.
HMAC signature over the request, computed with your private key.
Monotonically increasing nonce included in the request signature.
Path Parameters
Globally unique public identifier for an account.
14 - 42Query Parameters
Source asset ticker symbol. Symbol identifying an asset within its asset category.
1 - 16Classification of the source asset. Asset classifications currently supported by Swap trading endpoints.
fiat, crypto, xstock, stablecoin Destination asset ticker symbol. Symbol identifying an asset within its asset category.
1 - 16Classification of the destination asset. Asset classifications currently supported by Swap trading endpoints.
fiat, crypto, xstock, stablecoin Side whose amount will be fixed when creating the quote and whose asset denominates the returned limits. Side whose asset denominates the requested quote limits.
from, to Response
Effective point-in-time limits for the selected amount side.
Show child attributes
Show child attributes