Who covers gas fees for transactions?
World App sponsors gas fees for most transactions on Worldchain, subject to transaction minimums and restrictions. When someone verifies their identity with World ID and uses the World App, their transactions on Worldchain are automatically covered by the network. This means users don’t need to hold or spend ETH to interact with mini apps, send tokens, or perform on-chain actions. The sponsorship is handled behind the scenes with a paymaster contract that pays the gas fees whenever a verified user initiates a transaction.Do I need approval to launch a Mini App?
Yes. After development, submit your Mini App for review through the Developer Portal. Approval is required before it’s publicly listed.How does Send transaction command work?
The Send Transaction command is designed to execute on-chain transactions from the Mini App. When developers invoke this command, they supply achainId and one or more transactions containing the target contract address, optional encoded function call (data), and optional value.
For security, World App requires that any smart contract or token interactions are pre-approved (whitelisted) in the Developer Portal to prevent unauthorized transfers.
In cases where ERC-20 tokens are involved, instead of directly calling the approve function (which could expose the contract to front-running or manipulation), permits like Permit2 are used.
Permit2 enables users to sign a transaction off-chain that allows a specific allowance without sending an approval transaction, reducing friction and gas costs while providing a secure, non-custodial mechanism for token transfers.
How does Sign Message command work?
The Sign Message command prompts the user to cryptographically sign an arbitrary message using their wallet’s private key. When you call the command (for example,await MiniKit.signMessage({ message: "Hello" })), World App generates a standardized payload that may include a nonce, timestamp, and other context to prevent replay attacks.
The user’s wallet then signs this message using ECDSA, producing a signature that proves the user controls the wallet, all without exposing the private key.
This signed message can be sent back to your backend for verification, ensuring the integrity of user actions and serving as secure off-chain authorization for various operations.