Skip to main content
GET
/
v4
/
swap
/
transaction
/
{transactionId}
Get Swap transaction
curl --request GET \
  --url 'https://api.moonpay.com/v4/swap/transaction/{transactionId}?apiKey=' \
  --header 'authorization: <authorization>'
import requests

url = "https://api.moonpay.com/v4/swap/transaction/{transactionId}?apiKey="

headers = {"authorization": "<authorization>"}

response = requests.get(url, headers=headers)

print(response.text)
const options = {method: 'GET', headers: {authorization: '<authorization>'}};

fetch('https://api.moonpay.com/v4/swap/transaction/{transactionId}?apiKey=', 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/v4/swap/transaction/{transactionId}?apiKey=",
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: <authorization>"
],
]);

$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/v4/swap/transaction/{transactionId}?apiKey="

req, _ := http.NewRequest("GET", url, nil)

req.Header.Add("authorization", "<authorization>")

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/v4/swap/transaction/{transactionId}?apiKey=")
.header("authorization", "<authorization>")
.asString();
require 'uri'
require 'net/http'

url = URI("https://api.moonpay.com/v4/swap/transaction/{transactionId}?apiKey=")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true

request = Net::HTTP::Get.new(url)
request["authorization"] = '<authorization>'

response = http.request(request)
puts response.read_body
{
  "id": "9020fd02-42ac-497f-8b5f-41fdf4dd0b1d",
  "createdAt": "2024-02-23T00:58:26.577Z",
  "updatedAt": "2024-02-23T00:58:26.577Z",
  "baseCurrencyAmount": "1.123",
  "quoteCurrencyAmount": "0.0564",
  "feeAmount": "0.0002",
  "quoteCurrency": {
    "id": "aaefa32f-161b-42c8-8115-debcbf3d6a2d",
    "createdAt": "2019-05-17T18:24:45.206Z",
    "updatedAt": "2019-05-17T18:24:45.206Z",
    "type": "crypto",
    "name": "USD Coin (ERC-20)",
    "code": "usdc",
    "precision": 2,
    "minBuyAmount": 30,
    "maxBuyAmount": 1000,
    "minSellAmount": 15,
    "maxSellAmount": 100000,
    "addressRegex": "^(0x)[0-9A-Fa-f]{40}$",
    "testnetAddressRegex": "^(0x)[0-9A-Fa-f]{40}$",
    "supportsAddressTag": false,
    "addressTagRegex": null,
    "supportsTestMode": true,
    "isSuspended": false,
    "isSupportedInUs": true,
    "isSellSupported": true,
    "notAllowedUSStates": [
      "LA",
      "VI"
    ],
    "notAllowedCountries": [
      "CA"
    ],
    "metadata": {
      "contractAddress": 0,
      "chainId": "1",
      "networkCode": "ethereum"
    }
  },
  "baseCurrency": {
    "id": "aaefa32f-161b-42c8-8115-debcbf3d6a2d",
    "createdAt": "2019-05-17T18:24:45.206Z",
    "updatedAt": "2019-05-17T18:24:45.206Z",
    "type": "crypto",
    "name": "USD Coin (ERC-20)",
    "code": "usdc",
    "precision": 2,
    "minBuyAmount": 30,
    "maxBuyAmount": 1000,
    "minSellAmount": 15,
    "maxSellAmount": 100000,
    "addressRegex": "^(0x)[0-9A-Fa-f]{40}$",
    "testnetAddressRegex": "^(0x)[0-9A-Fa-f]{40}$",
    "supportsAddressTag": false,
    "addressTagRegex": null,
    "supportsTestMode": true,
    "isSuspended": false,
    "isSupportedInUs": true,
    "isSellSupported": true,
    "notAllowedUSStates": [
      "LA",
      "VI"
    ],
    "notAllowedCountries": [
      "CA"
    ],
    "metadata": {
      "contractAddress": 0,
      "chainId": "1",
      "networkCode": "ethereum"
    }
  },
  "customerId": "3b97352d-a9c2-4786-afe7-e7d74e0a8ad7",
  "extraFeeAmount": "0.0000005",
  "networkFeeAmount": "0.00039",
  "status": "completed",
  "depositHash": 8.377408903480862e+76,
  "transactionHash": 8.377408903480862e+76,
  "refundTransactionHash": 8.377408903480862e+76
}
{
"message": "<string>",
"type": "<string>"
}

Authorizations

apiKey
string
query
required

Headers

authorization
string
required

A valid customer authentication token in the format 'Bearer [auth token]'.

Path Parameters

transactionId
string
required

A valid Swap transaction ID.

Response

Successful response — Swap Transaction

id
string

Unique identifier for the object.

Example:

"9020fd02-42ac-497f-8b5f-41fdf4dd0b1d"

createdAt
string

Time at which the object was created. Returned as an ISO 8601 string.

Example:

"2024-02-23T00:58:26.577Z"

updatedAt
string

Time at which the object was last updated. Returned as an ISO 8601 string.

Example:

"2024-02-23T00:58:26.577Z"

baseCurrencyAmount
string

A positive string number representing how much crypto the user wants to swap.

Example:

"1.123"

quoteCurrencyAmount
string

A positive string number representing the amount of cryptocurrency the customer will receive.

Example:

"0.0564"

feeAmount
string

A positive number representing the fee for the transaction.

Example:

"0.0002"

quoteCurrency
object

Crypto the customer wants to get.

baseCurrency
object

Crypto currency the customer wants to swap.

customerId
string

The identifier of the customer the transaction is associated with.

Example:

"3b97352d-a9c2-4786-afe7-e7d74e0a8ad7"

extraFeeAmount
string

A positive number string representing your extra fee for the transaction. It is added to baseCurrencyAmount, feeAmount and networkFeeAmount when the swap is executed.

Example:

"0.0000005"

networkFeeAmount
string

A positive number string representing the network fee for the transaction. It is added to baseCurrencyAmount, feeAmount and extraFeeAmount when the swap is executed.

Example:

"0.00039"

status
enum<string>

The transaction's status.

Available options:
completed,
failed,
waitingForDepositAddressGeneration,
waitingForDeposit,
executingSwap,
reQuoteRequired,
screeningWalletAddress,
frozen
Example:

"completed"

depositHash
string | null

The cryptocurrency transaction identifier representing the transfer from the customer's wallet to MoonPay's wallet. Set when the deposit has been executed and received.

Example:

8.377408903480862e+76

transactionHash
string | null

The cryptocurrency transaction identifier representing the transfer from the MoonPay's wallet to the customer's wallet. Set when the deposit has been executed and sent.

Example:

8.377408903480862e+76

refundTransactionHash
string | null

Same for transactionHash but a refund.

Example:

8.377408903480862e+76