Creating wallets
Enable your Embedded Partner Merchant (EPM) to create fiat and crypto wallets on the BVNK platform
The first step to building an embedded experience is to create a wallet for your EPM. Using the API call listed below, you can enable your EPM to create a wallet per asset. This allows you to give your EPM a permanent address to send crypto or fiat to when moving funds from other platforms.
For this step, we will be using the Create wallet endpoint on the API
Executing API calls on behalf of your Merchant
Make sure to set x-account-reference header with a value corresponding to the EPM account received using the webhook when account is opened.
curl --request POST \
--url https://api.sandbox.bvnk.com/api/wallet \
--header 'Accept: application/json' \
--header 'Authorization: Hawk id="B9jnE1U8eLblzHtNeJZRxfcq03CQKcmcP9FOrACMzXb1HfrxrePWsTfuP70JNns9", ts="1633010032", nonce="guGXrD", mac="uKeg+w1qXqzaF/8mOQGv8Y9IlRxyxTT+iINLe03EQ60="' \
--header 'Content-Type: application/json' \
--header 'x-account-reference: 558f2eb7-3395-44d8-a489-2d0c6cf62e98' \
--data '
{
"currency": "ETH",
"description": "ETH wallet"
}
'
Let's look at what data you need to input to create a wallet for your EPM.
Parameter | Type | Description |
---|---|---|
currency | string | Currency code of the crypto currency you want to create the wallet for. List of crypto currencies supported today |
description | string | A unique name for this wallet to reconcile on your system |
Once you've sent the request for creating the wallet, you should receive a response like this:
{
"id": 313675,
"description": "ETH wallet",
"currency": {
"id": 1773,
"code": "ETH",
"fiat": true,
"icon": null,
"name": "Ethereum",
"withdrawalParameters": [],
"options": {},
"withdrawalFee": 0.4,
"depositFee": 0,
"supportsDeposits": true,
"supportsWithdrawals": true,
"quantityPrecision": 2,
"pricePrecision": 2,
"protocols": []
},
"supportsWithdrawals": true,
"supportsDeposits": true,
"custodianWallet": false,
"protocol": ETH,
"address": "0xEa61651823dEc1027565AFB908A0c5C06662cdBf",
"lookup": null,
"balance": 0,
"available": 0,
"withdrawalFee": 0,
"depositFee": 0,
"alternatives": null,
"approxAvailable": "0",
"approxBalance": "0"
}
You'll find in this response the address
that you could choose to expose to your EPM, allowing them to transfer their crypto from another venue in to the newly created wallet. The response also contains the wallet id
which needs to be used when converting between fiat to crypto and vice versa.
Updated 9 months ago