curl --request GET \
--url https://api.sandbox.services.payward.com/v1/ramp/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/ramp/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/ramp/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/ramp/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/ramp/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/ramp/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/ramp/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": {
"limits": {
"from": {
"minimum": {
"symbol": "USD",
"name": "US Dollar",
"type": "fiat",
"amount": "20.00"
},
"maximum": {
"symbol": "USD",
"name": "US Dollar",
"type": "fiat",
"amount": "5000.00"
}
},
"to": {
"minimum": {
"symbol": "BTC",
"name": "Bitcoin",
"type": "crypto",
"amount": "0.00010000"
},
"maximum": {
"symbol": "BTC",
"name": "Bitcoin",
"type": "crypto",
"amount": "0.50000000"
}
}
},
"final_combined": {
"from": {
"minimum": {
"symbol": "USD",
"name": "US Dollar",
"type": "fiat",
"amount": "20.00"
},
"maximum": {
"symbol": "USD",
"name": "US Dollar",
"type": "fiat",
"amount": "5000.00"
}
},
"to": {
"minimum": {
"symbol": "BTC",
"name": "Bitcoin",
"type": "crypto",
"amount": "0.00031746"
},
"maximum": {
"symbol": "BTC",
"name": "Bitcoin",
"type": "crypto",
"amount": "0.07936507"
}
}
}
}
}{
"error": {
"type": "validation_error",
"status": 400,
"instance": "req_123",
"code": "bad_request"
}
}{
"error": {
"type": "authentication_error",
"status": 401,
"instance": "req_123",
"code": "unauthenticated"
}
}{
"error": {
"type": "authorization_error",
"status": 403,
"instance": "req_123",
"code": "forbidden"
}
}{
"error": {
"type": "rate_limit_error",
"status": 429,
"instance": "req_123",
"code": "resource_exhausted"
}
}{
"error": {
"type": "internal_error",
"status": 500,
"instance": "req_123",
"code": "internal"
}
}{
"error": {
"type": "api_error",
"status": 501,
"instance": "req_123",
"code": "unimplemented"
}
}{
"error": {
"type": "service_error",
"status": 503,
"instance": "req_123",
"code": "unavailable"
}
}{
"error": {
"type": "service_error",
"status": 504,
"instance": "req_123",
"code": "deadline_exceeded"
}
}Get Ramp limits
Retrieve combined min/max limits for a Ramp transaction configuration.
curl --request GET \
--url https://api.sandbox.services.payward.com/v1/ramp/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/ramp/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/ramp/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/ramp/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/ramp/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/ramp/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/ramp/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": {
"limits": {
"from": {
"minimum": {
"symbol": "USD",
"name": "US Dollar",
"type": "fiat",
"amount": "20.00"
},
"maximum": {
"symbol": "USD",
"name": "US Dollar",
"type": "fiat",
"amount": "5000.00"
}
},
"to": {
"minimum": {
"symbol": "BTC",
"name": "Bitcoin",
"type": "crypto",
"amount": "0.00010000"
},
"maximum": {
"symbol": "BTC",
"name": "Bitcoin",
"type": "crypto",
"amount": "0.50000000"
}
}
},
"final_combined": {
"from": {
"minimum": {
"symbol": "USD",
"name": "US Dollar",
"type": "fiat",
"amount": "20.00"
},
"maximum": {
"symbol": "USD",
"name": "US Dollar",
"type": "fiat",
"amount": "5000.00"
}
},
"to": {
"minimum": {
"symbol": "BTC",
"name": "Bitcoin",
"type": "crypto",
"amount": "0.00031746"
},
"maximum": {
"symbol": "BTC",
"name": "Bitcoin",
"type": "crypto",
"amount": "0.07936507"
}
}
}
}
}{
"error": {
"type": "validation_error",
"status": 400,
"instance": "req_123",
"code": "bad_request"
}
}{
"error": {
"type": "authentication_error",
"status": 401,
"instance": "req_123",
"code": "unauthenticated"
}
}{
"error": {
"type": "authorization_error",
"status": 403,
"instance": "req_123",
"code": "forbidden"
}
}{
"error": {
"type": "rate_limit_error",
"status": 429,
"instance": "req_123",
"code": "resource_exhausted"
}
}{
"error": {
"type": "internal_error",
"status": 500,
"instance": "req_123",
"code": "internal"
}
}{
"error": {
"type": "api_error",
"status": 501,
"instance": "req_123",
"code": "unimplemented"
}
}{
"error": {
"type": "service_error",
"status": 503,
"instance": "req_123",
"code": "unavailable"
}
}{
"error": {
"type": "service_error",
"status": 504,
"instance": "req_123",
"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.
Query Parameters
Source asset ticker symbol (e.g., "USD"). Use GET /v1/ramp/fiat-currencies to discover supported source currencies.
Symbol identifying an asset within its asset category.
1 - 16Classification of the source asset. Pair with from_symbol to disambiguate when the same ticker exists across asset classes (e.g., USDC as stablecoin vs crypto). Only fiat sources are currently supported (on-ramp).
Source asset classification accepted by Ramp on-ramp flows.
fiat Funding method used for the source side. Use GET /v1/ramp/payment-methods to discover supported payment methods.
1 - 128Destination asset ticker symbol (e.g., "BTC"). Use GET /v1/ramp/buy/crypto to discover supported destination assets.
Symbol identifying an asset within its asset category.
1 - 16Classification of the destination asset. Pair with to_symbol to disambiguate when the same ticker exists across asset classes (e.g., USDC as stablecoin vs crypto). Only crypto and stablecoin destinations are currently supported (on-ramp).
Destination asset classification accepted by Ramp on-ramp flows.
crypto, stablecoin Withdrawal method for the destination asset. Use GET /v1/ramp/buy/crypto to discover available withdrawal methods for each asset.
1 - 128ISO 3166-1 alpha-2 country code. Use GET /v1/ramp/countries to discover supported values.
2^[A-Za-z]{2}$ISO 3166-2 subdivision code suffix (e.g., CA for California when country is US). Use GET /v1/ramp/countries to discover supported values.
1 - 64^[A-Za-z0-9-]+$Response
Successful response
Effective limits for the requested Ramp route.
Show child attributes
Show child attributes