Mercuryo Banking-as-a-Service API is a white label solution which allows for creating crypto-friendly IBANs for individuals in your app. An IBAN account is opened in individual’s name. The user can store funds in the IBAN account, transfer funds to other IBANs via SEPA and SEPA Instant, and instantly buy cryptocurrencies using the IBAN.
The International Bank Account Number (IBAN) is an internationally agreed system of identifying bank accounts across national borders to facilitate the communication and processing of cross border transactions with a reduced risk of transcription errors.
Before using the Sandbox
environment, prepare these:
The Sandbox
environment works with the following networks:
Testnet | Address | Supported Cryptocurrency |
---|---|---|
BTC Testnet | msBE6aCaAesegu4VzbQW3L5xWBL8vi15Q7 |
Bitcoin |
ETH Sepolia | 0xA14691F9f1F851bd0c20115Ec10B25FC174371DF |
Ethereum (ETH) and USDT |
Contact your integration manager. You will get the sdk-partner-token
to sign up user registration and authorization endpoints, and credentials to access the Administration Dashboard.
All the requests must contain:
application
/json
.application
/json
.{PartnerName}
.Recommendations:
All Mercuryo API endpoints accept the B2B-User-Ip
header, and it is strongly recommended that all requests contain the real IP address of end-user in this header. If there is no end-user's IP, Mercuryo reserves the right to reject transactions according to its internal rules.
API URL: https://sandbox-cryptosaas.mrcr.io/v1.6/.
Administration Dashboard URL: https://partners.mrcr.io/site/login.
Mercuryo charges fees for:
Fee information must be available to the user at any moment.
You can include additional fees to the list: Mercuryo’s Fees + Your Fees = Total Fee
. Contact your account manager to adjust the fee policy.
The user must accept the Terms of Service before signing up. You have to ask the user to agree to the Terms of Service on your front end. You will send user’s consent in the accept
parameter of POST /b2b/user/sign-up
.
All Mercuryo API endpoints — except for the authorization endpoints — require the b2b-bearer-token
header. Mercuryo uses the header to identify the merchant/user context.
The b2b-bearer-token
expires in 24 hours for the Production
environment. You can authorize the user again or refresh the token after that. The b2b-bearer-token
doesn’t expire in the Sandbox
environment.
sdk-partner-token
.sdk-partner-token
to sign authorization endpoints.POST /b2b/user/sign-up
to sign up a user.Use POST /b2b/user/sign-in
to sign in a user, or use GET /b2b/user/refresh-token
to refresh the b2b-bearer-token
.
You can assign an ID to each transaction. Pass your transaction ID in the merchant_transaction_id
field.
Transaction ID format: ^[A-Za-z0-9-_]{1,255}$
. Any lowercase and uppercase letter of the Latin alphabet, digits, underscore, and hyphen. Total length is up to 255 characters.
Know Your Customer (KYC) procedures are indispensable for financial institutions to verify their clients and keep business on the safe side.
KYC procedures help Mercuryo fight financial crime. Therefore, it prevents mixing your users’ funds with illegal funds of bad actors and perpetrators of any sort. Identity verification is a legal obligation to be compliant with AML/CFT laws. Mercuryo is strongly committed to the highest industry standards of clients' security, which requires protecting the integrity of the entire financial system.
SumSub is the major KYC procedure provider of Mercuryo.
Note: Please be aware that there must be only one e-mail address per user. That is, if the existing user (who is already registered and passed the KYC procedure with one e-mail address) registers with another e-mail address and provides the same documents to pass the KYC procedure, this user will receive the KYC refusal under the new e-mail. Thus, e-mail address used in user registration must be wisely chosen.
We support: European Economic Area (EEA), European Union (EU), Switzerland, United Kingdom (UK), other countries.
We do not support: Abkhazia, Afghanistan, Aland Islands, Angola, Algeria, American Samoa, Antarctica, Barbados, Bangladesh, Burundi, Bolivia, Burkina Faso, Central African Republic, Cote d'Ivoire (Ivory Coast), Congo, Crimea, Donetsk, Luhansk, China, Chile, Colombia, Costa Rica, Cuba, Cambodia, Cayman Islands, Democratic Republic of the Congo, Ecuador, Eritrea, Ethiopia, Fiji, French Guiana, French Polynesia, Guam, Guatemala, Guinea, Guinea-Bissau, Honduras, Haiti, Iraq, Islamic Republic of Iran, Jamaica, Jordan, Kuwait, Kyrgyzstan, Laos, Lebanon, Liberia, Libya, Morocco, Mali, Myanmar (Burma), North Korea, North Macedonia, Nicaragua, Northern Mariana Islands, Nepal, South Ossetia, Panama, Peru, Papua New Guinea, Pakistan, Palau, Palestine, Puerto Rico, Republic of the Congo, Republic of Guinea-Bissau, Senegal, Saudi Arabia, Sudan, Sierra Leone, Somalia, South Sudan, Sri Lanka, Syria, The Bahamas, Tunisia, Transnistria, Trinidad and Tobago, Uganda, US Virgin Islands, Vanuatu, Venezuela, Kosovo, Yemen, Zimbabwe, United States.
Verification for:
These documents can be acceptable identity verification:
The document must have:
Meet these requirements:
We do not accept bank statements from neobanks.
These documents can be acceptable proof of address:
The document must have:
Meet these requirements:
There are three cases for integrating KYC procedures depending on your user onboarding:
Contact your account manager if you have any questions regarding KYC procedures.
If you don’t implement any KYC procedures, we provide the SumSub interface to do KYC verification directly in Mercuryo.
URL example: https://sandbox-payments.mrcr.io/kyc?access_token=your_token&success_url=url&failure_url=url&scheme=your_scheme&lang=lang_code
.
Parameter | Description | Type |
---|---|---|
access_token | Get the access token using GET /b2b/kyc/access-token . |
Required |
success_url | URL-encoded JSON. Example: https://mercuryo.success.com. | Required |
failure_url | URL-encoded JSON. Example: https://mercuryo.failure.com. | Required |
scheme | Light or Dark appearance. | Optional |
lang | The language is English by default. Supported languages: English, Chinese, Russian, French, Hindi, Indonesian, Japanese, Korean, Portuguese, Spanish, Turkish, Vietnamese. | Optional |
If redirect parameters are missing, the user won’t be redirected. status
and msg
parameters will be appended to failure_url
. status: back
if user clicks the back button. status: fail
if you get an error.
Use GET /b2b/user/contacts
to check user's email and phone verification status.
GET /b2b/user/kyc-status
to get the KYC status. We can identify a user who you registered by the email if we already have it:features
, feature: iban
is complete
, then that’s it.features
, feature: crypto
is complete
but feature: iban
is not, proceed with the next step.GET /b2b/kyc/access-token
with feature: iban
to get the KYC access token.Production
environment URL example: https://payments.mrcr.io/kyc?access_token=your_token8&scheme=your_scheme&lang=lang_code.Sandbox
environment URL example: https://sandbox-payments.mrcr.io/kyc?access_token=your_token8&scheme=your_scheme&lang=lang_code.Sandbox
, upload the documents and contact Mercuryo to approve the documents.GET /b2b/user/kyc-status
to get the status for feature: iban
.complete
: KYC procedures are successfully complete.incomplete
: SumSub hasn’t started the verification.failed_attempt
: the first attempt to pass the verification failed. Try again.failed
: the verification failed; the user isn’t allowed to create an IBAN. Contact Mercuryo Support.under_review
: SumSub is verifying the documents.GET /b2b/kyc/documents
to fetch details on uploaded KYC documents.Manually send us users’ documents.
Send us users’ scanned documents. Still, the users will have to do the liveness test in the SumSub interface.
Use GET /b2b/user/contacts
to check user's email and phone verification status.
GET /b2b/user/kyc-status
to get the KYC status. We can identify a user who you registered by the email if we already have it:features
, feature: iban
is complete
, then that’s it.features
, feature: crypto
is complete
but feature: iban
is not, proceed with the next step.POST /b2b/user/kyc-documents
to send the identity verification.country_code
parameter).POST /b2b/user/kyc-documents
to send the proof of address.GET /b2b/user/kyc-status
to get the status for feature: iban
.complete
: KYC procedures are successfully complete.incomplete
: SumSub hasn’t started the verification.failed_attempt
: the first attempt to pass the verification failed. Try again.failed
: the verification failed; the user isn’t allowed to create an IBAN. Contact Mercuryo Support.under_review
: SumSub is verifying the documents.GET /b2b/kyc/documents
to fetch details on uploaded KYC documents.The user verifies the phone number. If you collect and verify phone numbers, we will treat them as verified. If you don’t, Mercuryo will verify phone numbers with a text message. Setting up and updating the phone number is done the same way.
POST /b2b/user/set-phone
to set up a phone number in the international format.GET /b2b/user/contacts
to get the phone verification status.The user must successfully complete KYC procedures and have a verified mobile phone number to open an IBAN. You can create only one IBAN for one user.
Check these before creating an IBAN:
country_code
must be on the white list. SumSub can change this when processing the documents.phone
must be set up and phone_status
must be confirmed
.feature: iban
must be complete
.POST /b2b/user/iban
to create an IBAN.GET /b2b/user/iban
to get user’s IBAN details.Toping up a Mercuryo IBAN with fiat money using another IBAN.
The user must be signed in and verified (valid KYC). Mercuryo won’t complete a transaction if the verification is expired. Use GET /b2b/user/kyc-status
to check user’s verification.
Use GET /b2b/user/contacts
to check user's email and phone verification status.
Check user limits before the transaction. Mercuryo won’t complete the transaction when beyond the limit. Use GET /b2b/user/iban-limits/deposit
to get limit details.
GET /b2b/user/iban
to get user’s IBAN details.fiat_deposit
transaction.iban_charge
transaction if the fee is set for the fiat deposit, or if the monthly fee is set (charged every fifth day every month).See user transactions using GET /b2b/transactions
.
Withdrawing fiat money from a Mercuryo IBAN to another IBAN.
The user must be signed in and verified (valid KYC). Mercuryo won’t complete a transaction if the verification is expired. Use GET /b2b/user/kyc-status
to check user’s verification.
Use GET /b2b/user/contacts
to check user's email and phone verification status.
Check user limits before the transaction. Mercuryo won’t complete the transaction when beyond the limit. Use GET /b2b/user/iban-limits/withdraw
to get limit details.
Use GET /b2b/fiat/withdraw-estimate-fee
to get fee details.
POST /b2b/fiat/withdraw
to start the transaction.fiat_withdraw
transaction. The transaction will be canceled in two hours if it’s not confirmed with a confirmation code.iban_charge
transaction if the fee is set for the fiat withdrawal, or if the monthly fee is set (charged every fifth day every month).POST /b2b/fiat/verify-withdraw
to confirm the transaction: submit the confirmation code.POST /b2b/fiat/verify-withdraw/resend
to resend the confirmation code.See user transactions using GET /b2b/transactions
.
Get the transaction status using GET /b2b/transactions?merchant_transaction_id={merchant_transaction_id}
.
Buying crypto with fiat money using a Mercuryo IBAN.
The user must be signed in and verified (valid KYC). Mercuryo won’t complete a transaction if the verification is expired. Use GET /b2b/user/kyc-status
to check user’s verification.
Use GET /b2b/user/contacts
to check user's email and phone verification status.
Check user limits before the transaction. Mercuryo won’t complete the transaction when beyond the limit. Use GET /b2b/user/iban-limits/buy
to get limit details.
If the rate changes more than 1%, the trade will have the new rate. If the rate changes less than 1%, the trade will have the old rate.
Acquire rates again if the elapsed time is more than an hour, because trx_token
expires in one hour.
GET /b2b/currencies
to get available currencies.GET /b2b/fiat/buy-rates/iban-exchange
to get rates.trx_token
.POST /b2b/fiat/buy/iban-exchange
to start the transaction.buy_iban
transaction. The transaction will be canceled if the rate changes more than 0.1%.See user transactions using GET /b2b/transactions
.
Get the transaction status using GET /b2b/transactions?merchant_transaction_id={merchant_transaction_id}
.
Selling crypto and withdraw fiat money to user’s IBAN.
The user must be signed in and verified (valid KYC). Mercuryo won’t complete the transaction if the verification is expired. Use GET /b2b/user/kyc-status
to check user’s verification.
Use GET /b2b/user/contacts
to check user's email and phone verification status.
Check user limits before the transaction. Mercuryo won’t complete the transaction when beyond the limit. Use GET /b2b/user/iban-limits/sell
to get limit details.
Wait for a deposit after successfully using POST /b2b/fiat/sell/iban-exchange
. If the price changes upon receiving a deposit more than 5%, Mercuryo won't create a transaction. Mercuryo will return the deposit. Otherwise, Mercuryo will cover the slippage and the trade will have the rate which was acquired.
Acquire rates again if the elapsed time is more than an hour, because trx_token
expires in one hour.
GET /b2b/currencies
to get available currencies.GET /b2b/fiat/sell-rates/iban-exchange
to get rates.POST /b2b/fiat/sell/iban-exchange
to get the address for depositing crypto.sell_iban
transaction after receiving crypto. The transaction will be canceled if the rate changes more than 0.1%. The transaction will be canceled in two hours if it’s not confirmed with a confirmation code.See user transactions using GET /b2b/transactions
.
Get the transaction status using GET /b2b/transactions?merchant_transaction_id={merchant_transaction_id}
.
Transaction | Statuses | Scenario |
---|---|---|
fiat_deposit | succeeded, failed. | IBAN Top-Up |
fiat_deposit_refund | succeeded | IBAN Top-Up |
iban_charge | pending, succeeded, failed, need_verify. | IBAN Top-Up, IBAN Withdrawal. |
fiat_withdraw | pending, succeeded, failed, need_verify. | IBAN Withdrawal |
fiat_withdraw_refund | succeeded | IBAN Withdrawal |
iban_charge_refund | succeeded | IBAN Withdrawal |
buy_iban | pending, succeeded. | Crypto Purchase |
sell_iban | pending, succeeded, failed, failed_send, need_verify. | Crypto Sell |
Sometimes, Mercuryo refunds Mercuryo IBAN transactions.
Transaction | Refund Transaction |
---|---|
buy_iban | buy_iban_refund |
sell_iban | sell_iban_refund |
fiat_deposit | fiat_deposit_refund |
fiat_withdraw | fiat_withdraw_refund |
iban_charge | iban_charge_refund |
The iban_charge_refund
transaction is for refunding the fee.
Every [transaction]_refund
transaction relates to the normal transaction. Use GET /b2b/transactions
to display the transactions. Find merchant_transaction_id
of the related transaction in the related_transaction
field.
Every normal transaction with a refund is linked to [transaction]_refund
. Find merchant_transaction_id
of a refund transaction in the related_refund
field.
If Mercuryo refunds a transaction, you will get an additional [transaction]_refund
transaction. And if there was the fee, you will get the additional iban_charge_refund
transaction.
If the user bank rejects a transaction, you will only get an additional [transaction]_refund
transaction.
Set up a callback URL for the selected widget to get callbacks.
Scenario | Callback | Statuses |
---|---|---|
IBAN Top-Up | fiat_deposit | succeeded, failed. |
IBAN Withdrawal | fiat_withdraw | pending, succeeded, failed, need_verify. |
IBAN Withdrawal | fiat_withdraw_refund | succeeded. |
Crypto Purchase | fiat_buy | pending, completed. |
Crypto Purchase | withdraw | pending, succeeded, failed. |
Crypto Sell | deposit | paid, refunded, failed. |
Crypto Sell | fiat_sell | pending, completed, failed. |
{
"data": {
"amount": "0.00200000",
"fiat_amount": "27.72",
"created_at": "2023-01-03 09:59:28",
"updated_at": "2023-01-03 09:59:29",
"address": null,
"type": "fiat_sell",
"merchant_transaction_id": "096e76a911b723334",
"currency": "BTC",
"fiat_currency": "EUR",
"status": "pending",
"user_uuid": "d8799944-9c33-4f1d-95c6-cd88f2088f77"
},
"eventId": "5174de4e-fe84-4fc3-9c9e-72b688a3e76d"
}
Use POST /b2b/user/iban
to create an IBAN. It’s POST
not GET
.
completed
and another callback that is pending
?We send callbacks asynchronously. The callback delivery according to the status change is not guaranteed.
Yes, there is “retry”. You cannot adjust it. If the callback URL request doesn't return 200, we will be sending more requests asynchronously, but fewer with each day.
sign_key
formed? How do I verify it?We send the X-Signature
header with a callback. This header contains the sha256
hash generated from JSON of the entire POST
request. sign_key
— which is set up in the Administration Dashboard — is used as a key. You can verify a callback by encoding the received callback with the sha256
algorithm and a key from the widget, and comparing the hash with the one from the header.
created_at
and updated_at
?The time zone is UTC.
POST
to send callbacks?Yes, we use POST
to send callbacks.
You receive callbacks upon creating a transaction and a status change.
You server must respond with the 200
http code.
Get supported currencies filtered for partner
OK
Error codes:
* 403003: Too many requests;
500000: Various reasons, check the message field
{- "data": {
- "config": {
- "base": {
- "BUSD": "BNB",
- "ETH": "ETH",
- "USDT": "ETH"
}, - "crypto_currencies": [
- {
- "currency": "BNB",
- "network": "BINANCESMARTCHAIN",
- "network_label": "BINANCESMARTCHAIN",
- "show_network_icon": false
}, - {
- "currency": "BUSD",
- "network": "BINANCESMARTCHAIN",
- "network_label": "BINANCESMARTCHAIN",
- "network_ud": "BEP20",
- "show_network_icon": false
}, - {
- "currency": "USDT",
- "network": "ETHEREUM",
- "network_label": "ETHEREUM",
- "network_ud": "ERC20",
- "show_network_icon": false
}, - {
- "currency": "BTC",
- "network": "BITCOIN",
- "network_label": "BITCOIN",
- "show_network_icon": false
}
], - "default_networks": {
- "BNB": "BINANCESMARTCHAIN",
- "BTC": "BITCOIN",
- "BUSD": "BINANCESMARTCHAIN",
- "USDT": "ETHEREUM"
}, - "display_options": {
- "BNB": {
- "display_digits": 6,
- "fullname": "Binance Coin",
- "total_digits": 18
}, - "BTC": {
- "display_digits": 5,
- "fullname": "Bitcoin",
- "total_digits": 8
}, - "BUSD": {
- "display_digits": 6,
- "fullname": "Binance USD",
- "total_digits": 18
}, - "EUR": {
- "display_digits": 2,
- "fullname": "Euro",
- "total_digits": 2
}, - "USD": {
- "display_digits": 2,
- "fullname": "United States Dollar",
- "total_digits": 2
}, - "USDT": {
- "display_digits": 6,
- "fullname": "Tether",
- "total_digits": 18
}
}, - "has_withdrawal_fee": {
- "BNB": true,
- "BTC": true,
- "BUSD": false,
- "USDT": true
}, - "icons": {
- "EUR": {
- "relative": {
- "png": "v1.6/img/icons/currencies/eur.png",
- "svg": "v1.6/img/icons/currencies/eur.svg"
},
}, - "USD": {
- "relative": {
- "png": "v1.6/img/icons/currencies/usd.png",
- "svg": "v1.6/img/icons/currencies/usd.svg"
},
}
}, - "networks": {
- "BINANCESMARTCHAIN": {
- "icons": {
- "relative": {
- "png": "v1.6/img/icons/networks/binancesmartchain.png",
- "svg": "v1.6/img/icons/networks/binancesmartchain.svg"
},
}, - "name": "BINANCESMARTCHAIN"
}, - "BITCOIN": {
- "icons": {
- "relative": {
- "png": "v1.6/img/icons/networks/default.png",
- "svg": "v1.6/img/icons/networks/default.svg"
},
}, - "name": "BITCOIN"
}, - "ETHEREUM": {
- "icons": {
- "relative": {
- "png": "v1.6/img/icons/networks/ethereum.png",
- "svg": "v1.6/img/icons/networks/ethereum.svg"
},
}, - "name": "ETHEREUM"
}
}
}, - "crypto": [
- "BNB",
- "BUSD",
- "USDT",
- "BTC"
], - "fiat": [
- "EUR",
- "USD"
]
}, - "status": "200"
}
Get buy and sell rates for multiple cryptocurrencies at once
OK
Error codes:
* 400001: Validation error, check the data field;
401000: Authorization failed
Error codes:
* 403020: IP is blacklisted;
* 403026: Resource is unavailable. Please contact support;
500001: Various reasons, check the message field
{- "data": {
- "buy": {
- "BTC": {
- "EUR": "21911.6609477232",
- "GBP": "19523.0518434642"
}, - "ETH": {
- "EUR": "1536.91999999991420300000",
- "GBP": "1369.36999999998135600000"
}
}, - "sell": [ ]
}, - "status": "200"
}
B2B transactions list
OK
401000: Authorization failed
Error codes:
* 403020: IP is blacklisted;
* 403026: Resource is unavailable. Please contact support;
405000: Method Not Allowed
500001: Various reasons, check the message field
{- "data": [
- {
- "address": "",
- "created_at": "2023-09-10 16:14:26",
- "crypto_amount": "0.00234946",
- "crypto_currency": "BTC",
- "fee": "1.90",
- "fiat_amount": "46.20",
- "fiat_currency": "EUR",
- "merchant_transaction_id": "mti20221207114525769758",
- "status": "succeeded",
- "total_amount": "48.10",
- "type": "caas_buy",
- "updated_at": "2023-09-10 16:14:26",
- "user_uuid": "705003c9-fc18-4b79-9e2e-e4fa074f0add"
}, - {
- "address": "",
- "beneficiary_country": "",
- "beneficiary_iban": "GB93FOUN00992200099100",
- "beneficiary_name": "John Doe",
- "beneficiary_swift": "FOUNGB21XXX",
- "created_at": "2023-09-09 15:43:38",
- "crypto_amount": "0",
- "crypto_currency": "",
- "fee": "0",
- "fiat_amount": "65",
- "fiat_currency": "EUR",
- "merchant_transaction_id": "099cec2addfe55096",
- "purpose": "Refund Tx 099cec04813259678",
- "status": "succeeded",
- "total_amount": "65",
- "type": "fiat_withdraw",
- "updated_at": "2023-09-09 15:43:38",
- "user_uuid": "705003c9-fc18-4b79-9e2e-e4fa074f0add"
}, - {
- "address": "",
- "created_at": "2023-09-08 15:43:38",
- "crypto_amount": "0",
- "crypto_currency": "",
- "fee": "0",
- "fiat_amount": "65.00",
- "fiat_currency": "EUR",
- "merchant_transaction_id": "099cec04813259678",
- "status": "succeeded",
- "total_amount": "65",
- "type": "fiat_deposit",
- "updated_at": "2023-09-08 15:43:38",
- "user_uuid": "705003c9-fc18-4b79-9e2e-e4fa074f0add"
}, - {
- "address": "",
- "created_at": "2023-09-07 15:40:33",
- "crypto_amount": "0",
- "crypto_currency": "",
- "fee": "0",
- "fiat_amount": "5.00",
- "fiat_currency": "EUR",
- "merchant_transaction_id": "099ceb71d12ad9906",
- "related_transaction": "099ceb70a59d23223",
- "status": "succeeded",
- "total_amount": "5.00",
- "type": "iban_charge",
- "updated_at": "2023-09-07 15:40:33",
- "user_uuid": "705003c9-fc18-4b79-9e2e-e4fa074f0add"
}, - {
- "address": "mnwiTEgvn2FXg2jL6NmPmxjjAwPdDpAQGf",
- "blockchain_hash": "9af3534daf791022f535a395df2716be3b08ace94c8867e49074439705ce4e8c",
- "created_at": "2023-09-06 15:40:33",
- "crypto_amount": "0.00115361",
- "crypto_currency": "BTC",
- "fee": "0.24",
- "fiat_amount": "24.76",
- "fiat_currency": "EUR",
- "is_offchain": false,
- "merchant_transaction_id": "099ceb0cd84d60539",
- "network": "BITCOIN",
- "status": "succeeded",
- "total_amount": "25",
- "type": "buy_iban",
- "updated_at": "2023-09-06 15:40:33",
- "user_uuid": "705003c9-fc18-4b79-9e2e-e4fa074f0add"
}, - {
- "address": "tb1qaerat2eyr84retzk0907xasq252u6qnerr4vhx",
- "created_at": "2023-09-05 15:40:33",
- "crypto_amount": "0.00020000",
- "crypto_currency": "BTC",
- "fee": "0.00000266",
- "fiat_amount": "0",
- "fiat_currency": "EUR",
- "is_offchain": false,
- "merchant_transaction_id": "caas_withdraw_2",
- "network": "BITCOIN",
- "network_fee": "00000166",
- "partner_fee": "0.00000100",
- "status": "succeeded",
- "total_amount": "4.24",
- "type": "withdraw",
- "updated_at": "2023-09-05 15:40:33",
- "user_uuid": "17364f38-2b6f-45f0-b8f8-2a4c92f7f37e"
}, - {
- "address": 6.406079589379689e+47,
- "created_at": "2023-09-04 15:40:33",
- "crypto_amount": "53.676867",
- "crypto_currency": "USDT",
- "fee": "0",
- "fiat_amount": "0",
- "fiat_currency": "EUR",
- "is_offchain": true,
- "merchant_transaction_id": "099e1cc6543993063",
- "network": "ETHEREUM",
- "sender_addresses": [
- 6.406079589379689e+47
], - "sender_uuid": "9e50c830-09eb-4faf-b321-f84a99c543ba",
- "status": "succeeded",
- "total_amount": "50.02",
- "type": "deposit",
- "updated_at": "2023-09-04 15:40:33",
- "user_uuid": "17364f38-2b6f-45f0-b8f8-2a4c92f7f37e"
}, - {
- "address": "2MvHamK2gsMtXsrxof5ZXBEqk7a1V5DjRKM",
- "blockchain_hash": "457e1ee9029591057e5256fc3df431199e407bb57032a62ccfbc2c843f392466",
- "created_at": "2023-09-03 15:40:33",
- "crypto_amount": "0.005",
- "crypto_currency": "BTC",
- "fee": "4.46",
- "fiat_amount": "108.26",
- "fiat_currency": "EUR",
- "is_offchain": false,
- "merchant_transaction_id": "08aba2e8d689a5644",
- "network": "BITCOIN",
- "purpose": "TrxID: 08aba8e87cc088958",
- "recipients": [
- {
- "beneficiary_country": "DE",
- "beneficiary_iban": "GB35FOUN00992200066000",
- "beneficiary_name": "John Doe",
- "beneficiary_swift": "FOUNGB21XXX",
- "created_at": "2022-08-08 15:40:24",
- "sender_iban": "GB95FOUN00992200023501",
- "status": "succeeded",
- "updated_at": "2022-08-08 15:40:27"
}
], - "status": "pending",
- "total_amount": "112.72",
- "type": "sell_iban",
- "updated_at": "2023-09-03 15:40:33",
- "user_uuid": "20e464bd-886d-4fe4-bac4-4e2a8f6be8a9"
}, - {
- "address": "",
- "created_at": "2023-09-02 15:40:33",
- "crypto_amount": "0.00236435",
- "crypto_currency": "BTC",
- "failed_reason": {
- "message": "Cancelled by customer",
- "public_message": "Order fail"
}, - "fee": "13.00",
- "fiat_amount": "187.00",
- "fiat_currency": "BRL",
- "merchant_transaction_id": "0a1caae33d0e50973",
- "network": "BITCOIN",
- "status": "failed",
- "total_amount": "200.00",
- "type": "buy_card",
- "updated_at": "2023-09-02 15:40:33",
- "user_uuid": "9e50c830-09eb-4faf-b321-f84a99c543ba"
}
], - "next": "string",
- "prev": "string",
- "status": "200",
- "total": "100"
}
Validate provided IBAN
OK
Error codes:
* 400001: Validation error;
401000: Authorization failed
405000: Method Not Allowed
500000: Various reasons, check the message field
{- "data": { },
- "status": "200"
}
B2B validate wallet
OK
Error codes:
* 400000: Bad request;
* 400001: Validation error, check the data field;
405000: Method Not Allowed
{- "data": {
- "status": "success"
}, - "status": "200"
}
Get rates for on-ramp transaction
OK
Error codes:
* 400001: Validation error, check the data or message fields;
* 400003: Currency is not supported;
* 400007: Antifraud error. Amount off limits;
* 400011: Validation error for from
field;
* 400012: Validation error for to
field;
* 400014: Empty widget error. Contact your account manager;
* 400070: Validation error for amount_from
field;
* 400071: Validation error for amount_to
field;
401000: Authorization failed
Error codes:
* 403020: IP is blacklisted;
* 403026: Resource is unavailable. Please contact support
* 403034: Country is not supported for this operation;
405000: Method Not Allowed
500001: Various reasons, check the message field
{- "data": {
- "amount": "0.02000000",
- "currency": "BTC",
- "fee": {
- "BTC": "0.00075999",
- "EUR": "17.09"
}, - "fiat_amount": "432.50",
- "fiat_currency": "EUR",
- "rate": "22478.7000000000",
- "subtotal": {
- "BTC": "0.01924001",
- "EUR": "432.50"
}, - "total": {
- "BTC": "0.02000000",
- "EUR": "449.59"
}, - "trx_token": "4ae0bdd7f4ea2f9ac1f54a6ca21685f324d11479f9040305dec90899f4dbe154eyJ0IjoxNj\n * U4OTk4NDI0LCJjIjoiQlRDIiwiYSI6IjAuMDIwMDAwMDAiLCJmYyI6IkVVUiIsImZhIjoiNDMyLjUwIiwiZiI6IjE3LjA5IiwiciI6Ij\n * IyNDc4LjcwMDAwMDAwMDAiLCJjaWQiOiJlZWI5MTVkNDRjNzU0YjdkYzhiNGI1NDkxMTY5ZGU5NiIsIm9wIjoic2VsbCIsInB0IjpudW\n * xsLCJwYSI6ImNhcmQiLCJ0dCI6dHJ1ZSwidGYiOiIwIiwidyI6ImRjMDNmYjUyLWEwNTgtNDhlMS1hMjJmLWMyYjA3NDRkNmU4MiIsIn\n * NmIjoiMTcuMDkifQ=="
}, - "status": "200"
}
Create on-ramp transaction
trx_token required | string Buy token returned by |
address required | string The address to which the crypto should be transferred |
merchant_transaction_id | string Custom ID for checking transaction status. If empty, it will be generated |
OK
Error codes:
* 400000: Unable to finish antifraud check of transaction. Try again later
* 400001: Validation error, check the data field;
* 400007: Antifraud check error, amount off limits;
* 400048: Unsupported payment alias;
* 400049: IBAN not found;
* 400055: Cannot exchange currencies by server error. Check the message
field;
* 400083: IBAN has been deactivated.;
401000: Authorization failed
Error codes:
* 403007: There's another active transaction;
* 403020: IP is blacklisted;
* 403026: Resource is unavailable. Please contact support;
405000: Method Not Allowed
500001: Various reasons, check the message field
{- "data": {
- "merchant_transaction_id": "00357ec76de855485"
}, - "status": "200"
}
Get rates for off-ramp transaction
OK
Error codes:
* 400000: Inner HTTP exception. Please contact support;
* 400001: Validation error, check the data or message fields;
* 400003: Currency is not supported;
* 400007: Antifraud error. Amount off limits;
* 400011: Validation error for from
field;
* 400012: Validation error for to
field;
* 400014: Empty widget error. Contact your account manager;
* 400070: Validation error for amount_from
field;
* 400071: Validation error for amount_to
field;
401000: Authorization failed
Error codes:
* 403020: IP is blacklisted;
* 403026: Resource is unavailable. Please contact support
* 403034: Country is not supported for this operation;
500001: Various reasons, check the message field
{- "data": {
- "amount": "0.02000000",
- "currency": "BTC",
- "fee": {
- "BTC": "0.00075999",
- "EUR": "17.09"
}, - "fiat_amount": "432.50",
- "fiat_currency": "EUR",
- "rate": "22478.7000000000",
- "subtotal": {
- "BTC": "0.01924001",
- "EUR": "432.50"
}, - "total": {
- "BTC": "0.02000000",
- "EUR": "449.59"
}, - "trx_token": "4ae0bdd7f4ea2f9ac1f54a6ca21685f324d11479f9040305dec90899f4dbe154eyJ0IjoxNj\n * U4OTk4NDI0LCJjIjoiQlRDIiwiYSI6IjAuMDIwMDAwMDAiLCJmYyI6IkVVUiIsImZhIjoiNDMyLjUwIiwiZiI6IjE3LjA5IiwiciI6Ij\n * IyNDc4LjcwMDAwMDAwMDAiLCJjaWQiOiJlZWI5MTVkNDRjNzU0YjdkYzhiNGI1NDkxMTY5ZGU5NiIsIm9wIjoic2VsbCIsInB0IjpudW\n * xsLCJwYSI6ImNhcmQiLCJ0dCI6dHJ1ZSwidGYiOiIwIiwidyI6ImRjMDNmYjUyLWEwNTgtNDhlMS1hMjJmLWMyYjA3NDRkNmU4MiIsIn\n * NmIjoiMTcuMDkifQ=="
}, - "status": "200"
}
Create off-ramp transaction
trx_token required | string Sell token returned by |
address | string Address for returning cryptocurrency in case of an error in the transaction |
merchant_transaction_id | string Custom ID for checking transaction status. If empty, it will be generated. |
OK
Error codes:
* 400000: Unable to finish antifraud check of transaction. Try again later
* 400001: Validation error, check the data field;
* 400007: Antifraud check error, amount off limits;
* 400048: Unsupported payment alias;
* 400049: IBAN not found;
* 400083: IBAN has been deactivated.;
401000: Authorization failed
Error codes:
* 403001: Kyc verification needed;
* 403007: There's another active transaction;
* 403020: IP is blacklisted;
* 403021: Country is not supported;
* 403026: Resource is unavailable. Please contact support;
405000: Method Not Allowed
500001: Various reasons, check the message field
{- "data": {
- "address": "00357ec76de855485",
- "merchant_transaction_id": "00357ec76de855485"
}, - "status": "200"
}
Verify IBAN withdraw by sms or e-mail
code required | string code, received by sms or e-mail |
key required | string Verification key from |
OK
Error codes:
* 400000: Various reasons. Try again later;
* 400001: Validation error, check the data field;
* 400054: IBAN error. Check the message field;
Error codes:
* 401000: Authorization failed;
* 401001: Verification code is invalid;
Error codes:
* 403007: There's another active transaction;
* 403020: IP is blacklisted;
* 403025: Withdraw not found;
* 403026: Resource is unavailable. Please contact support;
405000: Method Not Allowed
500001: Various reasons, check the message field
{- "code": "string",
- "key": "string"
}
{- "data": {
- "status": "success"
}, - "status": "200"
}
BAAS resend verification code for withdraw
OK
Error codes:
* 400001: Validation error, check the data field;
405000: Method Not Allowed
{- "key": "2e6c5cd472e47452b5639e527ef456f8bf0a87a6d4ff9bbbf558685f86caf90bd2l0aGRyYXc=AM5qhGGzacPx47vClCLA44tGdrIaAFfI"
}
{- "data": {
- "code_length": "5",
- "key": "3rJZXKRiooYig6yLgMK3sT9jS6Jhd_vn",
- "timeout": "3600"
}, - "status": "200"
}
Create IBAN withdraw transaction
Request data
OK
Error codes:
* 400000: Various reasons. Please contact support;
* 400001: Validation error, check the data field;
* 400007: Antifraud check failed. Amount off limits;
* 400049: IBAN not found;
* 400050: IBAN is not available for user;
* 400066: Unknown error;
* 400083: IBAN has been deactivated;
401000: Authorization failed
Error codes:
* 403003: Request for verification token is too frequent. Try again later;
* 403005: Not enough funds;
* 403007: There's another active transaction;
* 403020: IP is blacklisted;
* 403026: Resource is unavailable. Please contact support;
405000: Method Not Allowed
Error codes:
* 500000: Various reasons. Please contact support
;
* 500001: Various reasons. Please contact support;
{- "address": "string",
- "amount": "string",
- "beneficiary_iban": "string",
- "city": "string",
- "country_code": "string",
- "currency": "EUR",
- "full_name": "string",
- "merchant_transaction_id": "string",
- "purpose": "string",
- "swift": "string"
}
{- "data": {
- "key": "dc63adbc1d4c46735d1fd822494f5250a933e3f6c8691c54cc4d5595b4e8573aaWJhbi13aXRoZHJhdw==elGGbRgvo7N5K9sVBl4ToE4P1p1RdD5U",
- "merchant_transaction_id": "00357ec76de855485",
- "next": "verify-withdraw"
}, - "status": "200"
}
Get rates for IBAN transaction
OK
Error codes:
* 400001: Validation error, check the data field;
* 400003: Currency is not supported;
401000: Authorization failed
Error codes:
* 403020: IP is blacklisted;
* 403026: Resource is unavailable. Please contact support;
* 403030: Service is unavailable for partner;
405000: Method Not Allowed
500001: Various reasons, check the message field
{- "data": {
- "currency": "EUR",
- "fee": 3,
- "subtotal": "10.10",
- "total": "13.10"
}, - "status": "200"
}
Get KYC access token for iframe
OK
Error codes:
* 400001: Validation error, check the data field;
* 400062: Cannot get KYC access token. Check the message field;
401000: Authorization failed
Error codes:
* 403020: IP is blacklisted;
* 403026: Resource is unavailable. Please contact support;
405000: Method Not Allowed
500001: Various reasons, check the message field
{- "data": {
- "applicant_id": "6315bcb2647ada0001823025",
- "kyc_access_token": "_act-ca4dae41-0ecd-468d-86e2-02d5ca697b8d"
}, - "status": "200"
}
Get user’s previously uploaded KYC documents
OK
Bad request
401000: Authorization failed
Error codes:
* 403020: IP is blacklisted;
* 403026: Resource is unavailable. Please contact support;
405000: Method Not Allowed
500001: Various reasons, check the message field
{- "data": {
- "features": [
- {
- "feature": "crypto",
- "status": "incomplete"
}, - {
- "feature": "iban",
- "status": "incomplete"
}
], - "review_result": {
- "documents": [
- {
- "doc_country_code": "GBR",
- "doc_id": "675996053",
- "doc_state": "red",
- "doc_type": "PASSPORT",
- "partner_message": "Fraudulent patterns detected:\\nleaked image or sample ID from the internet\\n\\nVerification rejected due to excessive file uploads.",
- "reject_labels": [
- "FORGERY",
- "SPAM"
], - "reject_type": "FINAL",
- "user_message": "Test user message in u3-3."
}, - {
- "doc_country_code": "GBR",
- "doc_id": "305359999",
- "doc_state": "red",
- "doc_type": "PASSPORT",
- "partner_message": "- Expired Identity document. A new document has been requested.\\n - The document is either damaged or unreadable. A new document has been requested,",
- "reject_labels": [
- "EXPIRATION_DATE",
- "DOCUMENT_DAMAGED"
], - "reject_type": "RETRY",
- "user_message": "- Your identity document has expired and can't be used for verification. Try a different identity document.\\n - Your document is either damaged or cannot be read. Try another document."
}, - {
- "doc_country_code": "GBR",
- "doc_id": "1983361476",
- "doc_state": "not_started",
- "doc_type": "SELFIE"
}, - {
- "doc_country_code": "GBR",
- "doc_id": "1428927584",
- "doc_state": "green",
- "doc_type": "UTILITY_BILL"
}
]
}
}, - "status": "200"
}
Get user contacts
OK
Error codes:
* 400064: User not found by token;
401000: Authorization failed
Error codes:
* 403020: IP is blacklisted;
* 403026: Resource is unavailable. Please contact support;
405000: Method Not Allowed
500001: Various reasons, check the message field
{- "data": {
- "email": "user@email.com",
- "email_status": "confirmed",
- "phone": "+35799339993",
- "phone_status": "confirmed"
}, - "status": "200"
}
B2B user data
OK
Error codes:
* 400064: User not found by token;
401000: Authorization failed
Error codes:
* 403020: IP is blacklisted;
* 403026: Resource is unavailable. Please contact support;
405000: Method Not Allowed
500001: Various reasons, check the message field
{- "data": {
- "country_code": "cy",
- "email": "user@email.com",
- "email_status": "confirmed",
- "first_name": "John",
- "kyc1_status": "complete",
- "kyc2_status": "complete",
- "language_code": "en-GB",
- "last_name": "Smith",
- "phone": "+35799339993",
- "phone_status": "confirmed",
- "user_status": "active"
}, - "status": "200"
}
Get user's IBAN
OK
Error codes:
* 400000: risk error. Please contact support;
* 400049: IBAN not found;
* 400050: IBAN is not available for user;
* 400051: Gateway token expired. Please contact support;
* 400056: IBAN already exists;
* 400066: Unknown error;
401000: Authorization failed
Error codes:
* 403020: IP is blacklisted;
* 403026: Resource is unavailable. Please contact support;
405000: Method Not Allowed
Error codes:
* 500000: Check IBAN available error in risk. Please contact support;
{- "data": {
- "beneficiary_address_line": "varsava",
- "beneficiary_bank_address": "Kopli tn 27, Pohja-Tallinna linnaosa, Harju Maakond",
- "beneficiary_bank_city": "Tallinn",
- "beneficiary_bank_country": "EE",
- "beneficiary_bank_name": "MoneySwap OU",
- "beneficiary_city": "Warsaw",
- "beneficiary_country": "Poland",
- "beneficiary_postcode": "03",
- "beneficiary_state": "Masovian Voivodeship",
- "country_code": "ES",
- "created_at": "2021-09-20T14:55:40.007858Z",
- "currency": "EUR",
- "fiat_balance": "123.45",
- "first_name_en": "santa",
- "iban": "GB36FOUN00992200020101",
- "last_name_en": "claus",
- "status": "active",
- "swift": "FOUNGB21XXX",
- "updated_at": "1970-01-01T00:00:00Z"
}, - "status": "200"
}
Create IBAN
OK
Error codes:
* 400000: risk error. Please contact support;
* 400049: IBAN not found;
* 400050: IBAN is not available for user;
* 400051: Gateway token expired. Please contact support;
* 400056: IBAN already exists;
* 400066: Unknown error;
401000: Authorization failed
Error codes:
* 403007: There's another active transaction;
* 403020: IP is blacklisted;
* 403026: Resource is unavailable. Please contact support;
405000: Method Not Allowed
Error codes:
* 500000: Check IBAN available error in risk. Please contact support;
{- "data": {
- "beneficiary_address_line": "varsava",
- "beneficiary_bank_address": "Kopli tn 27, Pohja-Tallinna linnaosa, Harju Maakond",
- "beneficiary_bank_city": "Tallinn",
- "beneficiary_bank_country": "EE",
- "beneficiary_bank_name": "MoneySwap OU",
- "beneficiary_city": "Warsaw",
- "beneficiary_country": "Poland",
- "beneficiary_postcode": "03",
- "beneficiary_state": "Masovian Voivodeship",
- "country_code": "ES",
- "created_at": "2021-09-20T14:55:40.007858Z",
- "currency": "EUR",
- "fiat_balance": "123.45",
- "first_name_en": "santa",
- "iban": "GB36FOUN00992200020101",
- "last_name_en": "claus",
- "status": "active",
- "swift": "FOUNGB21XXX",
- "updated_at": "1970-01-01T00:00:00Z"
}, - "status": "200"
}
Get IBAN limits for buy operations
OK
Error codes:
* 400001: Validation error, check the data field;
* 400003: Currency is not supported;
* 400060: Fail to get IBAN limits. Check the message field;
* 400066: Unknown error;
401000: Authorization failed
Error codes:
* 403020: IP is blacklisted;
* 403026: Resource is unavailable. Please contact support;
405000: Method Not Allowed
500001: Various reasons, check the message field
{- "data": {
- "currenciesLimits": {
- "ETH": {
- "day": {
- "remain": "0.277700638711500000",
- "total": "0.277700638711500000"
}, - "max": "2.007223972028780000",
- "min": "0.007223972028780000",
- "month": {
- "remain": "2.404734880366000000",
- "total": "2.404734880366000000"
}
}, - "EUR": {
- "day": {
- "remain": "1000.00",
- "total": "1000.00"
}, - "max": "2000.00",
- "min": "90.00",
- "month": {
- "remain": "10000.00",
- "total": "10000.00"
}
}
}
}, - "status": "200"
}
Get IBAN limits for deposit operations
OK
Error codes:
* 400001: Validation error, check the data field;
* 400003: Currency is not supported;
* 400060: Fail to get IBAN limits. Check the message field;
* 400066: Unknown error;
401000: Authorization failed
Error codes:
* 403020: IP is blacklisted;
* 403026: Resource is unavailable. Please contact support;
405000: Method Not Allowed
500001: Various reasons, check the message field
{- "data": {
- "currenciesLimits": {
- "EUR": {
- "day": {
- "remain": "1000.00",
- "total": "1000.00"
}, - "max": "2000.00",
- "min": "90.00",
- "month": {
- "remain": "10000.00",
- "total": "10000.00"
}
}
}
}, - "status": "200"
}
Get IBAN limits for sell operations
OK
Error codes:
* 400001: Validation error, check the data field;
* 400003: Currency is not supported;
* 400060: Fail to get IBAN limits. Check the message field;
* 400066: Unknown error;
401000: Authorization failed
Error codes:
* 403020: IP is blacklisted;
* 403026: Resource is unavailable. Please contact support;
405000: Method Not Allowed
500001: Various reasons, check the message field
{- "data": {
- "currenciesLimits": {
- "ETH": {
- "day": {
- "remain": "0.277700638711500000",
- "total": "0.277700638711500000"
}, - "max": "2.007223972028780000",
- "min": "0.007223972028780000",
- "month": {
- "remain": "2.404734880366000000",
- "total": "2.404734880366000000"
}
}, - "EUR": {
- "day": {
- "remain": "1000.00",
- "total": "1000.00"
}, - "max": "2000.00",
- "min": "90.00",
- "month": {
- "remain": "10000.00",
- "total": "10000.00"
}
}
}
}, - "status": "200"
}
Get IBAN limits for withdraw operations
OK
Error codes:
* 400001: Validation error, check the data field;
* 400003: Currency is not supported;
* 400060: Fail to get IBAN limits. Check the message field;
* 400066: Unknown error;
401000: Authorization failed
Error codes:
* 403020: IP is blacklisted;
* 403026: Resource is unavailable. Please contact support;
405000: Method Not Allowed
500001: Various reasons, check the message field
{- "data": {
- "currenciesLimits": {
- "EUR": {
- "day": {
- "remain": "1000.00",
- "total": "1000.00"
}, - "max": "2000.00",
- "min": "90.00",
- "month": {
- "remain": "10000.00",
- "total": "10000.00"
}
}
}
}, - "status": "200"
}
Get KYC access token for iframe
OK
Error codes:
* 400001: Validation error, check the data field;
* 400062: Cannot get KYC access token. Check the message field;
401000: Authorization failed
Error codes:
* 403020: IP is blacklisted;
* 403026: Resource is unavailable. Please contact support;
405000: Method Not Allowed
500001: Various reasons, check the message field
{- "data": {
- "applicant_id": "6315bcb2647ada0001823025",
- "kyc_access_token": "_act-ca4dae41-0ecd-468d-86e2-02d5ca697b8d"
}, - "status": "200"
}
Get user’s previously uploaded KYC documents
OK
Bad request
401000: Authorization failed
Error codes:
* 403020: IP is blacklisted;
* 403026: Resource is unavailable. Please contact support;
405000: Method Not Allowed
500001: Various reasons, check the message field
{- "data": {
- "kyc1_status": "complete",
- "kyc2_status": "incomplete",
- "review_result": {
- "documents": [
- {
- "doc_country_code": "GBR",
- "doc_id": "675996053",
- "doc_state": "red",
- "doc_type": "PASSPORT",
- "partner_message": "Fraudulent patterns detected:\\nleaked image or sample ID from the internet\\n\\nVerification rejected due to excessive file uploads.",
- "reject_labels": [
- "FORGERY",
- "SPAM"
], - "reject_type": "FINAL",
- "user_message": "Test user message in u3-3."
}, - {
- "doc_country_code": "GBR",
- "doc_id": "305359999",
- "doc_state": "red",
- "doc_type": "PASSPORT",
- "partner_message": "- Expired Identity document. A new document has been requested.\\n - The document is either damaged or unreadable. A new document has been requested,",
- "reject_labels": [
- "EXPIRATION_DATE",
- "DOCUMENT_DAMAGED"
], - "reject_type": "RETRY",
- "user_message": "- Your identity document has expired and can't be used for verification. Try a different identity document.\\n - Your document is either damaged or cannot be read. Try another document."
}, - {
- "doc_country_code": "GBR",
- "doc_id": "1983361476",
- "doc_state": "not_started",
- "doc_type": "SELFIE"
}, - {
- "doc_country_code": "GBR",
- "doc_id": "1428927584",
- "doc_state": "green",
- "doc_type": "UTILITY_BILL"
}
]
}
}, - "status": "200"
}
Send user’s KYC documents
JSON Body
OK
Error codes:
* 400000: Bad request;
* 400001: Validation error, check the data field;
* 400005: Validation error for country_code field;
* 400039: Validation error for document field;
* 400040: Validation error for birthday field;
* 400041: Validation error for first_name field;
* 400042: Validation error for last_name field;
* 400066: Unknown error;
* 400067: User profile save error;
401000: Authorization failed
Error codes:
* 403007: There's another active transaction;
* 403020: IP is blacklisted;
* 403022: KYC already complete;
* 403023: Various reasons, check the message field;
* 403030: This endpoint is disabled for current partner;
405000: Method Not Allowed
500001: Various reasons, check the message field
{- "address_1": "Plaza Dr",
- "address_2": "1609",
- "birthday": "1995-05-25",
- "citizenship_country_code": "us",
- "city": "Woodbridge",
- "correspondence_address_line": "Gebbertstraße, 123",
- "correspondence_city": "Erlangen",
- "correspondence_country_code": "de",
- "correspondence_postal_code": "91058",
- "correspondence_state": "Bayern",
- "country_code": "pl",
- "document": [
- {
- "files": {
- "side-1.jpg": "base64filecontent",
- "side-2.jpg": "base64filecontent"
}, - "type": "id_card"
}
], - "first_name": "Adam",
- "first_name_en": "Adam",
- "id_number": "123456789",
- "kyc_level": "1",
- "last_name": "Smith",
- "last_name_en": "Smith",
- "residence_address_line": "string",
- "residence_city": "string",
- "residence_country_code": "us",
- "residence_postal_code": "91058",
- "residence_state": "string",
- "state": "NJ",
- "zip": "07095"
}
{- "data": {
- "applicant_id": "string",
- "kyc_access_token": "string"
}, - "status": "202"
}
Get user KYC statuses
OK
Error codes:
* 400064: User not found by token;
401000: Authorization failed
Error codes:
* 403020: IP is blacklisted;
* 403026: Resource is unavailable. Please contact support;
405000: Method Not Allowed
500001: Various reasons, check the message field
{- "data": {
- "features": [
- {
- "feature": "crypto",
- "status": "incomplete"
}, - {
- "feature": "iban",
- "status": "incomplete"
}
]
}, - "status": "200"
}
Refresh b2b-bearer-token
OK
Error codes:
* 400014: Empty widget error. Contact your account manager;
* 400064: User not found by token;
401000: Authorization failed
Error codes:
* 403020: IP is blacklisted;
* 403026: Resource is unavailable. Please contact support;
405000: Method Not Allowed
500001: Various reasons, check the message field
{- "data": {
- "timeout": 86400,
- "token": "06c6587c7c4257195crsGTnPPK_9vKoNAU23-u-ja9XJdjjYBc6Vc9c_L0T9R-yq",
- "user_uuid4": "044ef633-d20b-4e4f-a011-7f3378334cd1"
}, - "status": "200"
}
Set user phone
OK
Error codes:
* 400073: Validation error for the phone
field;
401000: Authorization failed
Error codes:
* 403003: Too many requests for phone validation;
* 403007: There's another active transaction;
* 403020: IP is blacklisted;
* 403026: Resource is unavailable. Please contact support;
405000: Method Not Allowed
500001: Various reasons, check the message field
{- "phone": "string"
}
{- "data": [
- {
- "code_length": "4",
- "key": "0f07661ce66774ec87537d47e1db961cf77d450b1c8d230419d8f72fdf98666abG9naW4tdmVyaWZ5LXBob25lBfhShypGUnsFRd5dqhDFPpJoOpbPdsj5",
- "timeout": "20"
}
], - "status": "200"
}
Sign-in user
OK
Error codes:
* 400004: Validation error for user_uuid4 field;
* 400010: Validation error for phone field;
* 400014: Empty widget error. Contact your account manager;
* 400037: Validation error for email field;
* 400063: Requires one of the parameters: phone
, user_uuid4
, email
;
401000: Authorization failed
Error codes:
* 403007: There's another active transaction;
* 403020: IP is blacklisted;
* 403031: User is locked by some reason or not found;
* 403031: User email is not confirmed;
405000: Method Not Allowed
500001: Various reasons, check the message field
{- "email": "someemail@gmail.com",
- "phone": "+35797522499",
- "user_uuid4": "69f63545-9a58-4075-894d-47490eeed55b"
}
{- "data": {
- "bearer_token": "eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpc3MiOiJkZXYubG9jYWwiLCJpYXQiOjE2NDkxMDAxNjIsImp0aSI6ImZCc2NUYnhlYXBteG9hMzc1WU9pajBtQXNVb045VFRoRWF3ZGFQYWxcL1g0PSIsIm5iZiI6MTY0OTEwMDE2NywiZGF0YSI6eyJ1c2VyX2lkIjoyMywiYWRkaXRpb25hbCI6eyJ3aWRnZXRfaWQiOiJkNWE0OGQ2My1mNWRlLTQ5OGEtYjM4OC02NDE2NjJkYjg2NmMiLCJleGNoYW5nZV9wYXJ0bmVyX2lkIjoxLCJzZGtfcGFydG5lcl9pZCI6MSwicHJvZHVjdCI6ImNvbW1fYXBpIn19fQ.AN8TxPN6tmxfcpTrp_FSWiCXvjqWwRg4oUMgWPFIg08",
- "user_uuid4": "3292c753-6809-492a-9acd-1ccdbf2fa91e"
}, - "status": "200"
}
Sign-up user
OK
Error codes:
* 400006: You need to accept the user agreement to signup;
* 400014: Empty widget error. Contact your account manager;
* 400037: Validation error for email field;
401000: Authorization failed
Error codes:
* 403007: There's another active transaction;
* 403020: IP is blacklisted;
* 403023: Sign-up failed. Check the message field;
405000: Method Not Allowed
500001: Various reasons, check the message field
{- "accept": "true",
- "email": "someemail@gmail.com"
}
{- "data": {
- "bearer_token": "eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpc3MiOiJkZXYubG9jYWwiLCJpYXQiOjE2NDkxMDAxNjIsImp0aSI6ImZCc2NUYnhlYXBteG9hMzc1WU9pajBtQXNVb045VFRoRWF3ZGFQYWxcL1g0PSIsIm5iZiI6MTY0OTEwMDE2NywiZGF0YSI6eyJ1c2VyX2lkIjoyMywiYWRkaXRpb25hbCI6eyJ3aWRnZXRfaWQiOiJkNWE0OGQ2My1mNWRlLTQ5OGEtYjM4OC02NDE2NjJkYjg2NmMiLCJleGNoYW5nZV9wYXJ0bmVyX2lkIjoxLCJzZGtfcGFydG5lcl9pZCI6MSwicHJvZHVjdCI6ImNvbW1fYXBpIn19fQ.AN8TxPN6tmxfcpTrp_FSWiCXvjqWwRg4oUMgWPFIg08",
- "user_uuid4": "3292c753-6809-492a-9acd-1ccdbf2fa91e"
}, - "status": "200"
}