Production App Access
Once your app works in the Sandbox, you deploy it and register the production URL so Pioneers can reach it inside the Pi Browser.
Before you start, set Pi.init({ version: "2.0", sandbox: false }). Leaving the sandbox flag
on in production will break authentication and payments for real users.
1. Deploy and set your production URL
Deploy your app to your hosting provider, then enter the Production URL in the Developer
Portal. This is the address your app will be served from inside the Pi Browser. It must be an
https:// domain and must comply with the Pi Trademark Guidelines — see
Mainnet Listing Requirements.
For how this URL relates to your development, sandbox, and hosted URLs, see Using Pi URLs.
2. Validate domain ownership
Pi will only route traffic to a domain you have proven you control.
The Developer Portal gives you a validation key. Place it in a plain text file named
validation-key.txt served from the root of your domain, so it is reachable at
https://yourapp.com/validation-key.txt. Then trigger verification in the portal.
The file must stay in place — if it is removed later, verification can fail on re-check.
3. Confirm with a real transaction
Open your app in the Pi Browser at the production URL and process a User-to-App payment end to end. A payment that approves and completes here confirms your frontend, your backend, your API key, and your app wallet are all wired up correctly.
If this fails, the cause is almost always one of the items in
Common Mistakes — most often the sandbox flag, a missing
server-side approval, or the Server API Key not being sent as Key <PI_API_KEY>.
Next
To reach Pioneers through the Pi Browser ecosystem listing, continue to Launching on Pi Mainnet.