NOWPayments API
nowpayments · Finance
NOWPayments is a non-custodial cryptocurrency payment processing platform. Accept payments in a wide range of cryptos and get them instantly converted into a coin of your choice and sent to your wallet. Keeping it simple – no excess. # Sandbox Before production usage, you can test our API using the Sandbox. Details can be found [here](https://documenter.getpostman.com/view/7907941/T1LSCRHC) # Authentication To use the NOWPayments API you should do the following: * Sign up at [nowpayments.
Authentication
Sample Requests
This is a method for calculating the approximate price in cryptocurrency for a given value in Fiat currency. You will need to provide the initial cost in the Fiat currency (amount, currency_from) and the necessary cryptocurrency (currency_to) Currently following fiat currencies are available: usd, e
Hover any highlighted part to learn what it does
curl -X GET "https://api.apis.guru/v2/specs/nowpayments.io/1.0.0/v1/estimate?amount=3999.5000¤cy_to=btc¤cy_from=usd"
import requests
params = {
"amount": "3999.5000",
"currency_to": "btc",
"currency_from": "usd"
}
response = requests.get(
"https://api.apis.guru/v2/specs/nowpayments.io/1.0.0/v1/estimate",
params=params,
)
print(response.json())const url = new URL('https://api.apis.guru/v2/specs/nowpayments.io/1.0.0/v1/estimate');
url.searchParams.set('amount', '3999.5000');
url.searchParams.set('currency_to', 'btc');
url.searchParams.set('currency_from', 'usd');
const response = await fetch(url);
const data = await response.json();
console.log(data);package main
import (
"fmt"
"io"
"net/http"
"net/url"
)
func main() {
baseURL, _ := url.Parse("https://api.apis.guru/v2/specs/nowpayments.io/1.0.0/v1/estimate")
q := baseURL.Query()
q.Set("amount", "3999.5000")
q.Set("currency_to", "btc")
q.Set("currency_from", "usd")
baseURL.RawQuery = q.Encode()
targetURL := baseURL.String()
req, _ := http.NewRequest("GET", targetURL, nil)
client := &http.Client{}
resp, _ := client.Do(req)
defer resp.Body.Close()
body, _ := io.ReadAll(resp.Body)
fmt.Println(string(body))
}require "net/http"
require "json"
uri = URI("https://api.apis.guru/v2/specs/nowpayments.io/1.0.0/v1/estimate")
uri.query = URI.encode_www_form({
"amount" => "3999.5000",
"currency_to" => "btc",
"currency_from" => "usd"
})
http = Net::HTTP.new(uri.host, uri.port)
http.use_ssl = uri.scheme == "https"
req = Net::HTTP::Get.new(uri)
res = http.request(req)
puts JSON.parse(res.body)<?php
$url = "https://api.apis.guru/v2/specs/nowpayments.io/1.0.0/v1/estimate?" . http_build_query([
"amount" => "3999.5000",
"currency_to" => "btc",
"currency_from" => "usd"
]);
$opts = ["http" => [
"method" => "GET",
]];
$ctx = stream_context_create($opts);
$res = file_get_contents($url, false, $ctx);
print_r(json_decode($res, true));Get the minimum payment amount for a specific pair. You can provide both currencies in the pair or just currency\_from, and we will calculate the minimum payment amount for currency\_from and currency which you have specified as the outcome in the Store Settings. You can also specify one of the fi
Hover any highlighted part to learn what it does
curl -X GET "https://api.apis.guru/v2/specs/nowpayments.io/1.0.0/v1/min-amount?currency_to=trx¤cy_from=eth"
import requests
params = {
"currency_to": "trx",
"currency_from": "eth"
}
response = requests.get(
"https://api.apis.guru/v2/specs/nowpayments.io/1.0.0/v1/min-amount",
params=params,
)
print(response.json())const url = new URL('https://api.apis.guru/v2/specs/nowpayments.io/1.0.0/v1/min-amount');
url.searchParams.set('currency_to', 'trx');
url.searchParams.set('currency_from', 'eth');
const response = await fetch(url);
const data = await response.json();
console.log(data);package main
import (
"fmt"
"io"
"net/http"
"net/url"
)
func main() {
baseURL, _ := url.Parse("https://api.apis.guru/v2/specs/nowpayments.io/1.0.0/v1/min-amount")
q := baseURL.Query()
q.Set("currency_to", "trx")
q.Set("currency_from", "eth")
baseURL.RawQuery = q.Encode()
targetURL := baseURL.String()
req, _ := http.NewRequest("GET", targetURL, nil)
client := &http.Client{}
resp, _ := client.Do(req)
defer resp.Body.Close()
body, _ := io.ReadAll(resp.Body)
fmt.Println(string(body))
}require "net/http"
require "json"
uri = URI("https://api.apis.guru/v2/specs/nowpayments.io/1.0.0/v1/min-amount")
uri.query = URI.encode_www_form({
"currency_to" => "trx",
"currency_from" => "eth"
})
http = Net::HTTP.new(uri.host, uri.port)
http.use_ssl = uri.scheme == "https"
req = Net::HTTP::Get.new(uri)
res = http.request(req)
puts JSON.parse(res.body)<?php
$url = "https://api.apis.guru/v2/specs/nowpayments.io/1.0.0/v1/min-amount?" . http_build_query([
"currency_to" => "trx",
"currency_from" => "eth"
]);
$opts = ["http" => [
"method" => "GET",
]];
$ctx = stream_context_create($opts);
$res = file_get_contents($url, false, $ctx);
print_r(json_decode($res, true));Returns the entire list of all transactions, created with certain API key. The list of optional parameters: - limit - number of records in one page. (possible values: from 1 to 500) - page - the page number you want to get (possible values: from 0 to **page count - 1**) - sortBy - sort the received
Hover any highlighted part to learn what it does
curl -X GET "https://api.apis.guru/v2/specs/nowpayments.io/1.0.0/v1/payment/?page=0&limit=10&dateTo=2021-01-01&sortBy=created_at&orderBy=asc&dateFrom=2020-01-01"
import requests
params = {
"page": "0",
"limit": "10",
"dateTo": "2021-01-01",
"sortBy": "created_at",
"orderBy": "asc",
"dateFrom": "2020-01-01"
}
response = requests.get(
"https://api.apis.guru/v2/specs/nowpayments.io/1.0.0/v1/payment/",
params=params,
)
print(response.json())const url = new URL('https://api.apis.guru/v2/specs/nowpayments.io/1.0.0/v1/payment/');
url.searchParams.set('page', '0');
url.searchParams.set('limit', '10');
url.searchParams.set('dateTo', '2021-01-01');
url.searchParams.set('sortBy', 'created_at');
url.searchParams.set('orderBy', 'asc');
url.searchParams.set('dateFrom', '2020-01-01');
const response = await fetch(url);
const data = await response.json();
console.log(data);package main
import (
"fmt"
"io"
"net/http"
"net/url"
)
func main() {
baseURL, _ := url.Parse("https://api.apis.guru/v2/specs/nowpayments.io/1.0.0/v1/payment/")
q := baseURL.Query()
q.Set("page", "0")
q.Set("limit", "10")
q.Set("dateTo", "2021-01-01")
q.Set("sortBy", "created_at")
q.Set("orderBy", "asc")
q.Set("dateFrom", "2020-01-01")
baseURL.RawQuery = q.Encode()
targetURL := baseURL.String()
req, _ := http.NewRequest("GET", targetURL, nil)
client := &http.Client{}
resp, _ := client.Do(req)
defer resp.Body.Close()
body, _ := io.ReadAll(resp.Body)
fmt.Println(string(body))
}require "net/http"
require "json"
uri = URI("https://api.apis.guru/v2/specs/nowpayments.io/1.0.0/v1/payment/")
uri.query = URI.encode_www_form({
"page" => "0",
"limit" => "10",
"dateTo" => "2021-01-01",
"sortBy" => "created_at",
"orderBy" => "asc",
"dateFrom" => "2020-01-01"
})
http = Net::HTTP.new(uri.host, uri.port)
http.use_ssl = uri.scheme == "https"
req = Net::HTTP::Get.new(uri)
res = http.request(req)
puts JSON.parse(res.body)<?php
$url = "https://api.apis.guru/v2/specs/nowpayments.io/1.0.0/v1/payment/?" . http_build_query([
"page" => "0",
"limit" => "10",
"dateTo" => "2021-01-01",
"sortBy" => "created_at",
"orderBy" => "asc",
"dateFrom" => "2020-01-01"
]);
$opts = ["http" => [
"method" => "GET",
]];
$ctx = stream_context_create($opts);
$res = file_get_contents($url, false, $ctx);
print_r(json_decode($res, true));Postman Setup Guide
- See official documentation for authentication and setup.
What can you build with NOWPayments API?
NOWPayments API is a Finance API. Developers commonly use finance APIs for:
- processing payments and handling transactions
- building subscription and billing systems
- automating invoicing and financial reporting
- fraud detection and risk scoring
- connecting to banking and accounting software
No authentication required. This API is open — no signup or key needed. Ideal for quick prototypes and public-facing features. NOWPayments API is free to use, making it a low-risk choice to experiment with.
New to APIs? Read our beginner's guide · Learn about API keys · What is REST?