Vanity Addresses
Every token on socials.fun has a unique Solana address ending in sfun.
What Are Vanity Addresses?
Vanity addresses are Solana public keys that contain a specific pattern. For socials.fun, all token mint addresses end with the suffix sfun:
Example: 7xKXtg2CW87d97TXJSDpbD5jBkheTqA4...sfun
^^^^
Vanity suffixWhy Vanity Addresses?
Brand Recognition
- Easy to identify socials.fun tokens at a glance
- Distinguishes from random tokens in your wallet
- Professional appearance on block explorers
Anti-Scam
- Harder to create fake "socials.fun" tokens
- Users can verify authenticity by checking the suffix
- Creates trust through visual consistency
Technical Achievement
- Demonstrates protocol sophistication
- Each address requires significant GPU computation to generate
How They're Generated
Finding a vanity address requires "mining" - trying random keypairs until one matches the pattern:
1. Generate random keypair
2. Check if public key ends in "sfun"
3. If no → repeat (millions of times)
4. If yes → save and use for tokenWe pre-generate a pool of vanity addresses using GPU acceleration. When you create a token, one is instantly assigned from the pool.
Pre-Generation System
To ensure instant token creation, we maintain a pool of pre-generated vanity addresses:
| Component | Purpose |
|---|---|
| Vanity Pool | Database of unused -sfun addresses |
| GPU Workers | Modal.com GPUs generating new addresses |
| Replenisher | Lambda function that triggers GPU generation when pool is low |
| Reservation | Addresses are atomically reserved during token pre-generation |
Pool Status
The vanity pool typically maintains:
- Target: 100+ available addresses
- Replenish threshold: Triggers at < 50 addresses
- Generation rate: ~500 addresses per GPU batch
Address Lifecycle
1. GPU generates keypair with -sfun suffix
2. Address added to pool as "AVAILABLE"
3. User starts token creation
4. Address reserved as "RESERVED" (5 min TTL)
5. Token created → address marked "USED"
OR timeout → address returns to "AVAILABLE"Verification
To verify a socials.fun token:
- Check the mint address ends in
sfun - Verify on Solana Explorer (opens in a new tab)
- Confirm token exists on socials.fun (opens in a new tab)
function isSocialsFunToken(mintAddress: string): boolean {
return mintAddress.toLowerCase().endsWith('sfun');
}