How Bulk Pregeneration Works
When you bulk pregenerate wallets:- Generate wallets for Twitter usernames using Para’s server SDK
- Store user shares securely on your backend
- Fund wallets with tokens or NFTs for airdrops (optional)
- Users claim wallets later by signing in with Twitter
- Para matches the Twitter username to the pregenerated wallet
Prerequisites
You need a Para API key and basic knowledge of Node.js/TypeScript development.Getting Twitter Usernames
You can obtain Twitter usernames for bulk pregeneration from various sources:- Database of pre-registered users - Users who joined your whitelist or waitlist
- Twitter API - Programmatically fetch followers, mentions, or community members
- CSV files - Export from existing user databases or CRM systems
- Contest participants - Users who engaged with your Twitter campaigns
Server-Side Implementation
Setup Para Server Client
First, create a Para server client to handle wallet generation:lib/para-server.ts
Create Bulk Generation API
Create an API endpoint to generate wallets for Twitter usernames:api/wallet/generate/route.ts
Batch Processing Implementation
For processing multiple handles efficiently:hooks/use-batch-processor.ts
Alternative Data Sources
From Database
You can fetch usernames directly from your database:From Twitter API
Programmatically fetch Twitter usernames:Example: CSV Processing
For this tutorial, we’ll demonstrate with a CSV file containing Twitter handles:@
symbol is optional and will be automatically handled. Headers are also optional.
Frontend Considerations
While the UI implementation depends on your application’s design system, consider these patterns:- Progress tracking - Show real-time batch processing status
- Error handling - Display failed generations with retry options
- Results export - Allow downloading generation results
- Batch size control - Let users adjust processing batch sizes
Important Considerations
Rate Limiting
Para’s API has rate limits. Process handles in batches with delays:Error Handling
Always implement retry logic for failed generations:Data Storage
Store wallet data securely in your database:- Wallet addresses for reference
- User shares for wallet claiming
- Handle mappings for Twitter username lookup
- Generation timestamps for tracking
Testing Your Implementation
- Start with small batches (5-10 handles)
- Use test Twitter handles that you control
- Verify wallet generation in Para Developer Portal
- Test claiming flow with actual Twitter authentication