On- and Off-Ramp — integrated via Redirect — allows you to create a widget for buying and selling crypto currencies. Unverified users can buy crypto up to EUR 699.
In addition, the solution offers a feature with the ability of issuing a Mercuryo Spend virtual payment card for end-user. Once the Mercuryo Spend card is issued, it can be used when selling crypto for fiat money and withdrawing funds, as well as in POS and e-commerce transactions. Contact your integration manager to enable this feature. There can be only one opened Mercuryo Spend card per end-user. If the card is already opened, the end-user will see it in the list of cards.
Use Mercuryo wrappers for iOS and Android to add the widget to your mobile app.
Mercuryo accepts Mastercard and Visa.
Apple Pay
WebView | Custom Tab | |
---|---|---|
Safari | Fully Compatible | Incompatible |
Google Chrome | Incompatible | Incompatible |
Chromium Browsers | Incompatible | Incompatible |
Google Pay
WebView | Custom Tab | |
---|---|---|
Safari | Incompatible | Fully Compatible |
Google Chrome | Incompatible | Fully Compatible |
Chromium Browsers | Incompatible | Fully Compatible |
Note the list of countries where Google Pay is supported for payments on websites and apps. Also, keep in mind the list of countries where Mercuryo operates.
Start with the Sandbox
environment to:
To access the Sandbox
environment, ask your integration manager to give you credentials and whitelist all your IP addresses for using with the Sandbox
environment.
Testnet | Address | Supported Cryptocurrency |
---|---|---|
BTC Testnet | msBE6aCaAesegu4VzbQW3L5xWBL8vi15Q7 |
Bitcoin |
ETH Sepolia | 0xA14691F9f1F851bd0c20115Ec10B25FC174371DF |
Ethereum (ETH) and USDT |
https://sandbox-dashboard.mrcr.io
.https://sandbox-exchange.mrcr.io
.https://sandbox-api.mrcr.io
.4444 4444 4444 3333
.any future date
.123
.name + surname
.hint
in the additional window.To start using the On- and Off-Ramp widget, get dashboard credentials, sign in, and set up your widget. You will need the widget ID
and signature
parameters to enable buying and selling crypto.
To create a widget, go to Widgets > Add Widget.
In the Domain URL field, enter https://exchange.mercuryo.io (this URL is for production). Leave no symbols or backspaces after the https://exchange.mercuryo.io URL. The widget won’t work properly and you’ll see the widget.mercuryo.io refused to connect
message.
The On- and Off-Ramp widget uses these URL parameters. These parameters can fill in up to 90% of the information and the user will have to enter only numbers.
Use the signature
parameter to protect your widget ID and parameters against the forgery. The signature
parameter is always required. A signature is generated using this algorithm: signature = sha512(address+secret). There is no space between address
and secret
.
Secret Key
at the bottom.addresssecret
— into the SHA512 calculator to generate a signature.widget_id
: widget ID.address
: blockchain wallet address.hide_address
: toggle hide address.signature
: generated signature.The signature is verified before the 3-D Secure step. If the signature is invalid, the Signature is invalid
message will be displayed. The user won't be able to complete the operation.
Custom Tabs present effective solution for apps like yours, particularly when it comes to Google Pay integration. They are not just about aesthetics or user experience; they are mainly about functionality, specifically enabling Google Pay to work seamlessly within your app.
Here's a Kotlin code snippet to illustrate how you can launch our exchange URL, https://exchange.mercuryo.io, within a Custom Tab:
kotlinCopy codeval url = "https://exchange.mercuryo.io"
val intent = Builder().build()
intent.launchUrl(requireContext(), Uri.parse(url))
One advantage of using Custom Tabs is that the URL stays consistent with WebView integration. This helps to maintain a unified user experience, but more importantly, it ensures that critical functionalities like Google Pay work without any glitches.
Custom Tabs also offer some customization options, although they may not be the primary concern in this context. You can change the toolbar color, set custom enter and exit animations, and make other adjustments. For example:
kotlinCopy codeval customTabsIntent = CustomTabsIntent.Builder()
.setToolbarColor(Color.BLUE)
.build()
customTabsIntent.setStartAnimations(this, R.anim.slide_in_right, R.anim.slide_out_left)
customTabsIntent.setExitAnimations(this, R.anim.slide_in_left, R.anim.slide_out_right)
While Custom Tabs integration might feel like a necessary step rather than an optional enhancement, our data does indicate a positive outcome. Custom Tab integration can lead to higher conversion rates for mobile payment options. It's a way to ensure that the desired functionalities, especially Google Pay, are working correctly.
In conclusion, integrating Custom Tabs with our exchange URL is a practical move to ensure that Google Pay operates smoothly within your app. Though it may feel like a forced solution, it comes with benefits that align with the current trends in mobile commerce. Please contact your integration manager to discuss further how this integration can best serve your specific needs.
Mercuryo sends callbacks when the transaction status changes. Set up a callback URL to receive callbacks.
Go to Widget Callbacks to browse callbacks, resend a callback, and send a test callback.
"data": {
"id": "0c6466a43af411905",
"type": "buy",
"user": {
"email": "user@mercuryo.io",
"phone": "+3570000000",
"uuid4": "d80e72e4-4d6d-4f4b-aaf5-44d9143d8558",
"country_code": "cy"
},
"amount": "0.00046199",
"status": "new",
"network": "BITCOIN",
"currency": "BTC",
"created_at": "2024-07-31 07:47:59",
"updated_at": "2024-07-31 07:47:59",
"fiat_amount": "45.00",
"created_at_ts": 1722412079,
"fiat_currency": "USD",
"updated_at_ts": 1722412079,
"payment_method": "card",
"card_masked_pan": null,
"merchant_transaction_id": null
}
Differentiate between sell operations made on Spend cards and those made on external cards through the callback:
Spend card opening:
type: "sell"
payment_method: "spend_card_open"
Spend card top-up:
type: "sell"
payment_method: "spend_card_topup"
Sell to external card:
type: "sell"
payment_method: "card"
The sign key is used for checking the callback signature. When the transaction status changes, the merchant receives a request with transaction data from Mercuryo. If you use callbacks, you can set up the signature check.
You can check the signature by generating a hash with the HMAC sha256 algorithm and a key from the Sign Key field in the Dashboard. Check the X-Signature
HTTP header against the generated hash.
The signature is generated using the whole callback body payload as an input. So, it's required to provide the whole callback body.
This is the case when purchase is made with the card.
new
: a new transaction was created.pending
: standing by for 3-D Secure verification.cancelled
: a transaction was canceled usually due to the timeout.paid
: the money deposited from a payment card.order_failed
: a transaction was rejected by a bank.order_scheduled
: the money is held on the card, standing by for the KYC verification; if the verification fails, the money will be returned.order_verified_not_complete
: the verification is successful, an order was queued on an exchange.failed_exchange
: Mercuryo failed to exchange for various reasons.This is the case when purchase is made with the invoice method.
new
: a new transaction was created.payment_received
: Mercuryo received a callback that the money has been received through the buyer's bank.completed
: the crypto transferred to the user address.refund_in_progress
: waiting for money refund to the user.refunded
: successful money refund to the user is made.failed
: a transaction was rejected/failed. For example, in case when the user cancelled the payment themselves or abandoned the payment and did not pay, or if the bank rejected the transaction, or if there is an error creating an invoice on the Mercuryo side.order_failed
: a transaction was rejected/failed in case if the user has a negative balance in the crypto wallet.cancelled
: a transaction was canceled usually due to the timeout.Withdraw usually follows the successful
buy
transaction, or in case of the failedsell
transaction.
new
: a new transaction was created.pending
: a transaction in progress.completed
: the money transferred to the user address.failed
: a transaction failed.new
: a new transaction was created.pending
: a transaction in progress.succeeded
: the money transferred to the card.failed
: a transaction failed.Opening a Spend card is a feature with the ability of issuing a Mercuryo virtual payment card for end-user in order to use it when selling crypto for fiat money and withdrawing funds. Contact your integration manager to enable this feature.
The difference from the standard sell
is that the fiat_card_sell
transaction in the new
status is created after a successful deposit
. In the standard sell
, the transaction is created before the deposit
.
new
: a new transaction was created.pending
: a transaction in progress.succeeded
: the money transferred to the card.failed
: a transaction failed.Deposit follows the standard successful
sell
transaction, or goes before thefiat_card_sell
transaction.
new
: a new transaction was created.pending
: a transaction in progress.completed
: the money transferred to Mercuryo.failed
: a transaction failed.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.
Verification includes the following:
For Mercuryo Spend card feature, the list of required documents depends on the end-user's country of citizenship:
*- ID card is not accepted for UK citizens.
The document must have:
Meet these requirements:
There are two 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.
There is a standard flow when a user does the KYC procedures directly in the widget. See the identity verification requirements above.
The silent authentication is a tool that makes signing in Mercuryo easier for users.
The silent authentication allows for skipping the authentication in the widget: just pass the token in the URL, so that the user doesn't have to enter credentials.
You have to ask the user to agree to the Terms of Service on your front end to share the user data with Mercuryo.
You have to allow Mercuryo to use the user data for the registration and with third parties.
There are two cases of the silent authentication depending on your user onboarding:
For users without a Mercuryo account.
The Sdk-Partner-Token
header is required. Contact your integration manager to get the header.
Required parameters for POST /sdk-partner/sign-up
:
email
.accept
.POST /sdk-partner/sign-up
to get init_token
and init_token_type
.init_token
expires after the first time it was passed or after one hour.init_token
and init_token_type
parameters in the URL.Sign up verified users and share them with Mercuryo using SumSub share token.
The Sdk-Partner-Token
header is required. Contact your integration manager to get the header.
Required parameters for POST /sdk-partner/sign-up
:
email
.accept
.share_token
.POST /sdk-partner/sign-up
to get init_token
and init_token_type
.init_token
expires after the first time it was passed or after one hour.init_token
and init_token_type
parameters in the URL.For already registered users.
The Sdk-Partner-Token
header is required. Contact your integration manager to get the header.
POST /sdk-partner/login
to get init_token
and init_token_type
.init_token
expires after the first time it was passed or after one hour.init_token
and init_token_type
parameters in the URL.Buying crypto with fiat money using a payment card.
GET /lib/currencies
to get available currencies.GET /public/card-countries
to get available countries.GET /public/data-by-ip
to check user's location.GET /public/currency-limits
to get user limits.GET /widget/buy/rate
to see the transaction total.GET /sdk-partner/transactions
to get the transaction status.Selling crypto for fiat money and withdrawing funds to a payment card.
The user must be signed in and verified (valid KYC). Mercuryo won’t complete the transaction if the verification is expired.
If the crypto is not received within 6 hours, the sell request will fail. If the crypto is received after this period, it will be credited to the user's wallet balance as a regular deposit (in the crypto itself, without converting to fiat). The crypto will only be refunded to the refund_address
if there is an error in the sell process on the Mercuryo side.
Selling crypto is disabled for a newly created widget. Contact your integration manager to enable this feature.
EUR and USD are the only available currencies for selling crypto.
GET /lib/currencies
to get available crypto currencies.GET /public/card-countries
to get available countries.GET /public/data-by-ip
to check user's location.GET /public/currency-limits
to get user limits.GET /widget/sell/rate
to see the transaction total.GET /sdk-partner/transactions
to get the transaction status.Simplifies the process of managing and making regular payments at regular intervals, such as monthly or annually. Allows users to set up automatic payments for recurring bills or subscriptions using their credit or debit cards.
Parameters
The following widget parameters are used to choose and configure the flow of recurring payments.
Parameter | Parameter Value | Description |
---|---|---|
widget_flow | CONST recurrent |
Mandatory. Enables the recurring payment flow |
partner_flow | Applicable to the partners having a customized UI | |
address | {crypto_address} | Destination address |
currency | {crypto_currency} | Cryptocurrency |
fix_network | {crypto_network} | Example: ETHEREUM , BINANCESMARTCHAIN or TRON |
fiat_currency | {fiat_currency} | Fiat currency |
redirect_url | {redirect_url} | URL where to return the user after creating a recurring purchase subscription |
frequency | enum[weekly , monthly ] |
If this value is set, the frequency will be fixed in OOR widget's UI. To change it, the user will have to go back to the partner’s screen |
charge_day | enum[1 , 2 , 3 , …, 31 ] for frequency:monthly ; enum[monday , tuesday , …, sunday ] for frequency:weekly |
If this value is set, it will be fixed in OOR widget's UI. To change it, the user will have to go back to the partner’s screen |
URL example: https://exchange.mercuryo.io/?widget_id=6b5ab199-cdb8-4426-8a34-3ff9d24188cf&widget_flow=recurrent&fiat_currency=EUR¤cy=USDT&network=TRON&fiat_amount=540&address=TQhoZ9hgkQ1NMAMJZ23EPaGtJDMCmv6yJd
A feature with the ability of issuing a Mercuryo Spend virtual payment card for end-user. Contact your integration manager to enable this feature.
Mercuryo Spend card can be opened during the Off-ramp process. The end-user must be signed in, successfully complete KYC procedures (valid KYC), and have a valid mobile phone number to issue a Mercuryo Spend virtual payment card. There can be only one card per end-user. If the card is already opened, the end-user will see it in the list of cards.
If you want users to immediately be redirected to the Spend card opening flow, specify the following parameters in your widget:
type
parameter, specify sell
. EUR
in the fiat_currency
parameter.payment_method
parameter with the spend_card
value.URL example: https://exchange.mercuryo.io/?type=sell&fiat_currency=EUR&fix_fiat_currency=true&fix_payment_method=true&payment_method=spend_card
Once the card is issued, it can be used when selling crypto for fiat money and withdrawing funds, as well as in POS and e-commerce transactions.
Mercuryo PRO is an OTC widget for businesses and individuals intending to make a transaction of 50.000 EUR/USD or more via IBAN transfer. Mercuryo PRO offers high-volume transaction processing with personalized support from a dedicated Customer Success Manager, all without leaving the Mercuryo interface.
Parameters Used
Parameter Name | Description | Example |
---|---|---|
otc_id |
Transaction ID to assign | 123 |
fiat_amount |
Sets an amount of fiat currency | 50000 |
fiat_currency |
Sets fiat currency | EUR |
type |
Type of operation | buy or sell |
amount |
Sets an amount of cryptocurrency | 0.1 |
currency |
Sets cryptocurrency | BTC |
network |
Sets network | SOLANA |
Example of the widget's URL: https://exchange.mercuryo.io/?otc_id=123&fiat_amount=60000&fiat_currency=EUR&type=sell¤cy=USDC&network=POLYGON
The feature allows users to quickly retry a payment after a failed transaction.
The Try Again feature has several customizations. Please contact your integration manager to adjust the settings following your preferences.
Retry Scenarios Configuration
You can customize the retry scenarios by enabling or disabling the following options:
Enabling the Try Again feature affects callbacks. Please make sure that your back-end is ready for changes.
There are a few parameters in the callback payload that may change when the Try Again feature is enabled:
Parameter | Description |
---|---|
id | Mercuryo’s transaction ID. It changes when a user creates a new transaction while the merchant_transaction_id does not change |
created_at | Mercuryo creates a new transaction. The new transaction gets a new creation date value |
created_at_ts | Mercuryo creates a new transaction. The new transaction gets a new creation date value |
fiat_currency | It might change if Change Transaction Amount settings are enabled |
fiat_amount | It might change if Change Transaction Amount settings are enabled |
amount | It might change if Change Transaction Amount settings are enabled |
rate | It might change if Change Transaction Amount settings are enabled |
payment_method | It might change if Change Payment Method settings are enabled |
Example of changing callbacks payload
First transaction’s callback example:
{
"url": "",
"sign_key": "*****",
"widget_id": "d8f5099f-cbb7-1f9f-a34b-256c23f12345",
"payload": {
"eventId": "ead92193-5310-4962-9730-d7280d623410",
"data": {
"id": "0c9be256a0eed7062",
"merchant_transaction_id": "trx_20240911_102155662",
"created_at": "2024-09-11 09:48:51",
"updated_at": "2024-09-11 09:48:53",
"type": "buy",
"currency": "BTC",
"amount": "0.00048148",
"fiat_currency": "EUR",
"fiat_amount": "25.00",
"status": "order_scheduled",
"created_at_ts": 1726048131,
"updated_at_ts": 1726048133,
"user": {
"uuid4": "00e0043f-9c9a-4a93-b4b3-f10729af6ef6",
"country_code": "de",
"phone": "*****",
"email": "*****"
},
"network": "BITCOIN",
"card": {
"number": "*****"
},
"fee": "0.28",
"partner_fee": "0.00",
"rate": "51341.70",
"payment_method": "card"
}
}
}
Second transaction’s callback example:
{
"url": "",
"sign_key": "*****",
"widget_id": "d8f5099f-cbb7-1f9f-a34b-256c23f12345",
"payload": {
"eventId": "ead92193-5310-4962-9730-d7280d623410",
"data": {
"id": "0c9be512a0ebd8012",
"merchant_transaction_id": "trx_20240911_102155662",
"created_at": "2024-09-11 09:50:03",
"updated_at": "2024-09-11 09:50:53",
"type": "buy",
"currency": "BTC",
"amount": "0.00024148",
"fiat_currency": "USD",
"fiat_amount": "13.7",
"status": "paid",
"created_at_ts": 1726056363,
"updated_at_ts": 1726056363,
"user": {
"uuid4": "00e0043f-9c9a-4a93-b4b3-f10729af6ef6",
"country_code": "de",
"phone": "*****",
"email": "*****"
},
"network": "BITCOIN",
"fee": "0.15",
"partner_fee": "0.00",
"rate": "56341.70",
"payment_method": "mobile_pay"
}
}
}
The Try Again feature also includes advanced settings for managing callback notifications sent to your system.
Disable All Non-final Callbacks
If enabled, Mercuryo will only send callbacks with final statuses, such as paid
, cancelled
or order_failed
. Intermediate statuses such as new
and pending
will not trigger callbacks.
Important: If you do not disable intermediate callbacks, your system will receive multiple callbacks, which may create confusion, or overload your system, especially when multiple transactions are created by a user in rapid succession.
Example:
"new" → "pending" → "new" → "pending" → "new" → "pending" → "{final_status}" (based on the result of the transaction)
.Disable Intermediate Callbacks for following transactions
If enabled, Mercuryo will not send intermediate callbacks (such as new
, cancelled
or pending
) for any transaction after the first one in a series of retries.
For the first transaction, intermediate callbacks will still be sent.
To customize the Mercuryo Widget, follow these instructions in Figma.
Customize the appearance: put a theme name at the end of this URL https://exchange.mercuryo.io/?theme=THEME_NAME
.
To get Mercuryo fonts, download this archive.
To get Mercuryo logos, download this archive.
Where does Mercuryo operate?
Mercuryo is operational and allows end-users from all countries, except for the following list. The below details are used to identify whether end-user’s country is from non-operational list:
Note that the Off-Ramp operations are available in selected countries for external non-Mercuryo cards (Visa and Master).
Mercuryo Spend card can be opened for citizens/nationals from the following countries: European Economic Area (EEA), European Union (EU), Switzerland, United Kingdom (UK), and other countries where Mercuryo Off-ramp operations are allowed.
{- "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"
], - "fiat_payment_methods": {
- "AED": [
- "Visa",
- "Mastercard"
], - "BGN": [
- "Visa",
- "Mastercard",
- "Google Pay",
- "Apple Pay"
]
}
}, - "status": "200"
}
{- "data": {
- "buy": {
- "property1": {
- "property1": "string",
- "property2": "string"
}, - "property2": {
- "property1": "string",
- "property2": "string"
}
}, - "sell": {
- "property1": {
- "property1": "string",
- "property2": "string"
}, - "property2": {
- "property1": "string",
- "property2": "string"
}
}
}, - "status": 0
}
Transactions for sdk partners
Get transactions
401000: Authorization failed
Error codes:
* 403007: Transaction lock error. Please contact support;
* 403020: IP is blacklisted;
* 403026: Resource is unavailable. Please contact support;
500001: Various reasons, check the message field
{- "data": [
- {
- "transaction_type": {
- "amount": "0.0212512",
- "created_at": "2021-07-22 09:08:46",
- "currency": "BTC",
- "email": "74111111175@tt.st",
- "fiat_amount": "200.00",
- "fiat_currency": "EUR",
- "id": "058dc74257a417582",
- "merchant_transaction_id": "00357ec76de855485",
- "payment_method": "apple",
- "status": "new",
- "transaction_id": "058dc74303d2d0459",
- "updated_at": "2021-07-22 09:08:46",
- "widget_id": "67710925-8b40-4767-846e-3b88db69f04d"
}
}
], - "next": "string",
- "prev": "string",
- "status": "200",
- "total": "100"
}
Get off-ramp conversion rates
OK
Error codes:
* 400001: Validation error, check the data field;
* 400005: Amount off limits
Forbidden
Internal server error
{- "data": {
- "amount": "0.00215648",
- "currency": "BTC",
- "fee": "12.00",
- "fee_currency": "EUR",
- "fiat_amount": "100.00",
- "fiat_currency": "EUR",
- "rate": "46371.86",
- "type": "sell"
}, - "status": "200"
}
Get currency sell rate
OK
Error codes:
* 400001: Validation error, check the data field;
* 400005: Amount off limits
Forbidden
Internal server error
{- "data": {
- "currency": "BTC",
- "fee": {
- "BTC": "0.00041386",
- "USD": "4.00"
}, - "fiat_currency": "USD",
- "rate": "51879.29",
- "reverse_rate": "0.00001927",
- "sell_token": "055274baeb1985d56ad1f3bc9947ea8f1815fa54324188632c1341...",
- "subtotal": {
- "BTC": "0.01076048",
- "USD": "96.00"
}, - "total": {
- "BTC": "0.01076048",
- "USD": "100.00"
}
}, - "status": "200"
}
Get currency rate
OK
Error codes:
* 400001: Validation error, check the data field;
* 400005: Amount off limits
Forbidden
Internal server error
{- "data": {
- "amount": "0.02000000",
- "buy_token": "2e9a8afe7707983fd1f213f75decd33ee3a06dd6837a81835179e8aeb2a1c218eyJ0IjoiMTY3NTE3MzgxOCIsInR0Ijp0cnVlLCJjIjoiQlRDIiwiYSI6IjAuMDAxNzU1MTUiLCJmYyI6IkVVUiIsImZhIjoiNDIuNTgiLCJmIjoiNS4yMiIsInRmIjoiMC4xIiwic2YiOiIxLjQ3ODA2NDUxNTciLCJyIjoiMjEyODIuNjYzNTY3OTEiLCJjaWQiOiJlNjFiNTA1ZTIxYmM4NDUwZmZmNzk0MTM5NjBkNDMyNyIsInciOiIyMzM1YzZkMC05ZTM5LTQ3MmYtYTkzNi0wYzY5Y2U2MTgzMDMiLCJvcCI6ImJ1eSIsInBhIjoiY2FyZCIsInB0IjpudWxsLCJwcyI6bnVsbCwibiI6IkJJVENPSU4iLCJmaSI6bnVsbH0=",
- "currency": "BTC",
- "fee": {
- "BTC": "0.00075999",
- "EUR": "17.09"
}, - "fiat_amount": "432.50",
- "fiat_currency": "EUR",
- "kyc_limit_exceeded": false,
- "kyc_limits": false,
- "rate": "51801.09",
- "reverse_rate": "0.00001930",
- "subtotal": {
- "BTC": "0.01924001",
- "EUR": "432.50"
}, - "total": {
- "BTC": "0.02000000",
- "EUR": "449.59"
}
}, - "status": "200"
}
Get currency rate
OK
Error codes:
* 400001: Validation error, check the data field;
* 400005: Amount off limits
Can't get rates data
Forbidden
Internal server error
{- "data": {
- "amount": "0.02000000",
- "buy_token": "2e9a8afe7707983fd1f213f75decd33ee3a06dd6837a81835179e8aeb2a1c218eyJ0IjoiMTY3NTE3MzgxOCIsInR0Ijp0cnVlLCJjIjoiQlRDIiwiYSI6IjAuMDAxNzU1MTUiLCJmYyI6IkVVUiIsImZhIjoiNDIuNTgiLCJmIjoiNS4yMiIsInRmIjoiMC4xIiwic2YiOiIxLjQ3ODA2NDUxNTciLCJyIjoiMjEyODIuNjYzNTY3OTEiLCJjaWQiOiJlNjFiNTA1ZTIxYmM4NDUwZmZmNzk0MTM5NjBkNDMyNyIsInciOiIyMzM1YzZkMC05ZTM5LTQ3MmYtYTkzNi0wYzY5Y2U2MTgzMDMiLCJvcCI6ImJ1eSIsInBhIjoiY2FyZCIsInB0IjpudWxsLCJwcyI6bnVsbCwibiI6IkJJVENPSU4iLCJmaSI6bnVsbH0=",
- "currency": "BTC",
- "fee": {
- "BTC": "0.00075999",
- "EUR": "17.09"
}, - "fiat_amount": "432.50",
- "fiat_currency": "EUR",
- "kyc_limit_exceeded": false,
- "kyc_limits": false,
- "rate": "51778.29",
- "reverse_rate": "0.00001931",
- "subtotal": {
- "BTC": "0.01924001",
- "EUR": "432.50"
}, - "total": {
- "BTC": "0.02000000",
- "EUR": "449.59"
}
}, - "status": "200"
}
Login user
JSON Body
OK
401000: Authorization failed
Error codes:
* 403007: Transaction lock error. Please contact support;
* 403020: IP is blacklisted;
* 403031: Login failed. Check the message field;
User is not found
405000: Method Not Allowed
Internal server error
{- "email": "someemail@gmail.com",
- "phone": "+1234567890",
- "user_uuid4": "ea159262-3aec-42e8-9cda-f2e5dcba576a"
}
{- "data": {
- "init_token": "09e14728a66fd4289",
- "init_type_token": "sdk_partner_authorization",
- "user_uuid": "3292c753-6809-492a-9acd-1ccdbf2fa91e"
}, - "status": "200"
}
Sign-up user
OK
401000: Authorization failed
Error codes:
* 403007: Transaction lock error. Please contact support;
* 403020: IP is blacklisted;
* 403031: Sign-up failed. Check the message field;
405000: Method Not Allowed
Internal server error
{- "accept": "true",
- "email": "someemail@gmail.com",
- "language_code": "en-US",
- "share_token": "_act-sbx-16a1bb3a-a43a-40ec-97fb-1771e487b5c2"
}
{- "data": {
- "init_token": "09e14728a66fd4289",
- "init_type_token": "sdk_partner_authorization",
- "uuid": "3292c753-6809-492a-9acd-1ccdbf2fa91e"
}, - "status": "200"
}