Overview
Portal is an MPC wallet provider and web3 developer platform that enables you to create embedded wallets for your users. By integrating Portal into your Celo dApp, you can:- Create Embedded Wallets: Build wallet functionality directly into your application
- Leverage MPC Security: Use threshold cryptography for enhanced wallet security
- Simplify User Experience: Eliminate the need for seed phrases while maintaining security
- Enable Secure Backups: Provide reliable wallet recovery options through MPC key share backups
- Support Multiple Networks: Build on Celo while supporting other blockchains simultaneously
How Portal’s MPC Works
Portal leverages Multi-Party Computation (MPC) and specifically Threshold Signature Schemes (TSS) to distribute cryptographic key shares across multiple parties:- Key Generation: Instead of a single private key, Portal creates multiple key shares
- Secure Distribution: Key shares are securely distributed between the user device and Portal
- Transaction Signing: Signatures are created without ever reconstructing the full private key
- Backup & Recovery: Key shares are backed up securely, enabling wallet recovery if a device is lost
What Can You Build?
With Portal’s SDK, you can build a variety of blockchain applications on Celo, including:- Financial Applications: Create payment and financial services using Celo’s stablecoins (cUSD, cEUR, cREAL)
- DeFi dApps: Build decentralized finance applications with embedded wallet functionality
- Web3 Social Platforms: Develop social applications with built-in wallet capabilities
- Enterprise Solutions: Create business applications with secure treasury management
- NFT & Gaming Platforms: Build digital asset platforms with seamless wallet integration
Getting Started
Ready to start building with Portal on Celo? Check out our quickstart guide to set up the Portal SDK and create your first integration.Key Features
Portal provides extensive wallet and web3 functionality for Celo developers:- MPC Wallet Generation: Create secure wallets using threshold cryptography
- Secure Backup & Recovery: Enable reliable wallet recovery without seed phrases
- Transaction Management: Support for sending various transaction types on Celo
- Smart Contract Interactions: Easy interface for calling contract functions
- Asset Management: Token balance tracking and transfers for Celo assets
- Multi-chain Support: Build cross-chain applications that include Celo
Resources
Portal SDK Quick Start
Installation
Portal offers SDKs for Web, iOS, Android, and React Native. Choose the appropriate SDK for your application platform.Authentication
The Portal SDK is initialized with a Client API Key or Client Session Token. You can get a test Client API Key from the Portal Admin Dashboard in the Settings → Test Client API Keys section. Simply click the “New +” button to create a new test API key. A modal will appear allowing you to copy your test Client API Key.Initializing Portal
To initialize Portal in your application, create a new instance of the Portal class. You’ll need to provide your test Client API Key during initialization.Creating an MPC Wallet
To create a new MPC wallet, use theportal.createWallet()
function. This will generate distributed MPC key shares, storing the user’s signing share in the device’s secure keychain.
Backing Up and Recovering the Wallet
Portal’s MPC architecture creates backup key shares that enable wallet recovery if a device is lost or replaced. Portal supports the following backup methods: iCloud, Gdrive, Passkey, and Password.Receive Testnet Tokens
After creating a wallet, you can fund it with test tokens usingportal.receiveTestnetAsset
. For Celo testnet tokens, you also can use the Celo faucet.
Sending Tokens
Portal provides two ways to send transactions:portal.sendAsset()
- A simple method for sending tokens from the Portal wallet.portal.request()
- Direct access to the underlying web3 provider for custom transactions.