List available payment methods and their capabilities/limits
curl --request GET \
--url https://api.moonpay.com/payments/v1/payment-method-config \
--header 'Authorization: <api-key>'import requests
url = "https://api.moonpay.com/payments/v1/payment-method-config"
headers = {"Authorization": "<api-key>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: '<api-key>'}};
fetch('https://api.moonpay.com/payments/v1/payment-method-config', 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.moonpay.com/payments/v1/payment-method-config",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"Authorization: <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.moonpay.com/payments/v1/payment-method-config"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("Authorization", "<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.moonpay.com/payments/v1/payment-method-config")
.header("Authorization", "<api-key>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.moonpay.com/payments/v1/payment-method-config")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["Authorization"] = '<api-key>'
response = http.request(request)
puts response.read_body[
{
"type": "credit_debit_card",
"displayName": "Debit Card",
"iconUrl": "https://static.moonpay.com/widget/payment_methods/CardGeneric.svg",
"availability": {
"active": true,
"unavailableReason": null
},
"capabilities": {
"supportsRecurring": true,
"settlementSpeed": "instant"
},
"limits": {
"perTransaction": {
"limit": 10000,
"currencyCode": "USD"
},
"daily": {
"limit": 10000,
"currencyCode": "USD"
},
"monthly": {
"limit": 50000,
"currencyCode": "USD"
}
},
"scheduledMaintenances": []
},
{
"type": "bank_transfer",
"displayName": "Bank Transfer",
"iconUrl": "https://static.moonpay.com/widget/payment_methods/BankTransfer.svg",
"availability": {
"active": false,
"unavailableReason": "Temporarily unavailable in region"
},
"capabilities": {
"supportsRecurring": false,
"settlementSpeed": "1_3_days"
},
"limits": {
"perTransaction": {
"limit": 25000,
"currencyCode": "USD"
},
"daily": {
"limit": 25000,
"currencyCode": "USD"
},
"monthly": {
"limit": 50000,
"currencyCode": "USD"
}
},
"scheduledMaintenances": [
{
"startAt": "2025-11-20T01:00:00Z",
"endAt": "2025-11-20T03:00:00Z",
"impact": "degraded",
"lastUpdated": "2025-11-12T10:00:00Z",
"statusPageUrl": "https://status.moonpay.com/incidents/abc123"
}
]
}
]{
"moonPayErrorCode": "4_SYS_BAD_REQUEST",
"message": "<string>",
"type": "<string>",
"errors": [
{
"property": "<string>",
"message": "<string>",
"children": [
{}
]
}
]
}{
"moonPayErrorCode": "4_SYS_BAD_REQUEST",
"message": "<string>",
"type": "<string>",
"errors": [
{
"property": "<string>",
"message": "<string>",
"children": [
{}
]
}
]
}{
"moonPayErrorCode": "4_SYS_BAD_REQUEST",
"message": "<string>",
"type": "<string>",
"errors": [
{
"property": "<string>",
"message": "<string>",
"children": [
{}
]
}
]
}{
"moonPayErrorCode": "4_SYS_BAD_REQUEST",
"message": "<string>",
"type": "<string>",
"errors": [
{
"property": "<string>",
"message": "<string>",
"children": [
{}
]
}
]
}Data
List available payment methods
GET
/
payments
/
v1
/
payment-method-config
List available payment methods and their capabilities/limits
curl --request GET \
--url https://api.moonpay.com/payments/v1/payment-method-config \
--header 'Authorization: <api-key>'import requests
url = "https://api.moonpay.com/payments/v1/payment-method-config"
headers = {"Authorization": "<api-key>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: '<api-key>'}};
fetch('https://api.moonpay.com/payments/v1/payment-method-config', 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.moonpay.com/payments/v1/payment-method-config",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"Authorization: <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.moonpay.com/payments/v1/payment-method-config"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("Authorization", "<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.moonpay.com/payments/v1/payment-method-config")
.header("Authorization", "<api-key>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.moonpay.com/payments/v1/payment-method-config")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["Authorization"] = '<api-key>'
response = http.request(request)
puts response.read_body[
{
"type": "credit_debit_card",
"displayName": "Debit Card",
"iconUrl": "https://static.moonpay.com/widget/payment_methods/CardGeneric.svg",
"availability": {
"active": true,
"unavailableReason": null
},
"capabilities": {
"supportsRecurring": true,
"settlementSpeed": "instant"
},
"limits": {
"perTransaction": {
"limit": 10000,
"currencyCode": "USD"
},
"daily": {
"limit": 10000,
"currencyCode": "USD"
},
"monthly": {
"limit": 50000,
"currencyCode": "USD"
}
},
"scheduledMaintenances": []
},
{
"type": "bank_transfer",
"displayName": "Bank Transfer",
"iconUrl": "https://static.moonpay.com/widget/payment_methods/BankTransfer.svg",
"availability": {
"active": false,
"unavailableReason": "Temporarily unavailable in region"
},
"capabilities": {
"supportsRecurring": false,
"settlementSpeed": "1_3_days"
},
"limits": {
"perTransaction": {
"limit": 25000,
"currencyCode": "USD"
},
"daily": {
"limit": 25000,
"currencyCode": "USD"
},
"monthly": {
"limit": 50000,
"currencyCode": "USD"
}
},
"scheduledMaintenances": [
{
"startAt": "2025-11-20T01:00:00Z",
"endAt": "2025-11-20T03:00:00Z",
"impact": "degraded",
"lastUpdated": "2025-11-12T10:00:00Z",
"statusPageUrl": "https://status.moonpay.com/incidents/abc123"
}
]
}
]{
"moonPayErrorCode": "4_SYS_BAD_REQUEST",
"message": "<string>",
"type": "<string>",
"errors": [
{
"property": "<string>",
"message": "<string>",
"children": [
{}
]
}
]
}{
"moonPayErrorCode": "4_SYS_BAD_REQUEST",
"message": "<string>",
"type": "<string>",
"errors": [
{
"property": "<string>",
"message": "<string>",
"children": [
{}
]
}
]
}{
"moonPayErrorCode": "4_SYS_BAD_REQUEST",
"message": "<string>",
"type": "<string>",
"errors": [
{
"property": "<string>",
"message": "<string>",
"children": [
{}
]
}
]
}{
"moonPayErrorCode": "4_SYS_BAD_REQUEST",
"message": "<string>",
"type": "<string>",
"errors": [
{
"property": "<string>",
"message": "<string>",
"children": [
{}
]
}
]
}Authorizations
Your secret API key, passed as Authorization: Api-Key <secret key>. Secret keys are prefixed with sk_test_ (sandbox) or sk_live_ (production) and must only be used server-side. Never expose them in client code. Find your keys on the API keys page of the dashboard. See Authentication.
Query Parameters
Response
Array of available payment methods and their status for the requested region.