MENU navbar-image

Introduction

This documentation aims to provide all the information you need to work with our API.

Authenticating requests

To authenticate requests, include a X-Munzen-Key header with the value "your-token".

All authenticated endpoints are marked with a requires authentication badge in the documentation below.

To get your API key contact with us.

Merchant API

API methods for our merchants.

Invoices

Actions with invoices.

Get invoice by id

requires authentication

Shows information about invoice with provided ID.

Example request:
const url = new URL(
    "https://sandbox-api-processing.munzen.io/api/v1/merchant/invoices/48e81488-9fb7-4771-a599-8d99df10456c"
);

const params = {
    "timestamp": "1681897688",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

const headers = {
    "X-Munzen-Key": "1fedvahg3E45cZbV6DakP86",
    "Content-Type": "application/json",
    "Accept": "application/json",
    "X-Munzen-Signature": "{YOUR_REQUEST_SIGNATURE}",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Example response (200):


{
    "data": {
        "id": "0196626d-420a-7382-8788-6f276213e60f",
        "short_id": "m7eK7aqzEquoVJDKLje7J",
        "number": 71529634,
        "price_currency": "UAH",
        "price_amount": "70502828.79",
        "pay_currency": "USDTNEAR",
        "pay_amount": "32528383.638958",
        "exchange_rate": "0.461377",
        "exchange_rate_expires_at": "2025-04-23T11:44:09.000000Z",
        "address": "JxU2hD1GnsDPKRmnZRl7PgTNu8MpiB",
        "address_tag": "ELpP3",
        "address_uri": "near:JxU2hD1GnsDPKRmnZRl7PgTNu8MpiB?amount=32528383.638958",
        "paid_amount": "31318717.206325",
        "paid_amount_minus_fee": "30089144.304772",
        "transaction_hash": null,
        "transaction_risk_score": null,
        "transactions": [],
        "received_currency": "USDTNEAR",
        "received_amount": "30089144.304772",
        "conversion_exchange_rate": null,
        "fees": {
            "processing_invoice": {
                "currency": "USDTNEAR",
                "amount": "1229572.901553"
            }
        },
        "fiat_amounts": [],
        "external_id": "761",
        "customer_external_id": "LqJktQEdt91Nm1B0",
        "external_data": "{\"foo\":\"bar\"}",
        "name": "Boyd Osinski",
        "description": "Gustave McDermott",
        "redirect_url": "https://bosco.info/aut-expedita-nostrum-est-rerum-quae-quia-perferendis-illo.html",
        "failure_redirect_url": "https://www.smith.net/et-mollitia-quasi-nemo-dolorem-dignissimos-ut-voluptatem",
        "created_at": "2025-04-23T11:34:09.000000Z",
        "expires_at": "2025-04-23T12:01:09.000000Z",
        "status": "expired",
        "status_context": "overpaid",
        "status_reason": null,
        "can_be_paid_partially": true
    },
    "error": null
}
 

Example response (401, Unauthenticated request):


{
    "data": null,
    "error": {
        "code": "authentication_error",
        "message": "Unauthenticated."
    }
}
 

Example response (404, Requested resource was not found):


{
    "data": null,
    "error": {
        "code": "http_error",
        "message": "Not found."
    }
}
 

Example response (422, Non-UUID invoice ID in url):


{
    "data": null,
    "error": {
        "code": "validation_error",
        "message": "Invoice ID url param must be valid UUID."
    }
}
 

Example response (500, Internal server error):


{
    "data": null,
    "error": {
        "code": "internal_error",
        "message": "..."
    }
}
 

Request      

GET api/v1/merchant/invoices/{invoiceId}

Headers

X-Munzen-Key      

Example: 1fedvahg3E45cZbV6DakP86

Content-Type      

Example: application/json

Accept      

Example: application/json

X-Munzen-Signature      

Example: {YOUR_REQUEST_SIGNATURE}

URL Parameters

invoiceId   uuid   

The ID of the invoice. Example: 48e81488-9fb7-4771-a599-8d99df10456c

Query Parameters

timestamp   string   

Current Unix timestamp in seconds. Must be a valid date in the format U. Example: 1681897688

Get invoice by externalId

requires authentication

Shows information about invoice with provided externalId.

Example request:
const url = new URL(
    "https://sandbox-api-processing.munzen.io/api/v1/merchant/invoices/by-external-id/48e899dfd9gb453sds10456c"
);

const params = {
    "timestamp": "1681897688",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

const headers = {
    "X-Munzen-Key": "f16DkceVP8d3bhaEgZ4av65",
    "Content-Type": "application/json",
    "Accept": "application/json",
    "X-Munzen-Signature": "{YOUR_REQUEST_SIGNATURE}",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Example response (200):


{
    "data": {
        "id": "0196626d-424b-704e-a4f8-d101f7d95649",
        "short_id": "a4cT7sXX4WdqJrZKLje7J",
        "number": 31849168,
        "price_currency": "EUR",
        "price_amount": "5.59",
        "pay_currency": "NEAR",
        "pay_amount": "6.6848574759045",
        "exchange_rate": "1.19517041",
        "exchange_rate_expires_at": "2025-04-23T11:48:09.000000Z",
        "address": "LcO2KFGLtYTIxOeP2DF21sxjTJ7rsn",
        "address_tag": "1QFMS",
        "address_uri": "near:LcO2KFGLtYTIxOeP2DF21sxjTJ7rsn?amount=6.6848574759045",
        "paid_amount": "42832.5328",
        "paid_amount_minus_fee": "42832.241340214",
        "transaction_hash": null,
        "transaction_risk_score": null,
        "transactions": [],
        "received_currency": "NEAR",
        "received_amount": "42832.241340214",
        "conversion_exchange_rate": null,
        "fees": {
            "processing_invoice": {
                "currency": "NEAR",
                "amount": "0.29145978594944"
            }
        },
        "fiat_amounts": [],
        "external_id": "592",
        "customer_external_id": "ng7lQkGnmZwf2MC3",
        "external_data": "{\"foo\":\"bar\"}",
        "name": "Prof. Wilfredo Orn V",
        "description": "Gerardo Weissnat III",
        "redirect_url": "http://connelly.org/aut-repellat-aut-eius.html",
        "failure_redirect_url": "https://www.bernhard.org/et-et-in-aperiam-vel-dolor-fugiat-optio",
        "created_at": "2025-04-23T11:34:09.000000Z",
        "expires_at": "2025-04-23T12:00:09.000000Z",
        "status": "on_hold",
        "status_context": "overpaid",
        "status_reason": null,
        "can_be_paid_partially": false
    },
    "error": null
}
 

Example response (401, Unauthenticated request):


{
    "data": null,
    "error": {
        "code": "authentication_error",
        "message": "Unauthenticated."
    }
}
 

Example response (404, Requested resource was not found):


{
    "data": null,
    "error": {
        "code": "http_error",
        "message": "Not found."
    }
}
 

Example response (500, Internal server error):


{
    "data": null,
    "error": {
        "code": "internal_error",
        "message": "..."
    }
}
 

Request      

GET api/v1/merchant/invoices/by-external-id/{externalId}

Headers

X-Munzen-Key      

Example: f16DkceVP8d3bhaEgZ4av65

Content-Type      

Example: application/json

Accept      

Example: application/json

X-Munzen-Signature      

Example: {YOUR_REQUEST_SIGNATURE}

URL Parameters

externalId   string   

The external ID of the invoice. Example: 48e899dfd9gb453sds10456c

Query Parameters

timestamp   string   

Current Unix timestamp in seconds. Must be a valid date in the format U. Example: 1681897688

Create invoice

requires authentication

Creates new invoice with provided data and shows information about it.

Example request:
const url = new URL(
    "https://sandbox-api-processing.munzen.io/api/v1/merchant/invoices"
);

const headers = {
    "X-Munzen-Key": "1V5a6a64vcg8Dh3EkbPdfeZ",
    "Content-Type": "application/json",
    "Accept": "application/json",
    "X-Munzen-Signature": "{YOUR_REQUEST_SIGNATURE}",
};

let body = {
    "price_currency": "USDTNEAR",
    "price_amount": 48527.73001,
    "pay_currency": "AURORANEAR",
    "customer_external_id": "5a1ce303-394f-4cec-857e-883b8400d71e",
    "external_data": "{\"param1\":\"value1\",\"param2\":\"value2\"}",
    "external_id": "ef2ecd6e-9fac-4ecf-9a8d-c66039438014",
    "customer_email": "example@gmail.com",
    "send_cheque": false,
    "name": "Your invoice name",
    "description": "Your invoice description",
    "redirect_url": "http:\/\/hegmann.biz\/",
    "failure_redirect_url": "http:\/\/www.stoltenberg.info\/laborum-non-eum-beatae.html",
    "timestamp": 1681897688
};

fetch(url, {
    method: "POST",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());

Example response (200):


{
    "data": {
        "id": "0196626d-427f-7028-b3eb-1edb51c421cc",
        "short_id": "jJc3SSwDHaDxuJrKLje7J",
        "number": 56873064,
        "price_currency": "UAH",
        "price_amount": "373.17",
        "pay_currency": "USDCTRC20",
        "pay_amount": "1934.973886",
        "exchange_rate": "5.18516585",
        "exchange_rate_expires_at": "2025-04-23T11:46:09.000000Z",
        "address": "xnPT4x6EKVdpvxXwcYxG3ea9hkgw5c",
        "address_tag": "j5zjZ",
        "address_uri": "tron:xnPT4x6EKVdpvxXwcYxG3ea9hkgw5c?amount=1934.973886",
        "paid_amount": "59716333",
        "paid_amount_minus_fee": "59716303.975392",
        "transaction_hash": null,
        "transaction_risk_score": null,
        "transactions": [],
        "received_currency": "USDCTRC20",
        "received_amount": "59716303.975392",
        "conversion_exchange_rate": null,
        "fees": {
            "processing_invoice": {
                "currency": "USDCTRC20",
                "amount": "29.024608"
            }
        },
        "fiat_amounts": [],
        "external_id": "091",
        "customer_external_id": "THGkYvq2TM22xQF0",
        "external_data": "{\"foo\":\"bar\"}",
        "name": "Carolyn Stamm",
        "description": "Pietro Weber",
        "redirect_url": "http://www.wolff.org/ut-alias-nam-nisi-inventore",
        "failure_redirect_url": "http://marks.biz/quis-aut-eligendi-maxime-quas-cumque-eaque",
        "created_at": "2025-04-23T11:34:09.000000Z",
        "expires_at": "2025-04-23T12:02:09.000000Z",
        "status": "canceled",
        "status_context": "underpaid",
        "status_reason": null,
        "can_be_paid_partially": false
    },
    "error": null
}
 

Example response (401, Unauthenticated request):


{
    "data": null,
    "error": {
        "code": "authentication_error",
        "message": "Unauthenticated."
    }
}
 

Example response (422, Validation error):


{
    "data": null,
    "error": {
        "code": "validation_error",
        "message": "The given data was invalid.",
        "payload": {
            "field": [
                "error_1",
                "error_2"
            ]
        }
    }
}
 

Example response (500, Internal server error):


{
    "data": null,
    "error": {
        "code": "internal_error",
        "message": "..."
    }
}
 

Request      

POST api/v1/merchant/invoices

Headers

X-Munzen-Key      

Example: 1V5a6a64vcg8Dh3EkbPdfeZ

Content-Type      

Example: application/json

Accept      

Example: application/json

X-Munzen-Signature      

Example: {YOUR_REQUEST_SIGNATURE}

Body Parameters

price_currency   string   

Example: USDTNEAR

Must be one of:
  • BTC
  • BCH
  • LTC
  • ETH
  • MATIC
  • TRX
  • XLM
  • SOL
  • BNB
  • ETHBASE
  • NEAR
  • AURORA
  • USDTERC20
  • USDTTRC20
  • USDTMATIC
  • USDTBEP20
  • USDTNEAR
  • USDTENEAR
  • USDTAURORA
  • USDCERC20
  • USDCTRC20
  • USDCMATIC
  • USDCNEAR
  • USDCENEAR
  • USDCBEP20
  • USDCAURORA
  • USDCXLM
  • USDCBASE
  • AURORANEAR
  • ETHAURORA
  • EUR
  • USD
  • UAH
  • KZT
price_amount   number   

Example: 48527.73001

pay_currency   string   

Example: AURORANEAR

Must be one of:
  • BTC
  • BCH
  • LTC
  • ETH
  • MATIC
  • TRX
  • XLM
  • SOL
  • BNB
  • ETHBASE
  • NEAR
  • AURORA
  • USDTERC20
  • USDTTRC20
  • USDTMATIC
  • USDTBEP20
  • USDTNEAR
  • USDTENEAR
  • USDTAURORA
  • USDCERC20
  • USDCTRC20
  • USDCMATIC
  • USDCNEAR
  • USDCENEAR
  • USDCBEP20
  • USDCAURORA
  • USDCXLM
  • USDCBASE
  • AURORANEAR
  • ETHAURORA
  • EUR
  • USD
  • UAH
  • KZT
customer_external_id   string   

Customer external unique ID. Example: 5a1ce303-394f-4cec-857e-883b8400d71e

external_data   string  optional  

Must not be greater than 1024 characters. Example: {"param1":"value1","param2":"value2"}

external_id   string  optional  

Example: ef2ecd6e-9fac-4ecf-9a8d-c66039438014

customer_email   string  optional  

Customer email. Required if send_cheque is true. Must be a valid email address. This field is required when send_cheque is true. Example: example@gmail.com

send_cheque   boolean  optional  

Send cheque to customer email. Example: false

name   string  optional  

Example: Your invoice name

description   string  optional  

Example: Your invoice description

redirect_url   string  optional  

Example: http://hegmann.biz/

failure_redirect_url   string  optional  

Example: http://www.stoltenberg.info/laborum-non-eum-beatae.html

timestamp   string   

Current Unix timestamp in seconds. Must be a valid date in the format U. Example: 1681897688

requires authentication

Creates new invoice payment link with provided data and shows information about it.

Example request:
const url = new URL(
    "https://sandbox-api-processing.munzen.io/api/v1/merchant/invoices/payment-link"
);

const headers = {
    "X-Munzen-Key": "fhZc6bgaPkVvdDaeE518436",
    "Content-Type": "application/json",
    "Accept": "application/json",
    "X-Munzen-Signature": "{YOUR_REQUEST_SIGNATURE}",
};

let body = {
    "price_currency": "USDCNEAR",
    "price_amount": 2526.3255,
    "currencies_for_pay": [
        "SOL"
    ],
    "link_expires_at": 1681897689,
    "external_data": "{\"param1\":\"value1\",\"param2\":\"value2\"}",
    "external_id": "278d5374-59b9-447f-a4e4-a839e98b880d",
    "customer_external_id": "9ab76aec-6917-4207-88e6-cc4ff116c4d7",
    "customer_email": "example@gmail.com",
    "send_cheque": false,
    "name": "Your invoice name",
    "description": "Your invoice description",
    "redirect_url": "http:\/\/www.beahan.biz\/fuga-qui-sunt-quia-doloribus-velit-a.html",
    "failure_redirect_url": "https:\/\/abshire.biz\/fuga-distinctio-earum-eveniet-pariatur-deleniti-sit-ea-labore.html",
    "timestamp": 1681897688
};

fetch(url, {
    method: "POST",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());

Example response (200):


{
    "data": {
        "id": "0196626d-42b1-71ec-866b-6fc64353f491",
        "short_id": "Rm7pcbVTnRMCc89LLje7J",
        "number": 87640783,
        "price_currency": "USD",
        "price_amount": "155.81",
        "pay_currency": "USDCMATIC",
        "pay_amount": "1412.561183",
        "exchange_rate": "9.06615269",
        "exchange_rate_expires_at": "2025-04-23T11:47:09.000000Z",
        "address": "DbAtWkvg8i0WOYt9GkzwNMLZzZTgew",
        "address_tag": "zAp4G",
        "address_uri": "ethereum:DbAtWkvg8i0WOYt9GkzwNMLZzZTgew?amount=1412.561183",
        "paid_amount": "763.421735",
        "paid_amount_minus_fee": "705.930495",
        "transaction_hash": null,
        "transaction_risk_score": null,
        "transactions": [],
        "received_currency": "USDCMATIC",
        "received_amount": "705.930495",
        "conversion_exchange_rate": null,
        "fees": {
            "processing_invoice": {
                "currency": "USDCMATIC",
                "amount": "57.49124"
            }
        },
        "fiat_amounts": [],
        "external_id": "709",
        "customer_external_id": "fDneD80SA5368ogg",
        "external_data": "{\"foo\":\"bar\"}",
        "name": "Pablo Rippin",
        "description": "Rosetta Lesch",
        "redirect_url": "http://www.williamson.com/",
        "failure_redirect_url": "http://www.rice.org/consequatur-excepturi-a-quos-repellat-est",
        "created_at": "2025-04-23T11:34:09.000000Z",
        "expires_at": "2025-04-23T12:01:09.000000Z",
        "status": "blocked",
        "status_context": "underpaid",
        "status_reason": null,
        "can_be_paid_partially": true
    },
    "error": null
}
 

Example response (401, Unauthenticated request):


{
    "data": null,
    "error": {
        "code": "authentication_error",
        "message": "Unauthenticated."
    }
}
 

Example response (422, Validation error):


{
    "data": null,
    "error": {
        "code": "validation_error",
        "message": "The given data was invalid.",
        "payload": {
            "field": [
                "error_1",
                "error_2"
            ]
        }
    }
}
 

Example response (500, Internal server error):


{
    "data": null,
    "error": {
        "code": "internal_error",
        "message": "..."
    }
}
 

Cancel invoice

requires authentication

Cancels customer's invoice by id or 404 error.

Example request:
const url = new URL(
    "https://sandbox-api-processing.munzen.io/api/v1/merchant/invoices/48e81488-9fb7-4771-a599-8d99df10456c"
);

const headers = {
    "X-Munzen-Key": "6va6ehk5V1cDEd8gfb34PaZ",
    "Content-Type": "application/json",
    "Accept": "application/json",
    "X-Munzen-Signature": "{YOUR_REQUEST_SIGNATURE}",
};

let body = {
    "timestamp": 1681897688
};

fetch(url, {
    method: "DELETE",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());

Example response (200):


{
    "data": {},
    "error": null
}
 

Example response (401, Unauthenticated request):


{
    "data": null,
    "error": {
        "code": "authentication_error",
        "message": "Unauthenticated."
    }
}
 

Example response (404, Not found):


{
    "data": null,
    "error": {
        "code": "http_error",
        "message": "Not found."
    }
}
 

Example response (422, Validation error):


{
    "data": null,
    "error": {
        "code": "validation_error",
        "message": "The given data was invalid.",
        "payload": {
            "field": [
                "error_1",
                "error_2"
            ]
        }
    }
}
 

Example response (500, Internal server error):


{
    "data": null,
    "error": {
        "code": "internal_error",
        "message": "..."
    }
}
 

Request      

DELETE api/v1/merchant/invoices/{invoiceId}

Headers

X-Munzen-Key      

Example: 6va6ehk5V1cDEd8gfb34PaZ

Content-Type      

Example: application/json

Accept      

Example: application/json

X-Munzen-Signature      

Example: {YOUR_REQUEST_SIGNATURE}

URL Parameters

invoiceId   uuid   

The ID of the invoice. Example: 48e81488-9fb7-4771-a599-8d99df10456c

Body Parameters

timestamp   string   

Current Unix timestamp in seconds. Must be a valid date in the format U. Example: 1681897688

Payouts

Payouts for our merchants customers.

Request payout

requires authentication

Creates payout request.

Example request:
const url = new URL(
    "https://sandbox-api-processing.munzen.io/api/v1/merchant/payouts/request"
);

const headers = {
    "X-Munzen-Key": "415kEvd36aDZcPVebf6ah8g",
    "Content-Type": "application/json",
    "Accept": "application/json",
    "X-Munzen-Signature": "{YOUR_REQUEST_SIGNATURE}",
};

let body = {
    "external_id": "123456",
    "customer_external_id": "123456",
    "currency": "USDTERC20",
    "amount": 266.5,
    "address": "0xb00e5760c0ab29ecdc51e39eea0e841a14415755",
    "address_tag": "123456",
    "timestamp": 1681897688,
    "source_currency": "EUR",
    "source_amount": 266.5
};

fetch(url, {
    method: "POST",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());

Example response (200):


{
    "data": {
        "id": "0196626d-4323-7038-be18-984fae6c5d5f",
        "amount_requested": 28.29548,
        "amount_to_send": 18.45067,
        "fee_amount": 9.84481,
        "status": "rejected",
        "status_reason": "tx_stale",
        "currency": "USDCAURORA",
        "source_currency": "EUR",
        "source_amount": 143.67557,
        "source_exchange_rate": 593.55223
    },
    "error": null
}
 

Example response (401, Unauthenticated request):


{
    "data": null,
    "error": {
        "code": "authentication_error",
        "message": "Unauthenticated."
    }
}
 

Example response (422, Validation error):


{
    "data": null,
    "error": {
        "code": "validation_error",
        "message": "The given data was invalid.",
        "payload": {
            "field": [
                "error_1",
                "error_2"
            ]
        }
    }
}
 

Example response (500, Internal server error):


{
    "data": null,
    "error": {
        "code": "internal_error",
        "message": "..."
    }
}
 

Request      

POST api/v1/merchant/payouts/request

Headers

X-Munzen-Key      

Example: 415kEvd36aDZcPVebf6ah8g

Content-Type      

Example: application/json

Accept      

Example: application/json

X-Munzen-Signature      

Example: {YOUR_REQUEST_SIGNATURE}

Body Parameters

external_id   string  optional  

The external ID of the payout request. Must be unique for each project. Example: 123456

customer_external_id   string   

The external ID of your customer. Must be unique for each project. Example: 123456

currency   string   

Example: USDTERC20

Must be one of:
  • BTC
  • BCH
  • LTC
  • ETH
  • MATIC
  • TRX
  • XLM
  • SOL
  • BNB
  • ETHBASE
  • NEAR
  • AURORA
  • USDTERC20
  • USDTTRC20
  • USDTMATIC
  • USDTBEP20
  • USDTNEAR
  • USDTENEAR
  • USDTAURORA
  • USDCERC20
  • USDCTRC20
  • USDCMATIC
  • USDCNEAR
  • USDCENEAR
  • USDCBEP20
  • USDCAURORA
  • USDCXLM
  • USDCBASE
  • AURORANEAR
  • ETHAURORA
  • EUR
  • USD
  • UAH
  • KZT
amount   number  optional  

This field is required when source_currency is not present. Example: 266.5

address   string   

Example: 0xb00e5760c0ab29ecdc51e39eea0e841a14415755

address_tag   string  optional  

Example: 123456

timestamp   string   

Current Unix timestamp in seconds. Must be a valid date in the format U. Example: 1681897688

source_currency   string  optional  

This field is required when source_amount is present. Example: EUR

Must be one of:
  • BTC
  • BCH
  • LTC
  • ETH
  • MATIC
  • TRX
  • XLM
  • SOL
  • BNB
  • ETHBASE
  • NEAR
  • AURORA
  • USDTERC20
  • USDTTRC20
  • USDTMATIC
  • USDTBEP20
  • USDTNEAR
  • USDTENEAR
  • USDTAURORA
  • USDCERC20
  • USDCTRC20
  • USDCMATIC
  • USDCNEAR
  • USDCENEAR
  • USDCBEP20
  • USDCAURORA
  • USDCXLM
  • USDCBASE
  • AURORANEAR
  • ETHAURORA
  • EUR
  • USD
  • UAH
  • KZT
source_amount   number  optional  

This field is required when source_currency is present. Example: 266.5

Get payout by id

requires authentication

Gives payout by provided id.

Example request:
const url = new URL(
    "https://sandbox-api-processing.munzen.io/api/v1/merchant/payouts/48e81488-9fb7-4771-a599-8d99df10456c"
);

const params = {
    "timestamp": "1681897688",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

const headers = {
    "X-Munzen-Key": "ac18av53geE6VDkbZ6f4Phd",
    "Content-Type": "application/json",
    "Accept": "application/json",
    "X-Munzen-Signature": "{YOUR_REQUEST_SIGNATURE}",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Example response (200):


{
    "data": {
        "id": "0196626d-4370-7390-8f45-f711358ab449",
        "currency": "USDCBEP20",
        "amount_requested": 146.64777,
        "amount_to_send": 146.64777,
        "amount_to_charge": 150.4605,
        "fee_amount": 3.81273,
        "status": "rejected",
        "status_reason": "tx_stale",
        "created_at": "2025-04-23T11:34:10.000000Z",
        "fee_included": false,
        "source_currency": "USD",
        "source_amount": 448.95888,
        "source_exchange_rate": 557.11588
    },
    "error": null
}
 

Example response (401, Unauthenticated request):


{
    "data": null,
    "error": {
        "code": "authentication_error",
        "message": "Unauthenticated."
    }
}
 

Example response (422, Validation error):


{
    "data": null,
    "error": {
        "code": "validation_error",
        "message": "The given data was invalid.",
        "payload": {
            "field": [
                "error_1",
                "error_2"
            ]
        }
    }
}
 

Example response (500, Internal server error):


{
    "data": null,
    "error": {
        "code": "internal_error",
        "message": "..."
    }
}
 

Request      

GET api/v1/merchant/payouts/{payoutId}

Headers

X-Munzen-Key      

Example: ac18av53geE6VDkbZ6f4Phd

Content-Type      

Example: application/json

Accept      

Example: application/json

X-Munzen-Signature      

Example: {YOUR_REQUEST_SIGNATURE}

URL Parameters

payoutId   string   

The ID of payout Example: 48e81488-9fb7-4771-a599-8d99df10456c

Query Parameters

timestamp   string   

Current Unix timestamp in seconds. Must be a valid date in the format U. Example: 1681897688

Get payout by external id

requires authentication

Gives payout by provided external id.

Example request:
const url = new URL(
    "https://sandbox-api-processing.munzen.io/api/v1/merchant/payouts/by-external-id/48e814889fb74771a5998d99d"
);

const params = {
    "timestamp": "1681897688",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

const headers = {
    "X-Munzen-Key": "6kZa5Pv8Vce4dfD316ghaEb",
    "Content-Type": "application/json",
    "Accept": "application/json",
    "X-Munzen-Signature": "{YOUR_REQUEST_SIGNATURE}",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Example response (200):


{
    "data": {
        "id": "0196626d-43bf-71b4-81c6-4f74396ba2fa",
        "currency": "USDCBASE",
        "amount_requested": 887.60182,
        "amount_to_send": 880.04301,
        "amount_to_charge": 887.60182,
        "fee_amount": 7.55881,
        "status": "processing",
        "status_reason": "month_limit_exceeded",
        "created_at": "2025-04-23T11:34:10.000000Z",
        "fee_included": true,
        "source_currency": "UAH",
        "source_amount": 773.32773,
        "source_exchange_rate": 747.4075
    },
    "error": null
}
 

Example response (401, Unauthenticated request):


{
    "data": null,
    "error": {
        "code": "authentication_error",
        "message": "Unauthenticated."
    }
}
 

Example response (422, Validation error):


{
    "data": null,
    "error": {
        "code": "validation_error",
        "message": "The given data was invalid.",
        "payload": {
            "field": [
                "error_1",
                "error_2"
            ]
        }
    }
}
 

Example response (500, Internal server error):


{
    "data": null,
    "error": {
        "code": "internal_error",
        "message": "..."
    }
}
 

Request      

GET api/v1/merchant/payouts/by-external-id/{externalId}

Headers

X-Munzen-Key      

Example: 6kZa5Pv8Vce4dfD316ghaEb

Content-Type      

Example: application/json

Accept      

Example: application/json

X-Munzen-Signature      

Example: {YOUR_REQUEST_SIGNATURE}

URL Parameters

externalId   string   

The external ID of payout Example: 48e814889fb74771a5998d99d

Query Parameters

timestamp   string   

Current Unix timestamp in seconds. Must be a valid date in the format U. Example: 1681897688

Channels

Actions with channels.

Create channel

requires authentication

Creates new channel with provided data and shows information about it.

Example request:
const url = new URL(
    "https://sandbox-api-processing.munzen.io/api/v1/merchant/channels"
);

const headers = {
    "X-Munzen-Key": "3e6f5ZEd1khD4abv6Pg8Vac",
    "Content-Type": "application/json",
    "Accept": "application/json",
    "X-Munzen-Signature": "{YOUR_REQUEST_SIGNATURE}",
};

let body = {
    "currency": "USDTTRC20",
    "customer_external_id": "1",
    "external_id": "6072f698-6fa5-4506-abdb-8ee0231e5198",
    "external_data": "{\"param1\":\"value1\",\"param2\":\"value2\"}",
    "timestamp": 1681897688
};

fetch(url, {
    method: "POST",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());

Example response (200):


{
    "data": {
        "id": "0196626d-43e8-70a3-8574-060969abc6c0",
        "customer_external_id": "B3oSqo9kikailudN",
        "external_id": "WhY0wH4MkW",
        "external_data": "{\"foo\":\"bar\"}",
        "currency": "TRX",
        "address": "4qqNGVneiUwqEaKKGikjZ3sRFw8TY3",
        "address_tag": "0I3IM",
        "address_uri": "tron:4qqNGVneiUwqEaKKGikjZ3sRFw8TY3",
        "created_at": "2025-04-23T11:34:10.000000Z"
    },
    "error": null
}
 

Example response (401, Unauthenticated request):


{
    "data": null,
    "error": {
        "code": "authentication_error",
        "message": "Unauthenticated."
    }
}
 

Example response (401, Not found):


{
    "data": null,
    "error": {
        "code": "http_error",
        "message": "Not found."
    }
}
 

Example response (422, Validation error):


{
    "data": null,
    "error": {
        "code": "validation_error",
        "message": "The given data was invalid.",
        "payload": {
            "field": [
                "error_1",
                "error_2"
            ]
        }
    }
}
 

Example response (500, Internal server error):


{
    "data": null,
    "error": {
        "code": "internal_error",
        "message": "..."
    }
}
 

Request      

POST api/v1/merchant/channels

Headers

X-Munzen-Key      

Example: 3e6f5ZEd1khD4abv6Pg8Vac

Content-Type      

Example: application/json

Accept      

Example: application/json

X-Munzen-Signature      

Example: {YOUR_REQUEST_SIGNATURE}

Body Parameters

currency   string   

Example: USDTTRC20

Must be one of:
  • BTC
  • BCH
  • LTC
  • ETH
  • MATIC
  • TRX
  • XLM
  • SOL
  • BNB
  • ETHBASE
  • NEAR
  • AURORA
  • USDTERC20
  • USDTTRC20
  • USDTMATIC
  • USDTBEP20
  • USDTNEAR
  • USDTENEAR
  • USDTAURORA
  • USDCERC20
  • USDCTRC20
  • USDCMATIC
  • USDCNEAR
  • USDCENEAR
  • USDCBEP20
  • USDCAURORA
  • USDCXLM
  • USDCBASE
  • AURORANEAR
  • ETHAURORA
  • EUR
  • USD
  • UAH
  • KZT
customer_external_id   string   

Example: 1

external_id   string  optional  

Example: 6072f698-6fa5-4506-abdb-8ee0231e5198

external_data   string  optional  

Must not be greater than 1024 characters. Example: {"param1":"value1","param2":"value2"}

timestamp   string   

Current Unix timestamp in seconds. Must be a valid date in the format U. Example: 1681897688

List of merchant project channels for customer

requires authentication

Returns list of merchant project channels for provided customer external ID.

Example request:
const url = new URL(
    "https://sandbox-api-processing.munzen.io/api/v1/merchant/channels"
);

const params = {
    "customer_external_id": "1",
    "timestamp": "1681897688",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

const headers = {
    "X-Munzen-Key": "c8Ehbk315av6ZeVfag64DPd",
    "Content-Type": "application/json",
    "Accept": "application/json",
    "X-Munzen-Signature": "{YOUR_REQUEST_SIGNATURE}",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Example response (200):


{
    "data": [
        {
            "id": "0196626d-4432-7109-a763-63c1b2615046",
            "customer_external_id": "PPDW4oPWIL0zkMOc",
            "external_id": "wV4OXaS4gR",
            "external_data": "{\"foo\":\"bar\"}",
            "currency": "USDCBASE",
            "address": "AOBiWhvFQrSb2uu4ZyQg1fkP592G1o",
            "address_tag": "Ebuet",
            "address_uri": "ethereum:AOBiWhvFQrSb2uu4ZyQg1fkP592G1o",
            "created_at": "2025-04-23T11:34:10.000000Z"
        }
    ],
    "error": null
}
 

Example response (401, Unauthenticated request):


{
    "data": null,
    "error": {
        "code": "authentication_error",
        "message": "Unauthenticated."
    }
}
 

Example response (404, Not found):


{
    "data": null,
    "error": {
        "code": "http_error",
        "message": "Not found."
    }
}
 

Request      

GET api/v1/merchant/channels

Headers

X-Munzen-Key      

Example: c8Ehbk315av6ZeVfag64DPd

Content-Type      

Example: application/json

Accept      

Example: application/json

X-Munzen-Signature      

Example: {YOUR_REQUEST_SIGNATURE}

Query Parameters

customer_external_id   string   

Example: 1

timestamp   string   

Current Unix timestamp in seconds. Must be a valid date in the format U. Example: 1681897688

List of payments in merchant project channel

requires authentication

Returns list of payments in merchant project channel with pagination.

Example request:
const url = new URL(
    "https://sandbox-api-processing.munzen.io/api/v1/merchant/channels/BACDeaFb-dBCd-ADAa-deCE-DDdfBeEAabEA/payments"
);

const headers = {
    "X-Munzen-Key": "fdEVc4Phve81g536aDZ6abk",
    "Content-Type": "application/json",
    "Accept": "application/json",
    "X-Munzen-Signature": "{YOUR_REQUEST_SIGNATURE}",
};

let body = {
    "cursor": "Lqg2qb0z4RHXfx8g",
    "per_page": 10,
    "timestamp": 1681897688
};

fetch(url, {
    method: "GET",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());

Example response (200):


{
    "data": {
        "list": [
            {
                "id": "0196626d-4455-73a7-946e-bb3cbaea8b29",
                "channel_id": "0196626d-4454-728a-8a5f-0b7b1cf35ce0",
                "customer_external_id": "92J8uJToWrH0FeRM",
                "external_id": "r8iuOBDBH6",
                "external_data": "{\"foo\":\"bar\"}",
                "currency": "SOL",
                "amount": "34.11018",
                "amount_minus_fee": "34.103357964",
                "received_currency": "SOL",
                "received_amount": "34.103357964",
                "conversion_exchange_rate": null,
                "fees": {
                    "processing_channel": {
                        "currency": "SOL",
                        "amount": "0.006822036"
                    }
                },
                "fiat_amounts": [],
                "address": "EMAKyn10wsHIdQyiTp5iGzCuJHe9Fv",
                "address_tag": "rJer5",
                "address_uri": "solana:EMAKyn10wsHIdQyiTp5iGzCuJHe9Fv",
                "transaction_hash": null,
                "transaction_risk_score": null,
                "created_at": "2025-04-23T11:34:10.000000Z",
                "status": "blocked",
                "status_reason": null
            }
        ],
        "metadata": {
            "total": 678030,
            "per_page": 389112,
            "next_cursor": "gKJctXoK5Za9NXNq",
            "previous_cursor": "Bie7HdA6hZ9ht0Mw"
        }
    },
    "error": null
}
 

Example response (401, Unauthenticated request):


{
    "data": null,
    "error": {
        "code": "authentication_error",
        "message": "Unauthenticated."
    }
}
 

Example response (404, Not found):


{
    "data": null,
    "error": {
        "code": "http_error",
        "message": "Not found."
    }
}
 

Request      

GET api/v1/merchant/channels/{channelId}/payments

Headers

X-Munzen-Key      

Example: fdEVc4Phve81g536aDZ6abk

Content-Type      

Example: application/json

Accept      

Example: application/json

X-Munzen-Signature      

Example: {YOUR_REQUEST_SIGNATURE}

URL Parameters

channelId   string   

Example: BACDeaFb-dBCd-ADAa-deCE-DDdfBeEAabEA

Body Parameters

cursor   string  optional  

Example: Lqg2qb0z4RHXfx8g

per_page   integer  optional  

Must be at least 10. Must not be greater than 500. Example: 10

timestamp   string   

Current Unix timestamp in seconds. Must be a valid date in the format U. Example: 1681897688

Get channel payment by id

requires authentication

Returns information about channel payments in merchant project channel with pagination.

Example request:
const url = new URL(
    "https://sandbox-api-processing.munzen.io/api/v1/merchant/channels/payments/dcDfeaeC-fAed-dAAA-CbCF-DBdeAFECBeCA"
);

const params = {
    "timestamp": "1681897688",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

const headers = {
    "X-Munzen-Key": "d6ch3eV4baP1vg86ka5ZfDE",
    "Content-Type": "application/json",
    "Accept": "application/json",
    "X-Munzen-Signature": "{YOUR_REQUEST_SIGNATURE}",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Example response (200):


{
    "data": {
        "id": "0196626d-447d-714e-97db-65bfdc3ca35a",
        "channel_id": "0196626d-447c-7273-9c37-731c0ddc3a42",
        "customer_external_id": "05RQEdou2jH3KZCo",
        "external_id": "xdwW4Fe8l9",
        "external_data": "{\"foo\":\"bar\"}",
        "currency": "USDCNEAR",
        "amount": "366.48141",
        "amount_minus_fee": "366.224873",
        "received_currency": "USDCNEAR",
        "received_amount": "366.224873",
        "conversion_exchange_rate": null,
        "fees": {
            "processing_channel": {
                "currency": "USDCNEAR",
                "amount": "0.256537"
            }
        },
        "fiat_amounts": [],
        "address": "Yh1BKucguwEjHggupAhnNskZVt5OC4",
        "address_tag": "G3wft",
        "address_uri": "near:Yh1BKucguwEjHggupAhnNskZVt5OC4",
        "transaction_hash": null,
        "transaction_risk_score": null,
        "created_at": "2025-04-23T11:34:10.000000Z",
        "status": "blocked",
        "status_reason": null
    },
    "error": null
}
 

Example response (401, Unauthenticated request):


{
    "data": null,
    "error": {
        "code": "authentication_error",
        "message": "Unauthenticated."
    }
}
 

Example response (404, Not found):


{
    "data": null,
    "error": {
        "code": "http_error",
        "message": "Not found."
    }
}
 

Request      

GET api/v1/merchant/channels/payments/{channelPaymentId}

Headers

X-Munzen-Key      

Example: d6ch3eV4baP1vg86ka5ZfDE

Content-Type      

Example: application/json

Accept      

Example: application/json

X-Munzen-Signature      

Example: {YOUR_REQUEST_SIGNATURE}

URL Parameters

channelPaymentId   string   

Example: dcDfeaeC-fAed-dAAA-CbCF-DBdeAFECBeCA

Query Parameters

timestamp   string   

Current Unix timestamp in seconds. Must be a valid date in the format U. Example: 1681897688

Exchange rates

Actions with exchange rates.

Get exchange rate

requires authentication

Returns exchange rate found with provided params otherwise returns not found error

Example request:
const url = new URL(
    "https://sandbox-api-processing.munzen.io/api/v1/merchant/exchange-rate"
);

const params = {
    "base_currency": "UAH",
    "quote_currency": "USDTERC20",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

const headers = {
    "X-Munzen-Key": "bca4dPDZkg158EVh63f6vae",
    "Content-Type": "application/json",
    "Accept": "application/json",
    "X-Munzen-Signature": "{YOUR_REQUEST_SIGNATURE}",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Example response (200):


{
    "data": {
        "base_currency": "UAH",
        "quote_currency": "AURORA",
        "exchange_rate": 1.90685329,
        "decimals": 18,
        "round_off": 18
    },
    "error": null
}
 

Example response (401, Unauthenticated request):


{
    "data": null,
    "error": {
        "code": "authentication_error",
        "message": "Unauthenticated."
    }
}
 

Example response (404, Not found):


{
    "data": null,
    "error": {
        "code": "http_error",
        "message": "Not found."
    }
}
 

Example response (422, Validation error):


{
    "data": null,
    "error": {
        "code": "validation_error",
        "message": "The given data was invalid.",
        "payload": {
            "field": [
                "error_1",
                "error_2"
            ]
        }
    }
}
 

Example response (500, Internal server error):


{
    "data": null,
    "error": {
        "code": "internal_error",
        "message": "..."
    }
}
 

Request      

GET api/v1/merchant/exchange-rate

Headers

X-Munzen-Key      

Example: bca4dPDZkg158EVh63f6vae

Content-Type      

Example: application/json

Accept      

Example: application/json

X-Munzen-Signature      

Example: {YOUR_REQUEST_SIGNATURE}

Query Parameters

base_currency   string   

Base currency ticker with network. Example: UAH

quote_currency   string   

Quote currency ticker with network. Example: USDTERC20

Customers

Actions with customers.

Get limits by customer external id

requires authentication

Shows information about customer's limits.

Example request:
const url = new URL(
    "https://sandbox-api-processing.munzen.io/api/v1/merchant/customers/by-external-id/dignissimos/limit"
);

const headers = {
    "X-Munzen-Key": "63Ze54E8DdaabcP1Vgk6hvf",
    "Content-Type": "application/json",
    "Accept": "application/json",
    "X-Munzen-Signature": "{YOUR_REQUEST_SIGNATURE}",
};

let body = {
    "timestamp": 1681897688
};

fetch(url, {
    method: "GET",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());

Example response (200):


{
    "data": {
        "limit": 940535,
        "remaining_amount": 2467.5337
    },
    "error": null
}
 

Example response (401, Unauthenticated request):


{
    "data": null,
    "error": {
        "code": "authentication_error",
        "message": "Unauthenticated."
    }
}
 

Example response (422, Validation error):


{
    "data": null,
    "error": {
        "code": "validation_error",
        "message": "The given data was invalid.",
        "payload": {
            "field": [
                "error_1",
                "error_2"
            ]
        }
    }
}
 

Example response (500, Internal server error):


{
    "data": null,
    "error": {
        "code": "internal_error",
        "message": "..."
    }
}
 

Request      

GET api/v1/merchant/customers/by-external-id/{externalId}/limit

Headers

X-Munzen-Key      

Example: 63Ze54E8DdaabcP1Vgk6hvf

Content-Type      

Example: application/json

Accept      

Example: application/json

X-Munzen-Signature      

Example: {YOUR_REQUEST_SIGNATURE}

URL Parameters

externalId   string   

Example: dignissimos

Body Parameters

timestamp   string   

Current Unix timestamp in seconds. Must be a valid date in the format U. Example: 1681897688

Upload customer's documents

requires authentication

Please note that this endpoint uses multipart/form-data

Example request:
const url = new URL(
    "https://sandbox-api-processing.munzen.io/api/v1/merchant/customers/documents"
);

const headers = {
    "X-Munzen-Key": "e5da4v3Z8bacPD6gEkf1V6h",
    "Content-Type": "multipart/form-data",
    "Accept": "application/json",
    "X-Munzen-Signature": "{YOUR_REQUEST_SIGNATURE}",
};

const body = new FormData();
body.append('timestamp', '1681897688');
body.append('customer_external_id', 'at');
body.append('documents[]', 'sit');

fetch(url, {
    method: "POST",
    headers,
    body,
}).then(response => response.json());

Example response (200):


{
    "data": [],
    "error": null
}
 

Example response (401, Unauthenticated request):


{
    "data": null,
    "error": {
        "code": "authentication_error",
        "message": "Unauthenticated."
    }
}
 

Example response (422, Validation error):


{
    "data": null,
    "error": {
        "code": "validation_error",
        "message": "The given data was invalid.",
        "payload": {
            "field": [
                "error_1",
                "error_2"
            ]
        }
    }
}
 

Example response (500, Internal server error):


{
    "data": null,
    "error": {
        "code": "internal_error",
        "message": "..."
    }
}
 

Request      

POST api/v1/merchant/customers/documents

Headers

X-Munzen-Key      

Example: e5da4v3Z8bacPD6gEkf1V6h

Content-Type      

Example: multipart/form-data

Accept      

Example: application/json

X-Munzen-Signature      

Example: {YOUR_REQUEST_SIGNATURE}

Body Parameters

timestamp   string   

Current Unix timestamp in seconds. Must be a valid date in the format U. Example: 1681897688

customer_external_id   string   

Example: at

documents   string[]