List transactions
curl --request GET \
--url https://api.moonpay.com/platform/v1/transactions \
--header 'Authorization: Bearer <token>'import requests
url = "https://api.moonpay.com/platform/v1/transactions"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://api.moonpay.com/platform/v1/transactions', 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/platform/v1/transactions",
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: Bearer <token>"
],
]);
$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/platform/v1/transactions"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("Authorization", "Bearer <token>")
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/platform/v1/transactions")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.moonpay.com/platform/v1/transactions")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["Authorization"] = 'Bearer <token>'
response = http.request(request)
puts response.read_body{
"data": [
{
"id": "fd43b900-593b-4125-9616-7d721ecbe875",
"transactionHash": "0x0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef",
"createdAt": "2026-01-29T14:30:50.000Z",
"updatedAt": "2026-01-29T15:30:50.000Z",
"status": "completed",
"source": {
"amount": "100.02",
"asset": {
"code": "USD"
}
},
"destination": {
"amount": "100.02",
"asset": {
"code": "USDC"
}
},
"fees": {
"network": {
"amount": "2.39",
"asset": {
"code": "USD"
}
},
"moonpay": {
"amount": "4.99",
"asset": {
"code": "USD"
}
},
"ecosystem": {
"amount": "1.00",
"asset": {
"code": "USD"
}
}
},
"wallet": {
"address": "0x1234567890123456789012345678901234567890"
},
"customer": {
"id": "e0dee0ac-4e62-4866-b044-f66c0e4046e9"
},
"paymentMethod": {
"type": "apple_pay"
},
"bankTransferDepositInfo": {
"reference": "MP-8F3K2A",
"recipientName": "MoonPay Ltd",
"recipientAddress": "1 Market Street, London, EC1A 1AA, United Kingdom",
"iban": "GB29NWBK60161331926819",
"bic": "NWBKGB2L",
"bankName": "MoonPay Bank",
"bankAddress": "1 Market Street, London, EC1A 1AA, United Kingdom"
}
}
],
"pageInfo": {
"nextCursor": "<string>"
}
}{
"code": "forbidden",
"message": "Forbidden",
"errors": [
{
"field": "source.amount",
"message": "Source amount must be a numeric string. Example \"100\" or \"10.25\"."
}
]
}{
"code": "unauthorized",
"message": "Not authorized"
}{
"code": "forbidden",
"message": "Forbidden"
}{
"code": "forbidden",
"message": "Forbidden",
"errors": [
{
"field": "source.amount",
"message": "Source amount must be a numeric string. Example \"100\" or \"10.25\"."
}
]
}Transactions
List transactions
List transactions for the connected user with optional date filtering and pagination
GET
/
platform
/
v1
/
transactions
List transactions
curl --request GET \
--url https://api.moonpay.com/platform/v1/transactions \
--header 'Authorization: Bearer <token>'import requests
url = "https://api.moonpay.com/platform/v1/transactions"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://api.moonpay.com/platform/v1/transactions', 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/platform/v1/transactions",
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: Bearer <token>"
],
]);
$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/platform/v1/transactions"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("Authorization", "Bearer <token>")
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/platform/v1/transactions")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.moonpay.com/platform/v1/transactions")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["Authorization"] = 'Bearer <token>'
response = http.request(request)
puts response.read_body{
"data": [
{
"id": "fd43b900-593b-4125-9616-7d721ecbe875",
"transactionHash": "0x0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef",
"createdAt": "2026-01-29T14:30:50.000Z",
"updatedAt": "2026-01-29T15:30:50.000Z",
"status": "completed",
"source": {
"amount": "100.02",
"asset": {
"code": "USD"
}
},
"destination": {
"amount": "100.02",
"asset": {
"code": "USDC"
}
},
"fees": {
"network": {
"amount": "2.39",
"asset": {
"code": "USD"
}
},
"moonpay": {
"amount": "4.99",
"asset": {
"code": "USD"
}
},
"ecosystem": {
"amount": "1.00",
"asset": {
"code": "USD"
}
}
},
"wallet": {
"address": "0x1234567890123456789012345678901234567890"
},
"customer": {
"id": "e0dee0ac-4e62-4866-b044-f66c0e4046e9"
},
"paymentMethod": {
"type": "apple_pay"
},
"bankTransferDepositInfo": {
"reference": "MP-8F3K2A",
"recipientName": "MoonPay Ltd",
"recipientAddress": "1 Market Street, London, EC1A 1AA, United Kingdom",
"iban": "GB29NWBK60161331926819",
"bic": "NWBKGB2L",
"bankName": "MoonPay Bank",
"bankAddress": "1 Market Street, London, EC1A 1AA, United Kingdom"
}
}
],
"pageInfo": {
"nextCursor": "<string>"
}
}{
"code": "forbidden",
"message": "Forbidden",
"errors": [
{
"field": "source.amount",
"message": "Source amount must be a numeric string. Example \"100\" or \"10.25\"."
}
]
}{
"code": "unauthorized",
"message": "Not authorized"
}{
"code": "forbidden",
"message": "Forbidden"
}{
"code": "forbidden",
"message": "Forbidden",
"errors": [
{
"field": "source.amount",
"message": "Source amount must be a numeric string. Example \"100\" or \"10.25\"."
}
]
}Some Platform API capabilities must be enabled on your account by MoonPay
before you can call them. If this endpoint returns an unexpected
404, see
Capability
enablement.Authorizations
AccessTokenAuthSecretApiKeyInHeaderAuth
Query Parameters
Filter transactions created on or after this date. ISO 8601 format.
Filter transactions created on or before this date. ISO 8601 format.
The customer ID that the partner assigned. Send this parameter with a secret API key to return transactions for one customer. If you do not send it, the API returns all transactions for the account in the key mode (live or test). The list is paginated. An access token does not use this parameter. The token already selects one customer.
Minimum string length:
1