Global Accounts Introduction
B3 Global Accounts provide seamless authentication and user management across the B3 ecosystem
What are B3 Global Accounts?
B3 Global Accounts are a unified authentication system that provides users with a single identity across the entire B3 ecosystem. Users can authenticate once and access all B3 applications, games, and services seamlessly.
Key Features
Architecture
The Global Accounts system consists of several key components:
Authentication Flow
- Social Login: Users authenticate with their preferred social provider
- Account Creation: A B3 Global Account is created or linked
- Session Keys: Optional session keys for enhanced security
- Permissions: Granular permissions for different actions
React Components
B3Provider: Context provider for Global AccountsSignInWithB3: Complete authentication flowRequestPermissionsButton: Permission managementAccountAssets: Display user assets
Headless Services
- Authentication service for custom implementations
- Session management utilities
- Permission validation helpers
Quick Start
Basic Authentication
tsximport { B3Provider, SignInWithB3 } from "@b3dotfun/sdk/global-account/react"; function App() { return ( <B3Provider environment="production" partnerId="your-awesome-partner-id"> <SignInWithB3 provider={{ strategy: "google" }} partnerId="your-partner-id" onLoginSuccess={(globalAccount) => { console.log("User authenticated:", globalAccount); }} /> </B3Provider> ); }
Check Authentication Status
tsximport { useB3 } from "@b3dotfun/sdk/global-account/react"; function UserProfile() { const { account, isAuthenticated } = useB3(); return ( <div> {isAuthenticated ? ( <p>Welcome, {account?.displayName}!</p> ) : ( <p>Please sign in</p> )} </div> ); }
Environment Configuration
Set up your environment variables:
bash# Production NEXT_PUBLIC_B3_API=https://api.b3.fun NEXT_PUBLIC_BSMNT_API=https://api.basement.fun # Development NEXT_PUBLIC_B3_API=https://dev-api.b3.fun NEXT_PUBLIC_BSMNT_API=https://dev-api.basement.fun