Skip to main content
Bulk pregeneration allows you to create Para wallets for multiple Twitter users ahead of time. Users can later claim these wallets by authenticating with their Twitter accounts, creating a seamless onboarding experience for airdrops, token distributions, or whitelist rewards.

How Bulk Pregeneration Works

When you bulk pregenerate wallets:
  1. Generate wallets for Twitter usernames using Para’s server SDK
  2. Store user shares securely on your backend
  3. Fund wallets with tokens or NFTs for airdrops (optional)
  4. Users claim wallets later by signing in with Twitter
  5. 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
For this tutorial, we’ll use a local CSV file as an example, but the core logic applies regardless of your data source.

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:
The @ 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
The core logic remains the same regardless of your UI framework choice.

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

  1. Start with small batches (5-10 handles)
  2. Use test Twitter handles that you control
  3. Verify wallet generation in Para Developer Portal
  4. Test claiming flow with actual Twitter authentication

Next Steps

Session Management

Learn how users claim pregenerated wallets

Pregeneration Guide

Deep dive into Para’s pregeneration system

X402 Integration

Intermediate · 25 min · Micropayments over HTTP

Chrome Extension Integration

Advanced · 45 min · Browser extensions with Para wallets

Automated Migration with MCP

Intermediate · 15 min · AI-powered migration tooling