Appearance
Prompting users to fund wallets
Once you've enabled a set of funding methods for your app, to invoke the funding flow, use the useFundWallet
hook from the Privy as follows:
tsx
import { useFundWallet } from "@privy-io/expo";
...
const {fundWallet} = useFundWallet();
await fundWallet({address: 'your-wallet-address-here'});
Once invoked, the fundWallet
method will open a modal that contains a list of funding options the user can take.
You can pass additional configurations to the funding flow in the second, optional parameter to fundWallet
.
WARNING
Purchases with third-party providers are not always instantaneous, and there may be some time before the user completes their purchase and the funds are available in their wallet.
Setting a funding amount in code
Optionally, you can pass in a chain, funding amount, and funding asset to fundWallet
to override your Dashboard configuration.
To do so, as the second, optional parameter to fundWallet
, pass an object with the following fields:
Parameter | Type | Description |
---|---|---|
address | string | The destination address to fund. |
chain | Chain | Optional. A viem/chains object for the network on which users should fund their accounts. Defaults to the network you configured in the Privy Dashboard. |
asset | 'native-currency' | 'USDC' | {tokenAddress: string} | Optional. The asset you'd like the user to fund their accounts with. Set 'native-currency' to fund with the chain 's native currency (e.g. ETH), 'USDC' to fund with USDC, or pass the token address to tokenAddress . Defaults to 'native-currency' . |
amount | string | Required if asset is set, optional otherwise. The amount of the asset to fund as a decimal string. Defaults to the amount you configured in the Privy Dashboard. |
tsx
import {useFundWallet} from '@privy-io/expo';
// Replace this with your desired network
import {base} from 'viem/chains'
...
// `fundWallet` from the useFundWallet() hook
fundWallet({
address: '0x2F3eb40872143b77D54a6f6e7Cc120464C764c09',
asset: "USDC",
chain: base,
amount: 1
})