Overview
By embedding Turnkey’s SDK and leveraging Turnkey Funding Flows you get:- Seamless user flows: No need to redirect off-site, users stay within your UI.
- Onramps and offramps: Your users can move money in both directions.
- Single UX for moving crypto and fiat: Your users can choose to add funds via crypto or fiat
- Fund via fiat:
- Broad geographic and fiat payment rail coverage: Debit cards, credit cards, ApplePay, GooglePay, SEPA, UK Faster Payments, PIX, Revolut, Venmo, PayPal, MoonPay balances, Coinbase balances, methods linked to a coinbase.com account
- Compliance & KYC: Identity verification flows are built in from providers.
- Provider flexibility: You can use one provider or run multiple side by side. Follow Turnkey’s referral link to MoonPay to secure our reduced pricing for your end users.
- Cost transparency and user choice: Let end users compare quotes across providers per transaction. For every transfer, your end user sees one or more quotes depending on the partners you enable and the reach of those partners to each end user. Each quote shows a payment method from a provider with its fees. The end user can choose the best option.
- Track transaction history and status: Full visibility in the Dashboard.
- Fund via crypto: Customers can BYO wallet to fund their wallet on your app.
- Apply policies to Turnkey-authorized activity: Configure permissions for operations authorized by Turnkey. Policies do not control provider-widget actions or incoming transfers signed by external wallets.
- Unified funding UX: Use React Wallet Kit handlers to coordinate fiat-provider flows and crypto transfers.
Prerequisites
- Choose the provider(s) you want to integrate with. See our current list of supported Providers below for coverage and pricing to best fit your needs.
- Create an account with your chosen provider(s) and complete the required KYB process.
- The typical KYB approval timeline will vary by provider. You can expect review to take 1-4 business days (or longer) depending on document availability and follow-up questions from the provider’s compliance team.
- The requirements of the KYB process and the speed of review will vary by provider. Specific questions should be addressed to the provider directly.
- The following is not an exhaustive list (and providers may ask for additional documentation), however the following documents may be requested as part of KYB compliance, depending on the provider you choose:
- Corporate formation and governance documents (e.g. certificate of incorporation / articles of association; bylaws / operating agreement)
- Proof of registration and status (e.g. business registration extract; certificate of good standing)
- Ownership and control structure (e.g. register of shareholders / members; register of directors and officers; ultimate beneficial owner declaration)
- Identification of directors, beneficial owners (often >10%), and sometimes senior management, including government-issued photo identification, proof of address (e.g. utility bill, bank statement, government letter < 3 months old). Beneficial owners that are entities may need to provide similar documents, as well.
- Once your KYB application has been approved, you will be provisioned API Keys. You can then securely upload your provisioned API Keys through Turnkey’s dashboard here
- You’re now ready to start using fiat funding with your selected provider(s).
The provider account, KYB, and API-key requirements above apply to fiat funding. Funding from a linked crypto wallet does not require a provider account.
Providers
Coinbase Powers fiat onramps only MoonPay Powers fiat onramps and offrampsDemos
To try a live demo yourself, visit wallets.turnkey.com. Toggle to choose whether to test in sandbox or production.Onramping via card with MoonPay
Onramping via a linked crypto wallet
Offramping
Using the MoonPay demo
- Log in or sign up for a MoonPay account
- Re-enter the prefilled form values to confirm the order
- In sandbox mode, use these test values:
- Credit card CVC:
123 - 3D-Secure 2 authentication password:
Checkout1!
- Credit card CVC:
- In sandbox mode, use these test values:
- In sandbox mode, transactions execute on testnets, so you can view them on the testnet block explorer
Implementation Guide
Use the handler functions within our React Wallet Kit, as shown in the demo’sDemoPanel component.