Skip to main content

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.