Enable Express wallets for customers
Express Embedded offers a customizable user interface and backend APIs that add stablecoin wallet functionality to your platform. This allows you to provide stablecoin storage and management to your customers with minimal investment and development effort.
Embedded Express is intended for customers who need wallets and stored balances. It is best suited for stored-value scenarios where customers maintain balances over time. For one-time payments or payments not requiring a stored-value wallet (e.g., on-ramps or off-ramps to an external wallet or account), we recommend using our Embedded Custom model.
This product lets you use your existing pre-funded fiat balances to offer stablecoin storage services. Your customers do not need to interact with crypto providers or manage conversions.
All Embedded Express wallets include built-in capabilities:
- Rewards: All balances can earn rewards automatically.
- Spending cards: All your customers can be issued with a spending card.
These features are enabled by default and require no additional setup.
Express provides revenue streams for partners:
- Reward income sharing: As a partner, you can receive a share of the reward income generated by customer balances. You may choose to:
- Pay all rewards to your customers.
- Keep all rewards for your platform.
- Card interchange income: You can earn revenue from each card transaction made by your customers.
- Wallet activity markups: You can add markups to, and earn revenue on, wallet activity (payments, conversions, etc.) by your customers as they use their stablecoin wallets.
Contact your Account Manager to discuss available revenue streams, fees, and revenue-sharing options with Embedded Express.
For who is this product intended?
This product is designed for any BVNK partner looking to provide stablecoin wallets and associated services to their customers, for example:
- Payment Service Providers (PSPs) looking to offer stablecoin storage to customers with pre-funded fiat balances
- Platforms and marketplaces needing to convert and store customer funds in stablecoins
- Neobanks and financial services aiming to provide stablecoin wallet functionality to users
What is a standard use case?
You represent a platform (for example, RentPlatform) and one of your customers has $100,000 in their account. You want to offer this customer a branded stablecoin wallet to store and manage their funds.
After your platform onboards with BVNK, you gain access to a fiat wallet for depositing funds. When the customer opts for the stablecoin wallet, you convert funds from the fiat wallet to stablecoins and store them in the customer's wallet. The customer can then view their balance, make transactions, and manage their spending card through BVNK's wallet interface, which is branded with RentPlatform's colors and logos.
Supported payment types
BVNK supports multiple conversion options to address different business needs:
- Fiat to stablecoins: Convert fiat currency to stablecoins and store them in customer wallets.
- Crypto to crypto: Convert from one stablecoin to another within customer wallets.
How does it work?
The Embedded Express model automates the interface shown to a customer: onboarding, registration, login. Your platform needs to call a single API endpoint any time your customer wants to access the platform, regardless of their status: new or existing. BVNK will determine the appropriate action and return the relevant link.
To enable Express capabilities for your customers, follow these steps:
- Choose onboarding method: Enable your customers to be onboarded by BVNK, either through Express UI or by passing KYC documentation directly.
- Get Express session link: Enable your customers to access their stablecoin wallet by providing a redirect URL.
- Fund wallets: Let your customers fund their wallet by on-ramping from fiat held in their account on your platform.
Choose onboarding method
When onboarding a new customer, you can choose to apply the Express onboarding process or your own onboarding flow.
- Express onboarding: Direct new customers to the Express UI where they will be onboarded by BVNK. This option is recommended if you want to launch quickly or do not manage customer onboarding, such as if your business is unregulated or does not hold a license.
- Your own onboarding flow: Continue using your existing onboarding process and endpoints for embedded customers. You only need to implement the existing APIs. This option is recommended if you are licensed business and maintain your own KYC data.
For your own onboarding flow, you must implement the hosted agreements page.
The system manages different customer scenarios:
| If your customer is | Then, you will receive |
|---|---|
| new | an onboarding link. |
| existing and has never used Express | an Express registration link |
| existing Express customer | a login link to the Express app |
| has an active session token | a redirect link so that customer can access the wallet interface without login |
See below for usage of the get session link endpoint—the same endpoint used for onboarding.
Get Express session link
To get a wallet session URL for your customer, send the POST /platform/v1/express-sessions request with the following body parameters:
- Existing embedded customer
- New embedded customer
For customers who already exist in your system, use their customer reference:
{
"customerReference": "22c8168d-f735-43f8-9a3b-a1578efeb86c",
// optional
"theme": {
"logo": "https://ok14static.oktacdn.com/fs/bco/1/fs0waisynotIeKa80697",
"primary": "#121212",
"accent": "#DEF832",
"background": "#382457"
}
}
The theme parameter is optional and lets you customize the Express interface to align with your brand.
| Parameter | Description |
|---|---|
logo | URL to your company logo. For example, https://ok14static.oktacdn.com/fs/bco/1/fs0waisynotIeKa80697 |
primary | Primary brand color as the hex code. For example, #121212 |
accent | Accent color as the hex code. For example, #DEF832 |
background | Background color as the hex code. For example, #382457 |
secondary | Secondary color as the hex code. For example, #382457 |
Express uses these colors to generate a palette that reflects your brand and displays your logo throughout the interface.
In the response, you receive the walletSessionUrl.
{
"walletSessionUrl": "https://wallet.staging.bvnk.com/welcome?sessionId=f5b2d8cd-887d-421c-ae00-9d3f82b5a45f"
}
Fund wallets
See Store funds in your wallet for more information on how to fund your customers' wallets.
User experience
Share the walletSessionUrl with your customer using a web view, redirect, or other integration method.
After authentication, customers access their wallet home screen, where they can:
- View their balance
- See transaction history
- View on-ramp payments from your platform
- View outbound payments
- Manage their spending card
Ready to start? After completing the prerequisites above, you can proceed with the integration. The following sections will guide you through:
- Fund wallets: Let the end user fund their wallet by on-ramping from fiat held in their account on your platform