Skip to content

Frequently Asked Questions (FAQ)

What is MiniPay?

MiniPay is a wallet that injects an Ethereum provider into dApps launched within its browser. The provider is available as window.ethereum and includes a special flag isMiniPay to indicate that the provider is from MiniPay.

What libraries are supported by MiniPay?

MiniPay supports popular libraries such as Wagmi and Viem. You can use these libraries to interact with the Ethereum provider injected by MiniPay. Check out the Quick Start for a practical example.

MiniPay uses Custom Fee Abstraction based transactions, which is not supported by Ethers.js. Use viem or wagmi instead. If you are using Web3.js, use Celo's custom built plugin for fee abstraction.

How do I connect to MiniPay?

MiniPay requires automatic connection on page load. Never show a connect button. See our wallet connection guide for details.

Why isn't my wallet connecting?

Common issues:

  • Make sure your app is running inside MiniPay (not a regular browser)
  • Check that window.ethereum is available
  • Verify you're using the injected connector in Wagmi
  • See our wallet connection troubleshooting

How do I detect if I'm running in MiniPay?

Check for the isMiniPay flag:

ts
if (window.ethereum?.isMiniPay) {
  console.log("Running in MiniPay!");
}

What networks does MiniPay support?

MiniPay supports:

  • Celo Mainnet (Chain ID: 42220)
  • Celo Sepolia Testnet (Chain ID: 11142220)

See our chain switching guide for more details.

How do I send transactions?

Use Wagmi's useSendTransaction hook. See our send transaction guide for examples.

How do I check transaction status?

Use useWaitForTransactionReceipt to track transaction confirmation. See our transaction status guide.

Can I pay gas fees in stablecoins?

Yes. MiniPay typically pays gas with the token the user has the most of. You can pass feeCurrency in your transaction, but MiniPay may ignore it. See our send transaction guide for how to send token transactions.

How do I get token balances?

Use useReadContracts to read token balances from ERC20 contracts. See our retrieve balance guide.

What tokens are supported?

MiniPay supports various stablecoins on Celo. See the token addresses table for a complete list.

How do I interact with smart contracts?

Use useReadContract for reading and useWriteContract for writing. See our smart contracts guide.

How do I test my Mini App?

Enable Developer Mode in MiniPay and use the "Load test page" feature. See our testing guide.

How do I submit my Mini App?

Submit your Mini App using the submission form. Make sure your app follows our guidelines.

My transaction failed. What should I do?

Check the error message:

  • Insufficient funds: User doesn't have enough balance
  • User rejected: Transaction was cancelled
  • Network error: Connection issue, try again
  • Gas estimation failed: Transaction may be invalid

See our Best practices — Error handling for details.

Can I use other wallets with my Mini App?

Mini Apps are designed to run inside MiniPay. While the provider follows EIP-1193 standards, the app should be optimized for MiniPay's user experience.

Do I need to handle wallet disconnection?

MiniPay maintains the connection while the app is open. However, you should handle connection errors gracefully. See our wallet connection guide.