One Link = One Token
The fundamental principle of socials.fun: each unique social media post maps to exactly one token.
How It Works
When you paste a URL into socials.fun, we:
- Canonicalize the URL (remove tracking params, normalize format)
- Hash the canonical URL to create a unique identifier
- Check if a token already exists for that hash
- Create a new token OR redirect to the existing one
https://x.com/elonmusk/status/123456?s=20&t=abc
↓
x.com/elonmusk/status/123456 (canonical)
↓
sha256 hash → 0x8f3a...
↓
Token: $ELON (if first) OR redirect to existingWhy This Matters
No Duplicates
Unlike other platforms where anyone can create a token with any name, socials.fun ensures:
- Only ONE token can exist for each social media post
- First creator "claims" that post
- Everyone else trades the same token
Fair Discovery
When someone shares a viral tweet, everyone trades the same token:
- No racing to create duplicates
- No confusion about "which $DOGE is real"
- Natural price discovery on a single market
Canonical URLs
We normalize URLs to prevent gaming:
| Input URL | Canonical |
|---|---|
https://x.com/user/status/123?s=20 | x.com/user/status/123 |
https://twitter.com/user/status/123 | x.com/user/status/123 |
https://www.youtube.com/watch?v=abc&feature=share | youtube.com/watch?v=abc |
https://vm.tiktok.com/ZMx123/ | tiktok.com/@user/video/456 (expanded) |
⚠️
Short URLs (like vm.tiktok.com or t.co links) are automatically expanded to their full canonical form.
What Counts as "One Link"?
Same Token
These all resolve to the same token:
https://x.com/user/status/123https://twitter.com/user/status/123https://x.com/user/status/123?s=20&t=abctwitter.com/user/status/123
Different Tokens
These create different tokens:
x.com/user/status/123(Tweet A)x.com/user/status/456(Tweet B)x.com/user(Profile - different content type)
Technical Details
- Hash Algorithm: SHA-256
- Storage: DynamoDB with canonical URL hash as partition key
- Collision Prevention: Atomic conditional writes ensure only one token per hash