Prerequisites
Before this page: a connected wallet (see Connecting external wallets) or an embedded wallet. On-ramp providers must be enabled for your environment in the Dynamic dashboard.What you’ll build
A funding flow lets a user top up their wallet with crypto bought using fiat. Dynamic generates a hosted on-ramp URL for a provider — you open it, and the provider handles KYC, payment, and delivery straight to the user’s wallet address. This page covers two providers: MoonPay and Coinbase. Both follow the same shape — build a request from the user’s wallet, get a URL, open it.Funding with MoonPay
getMoonPayUrl returns a hosted widget URL for the wallet’s address and chain. Optionally list supported tokens first with getMoonPayCurrencies.
- TypeScript
- React
Funding with Coinbase
getCoinbaseBuyUrl returns { url } for the hosted Coinbase Onramp widget. Pass the destination address and the networks you support.
- TypeScript
- React
Delivery is asynchronous — the provider credits the wallet after the user finishes payment and KYC in the hosted widget. Poll token balances or refresh on return to reflect the new funds.
Handling errors
See also
- Token balances & display — reflect newly funded balances
- Connecting external wallets — get a wallet to fund
- Building a swap UI — convert funds once they arrive