What is PiNet? - alxspiker/Pi-Network-Developer-Docs GitHub Wiki
Make your Pi Network applications accessible to everyone, anywhere, on any browser
🚀 PiNet enables universal access to Pi Network applications across all browsers and devices
What PiNet Does:
- 🌐 Makes Pi apps accessible on Chrome, Safari, Firefox and all standard browsers
- 📱 Works on desktop, mobile, and tablet devices
- 🔗 Provides unique URLs for easy sharing and discovery
- 🌉 Bridges Web2 and Web3 for broader ecosystem reach
Expand Your Reach:
- Share your app through PiNet to onboard non-Pioneer users
- Nearly any Mainnet Ecosystem app can be accessible via standard HTTP
- Get broader exposure beyond just Pi Browser users
Key Benefits:
- ✅ Universal Accessibility - Your app works everywhere
- ✅ Easy Discovery - Shareable PiNet URLs
- ✅ Onboarding Pipeline - Convert Web2 users to Pi users
- ✅ Professional Presence - Standard web compatibility
📋 Step-by-step guide to get your app on PiNet
Step 1: Register PiNet Subdomain
-
Access Developer Portal
- Navigate to your app's Developer Portal page
- Find the Application Checklist section
-
Configure PiNet Subdomain
- Locate "PiNet Subdomain" field
- Enter your desired subdomain name
- Must be a subdomain of your verified App Domain
Step 2: URL Generation
URL Structure:
https://YourAppName12345.pinet.com
Important Notes:
- A random 4-5 digit number is added to prevent domain squatting
- Numbers may be removable in future updates
- All URLs must comply with Pi Trademark Guidelines
Example:
- Your Domain:
AppExample.com
- PiNet URL:
AppExample12345.pinet.com
Step 3: Launch & Share
Once configured, your PiNet URL is ready to use:
- ✅ Share with users on social media
- ✅ Include in marketing materials
- ✅ Enable universal app access
- ✅ Monitor traffic and conversions
With the new hybrid app architecture, PiNet applications can provide a much better user experience:
While the PiNet user may view Pi apps without logging into their Pi account, the user will be blocked from the application at the point in the application where the Pi SDK is required for interaction. This means that once the application invokes Pi.authenticate the user's experience will end.
They will need to either access the application from the Pi Browser and, if they don't already have an account, they will need to create one, in order to continue experiencing the application.
Recommended: Applications using Pi Browser Detection can now provide graceful experiences:
- Browse freely through app content and features
- See fallback UI instead of broken functionality when Pi features are needed
- Get clear guidance on how to access Pi features via Pi Browser
- No scary authentication popups that break the experience
- Full Pi Network integration with authentication and payments
- Seamless experience with all Pi SDK features working normally
- Proper authentication flows initiated by user interaction
// Modern hybrid approach for PiNet compatibility
async function initializeApp() {
const isPiBrowser = await detectPiBrowser();
if (!isPiBrowser) {
// PiNet user - show enhanced fallback experience
showPiNetExperience();
} else {
// Pi Browser user - enable full Pi features
enableFullPiExperience();
}
}
function showPiNetExperience() {
// Show app content that works for everyone
showAppContent();
// Replace Pi-specific features with helpful messaging
document.getElementById('login-section').innerHTML = `
<div class="pinet-message">
<h3>Login with Pi Account</h3>
<p>To access your Pi account and make payments:</p>
<a href="https://pinet.com/YOUR_APP" class="pi-button">
Continue in Pi Browser
</a>
</div>
`;
}
This approach ensures PiNet users have a meaningful experience while encouraging them to use Pi Browser for full functionality.
- For example, when designing Fireside Forum, the application was built so that those visiting from the PiNet URL can click on and view posts and comments. A user, however, is required to use the Pi-Browser if they want to create a post or add any fire. These actions require the user to log into the Fireside Forum application and submit a transaction.
- Other examples are:
- Marketplace apps could allow PiNet URLs to view offerings but require Pi Account to make a purchase
- Games could allow a user to complete a tutorial, to see the game, prior to requiring the user to authenticate.
- Applications that invoke the Pi.Authenticate method of the Pi SDK, when a user first visits the app, will need to restructure their applications' user flow to allow for users to visit without initially requiring Pi account authentication
- Applications that utilize a landing page which blocks access to the app from outside of the Pi Browser will be unable to use PiNet until this landing page is removed or refactored.
- Better conversion rates - Users aren't blocked by broken authentication
- Improved accessibility - App works for everyone, with enhanced features for Pi users
- Professional experience - No confusing popups or broken functionality
- Future-proof - Ready for Pi Network's mainstream adoption
- Pi Browser Detection - Complete implementation guide
- Migration Guide - Update existing apps to hybrid architecture
- Examples - Working code samples