When a crypto project's dev changes their Twitter/X bio from "Building the future of DeFi" to a blank, something is about to happen — and it's usually not good. Profile changes on Twitter/X are one of the most reliable early signals for rug pulls, rebrands, pivots, and partnerships.
Twitter/X has no API for detecting profile changes. Xanguard monitors profiles every few seconds and delivers alerts the moment any change is detected — bio, display name, avatar, or pinned tweet.
Why Profile Changes Are Trading Signals
Rug Pull Pattern
In the 24 hours before a rug pull, dev accounts frequently: remove their bio, change their display name, delete their avatar, or unpin their project tweet. Detecting these changes gives you time to exit before the dump.
What Each Change Means
| Change | Bullish Signal | Bearish Signal |
|---|---|---|
| Bio update | Added new project/partnership info | Cleared bio, removed project mentions |
| Name change | Rebrand to match new launch | Name cleared or changed to random text |
| Avatar change | New branding, professional update | Reverted to default or deleted |
| Pinned tweet | New launch announcement pinned | Unpinned project tweet, pinned unrelated content |
Detection Speed
Xanguard monitors profiles using batch API technology, scanning hundreds of accounts simultaneously. Full scan completes in under 500 milliseconds for up to 500 accounts. Changes are detected and delivered within seconds.
Event Format (WebSocket)
{
"op": 0,
"d": {
"event": "twitter.profile.update",
"event_id": "evt_p_elonmusk_1712000000",
"task_info": { "handle": "elonmusk" },
"data": {
"field": "description",
"prev": "Building rockets and electric cars",
"updated": "X. Tesla. SpaceX. Neuralink. The Boring Company."
}
}
}Fields tracked: description (bio), name (display name), avatar, pinned_post
Quick Start: Python
import asyncio, websockets, json
async def monitor_profiles():
async with websockets.connect('wss://api.xanguard.tech/v1/dt/realtime/ws') as ws:
hello = json.loads(await ws.recv())
await ws.send(json.dumps({"op": 2, "d": "dt_YOUR_API_KEY"}))
ready = json.loads(await ws.recv())
while True:
msg = json.loads(await ws.recv())
if msg["op"] == 0 and msg["d"]["event"] == "twitter.profile.update":
data = msg["d"]["data"]
handle = msg["d"]["task_info"]["handle"]
print(f"@{handle} changed {data['field']}:")
print(f" Before: {data['prev']}")
print(f" After: {data['updated']}")
asyncio.run(monitor_profiles())
Who Uses This
- Crypto Trading Bots: Automated rug pull detection based on profile change patterns
- DeFi Protocols: Monitor partner and team account profiles for unauthorized changes
- Research Platforms: Track influencer narrative shifts through bio changes
- Brand Monitoring: Detect impersonation attempts via name/avatar changes
Pricing
Profile change detection is included in all B2B Realtime plans starting at $49/mo. Also available via the main @Xanguard_bot as a Telegram add-on for individual users.
Get Started
- For API/WebSocket access: @B2B_Xanguard_bot
- For Telegram alerts: @Xanguard_bot (enable Profile Watch in settings)
- Add accounts, connect to WebSocket, and start receiving profile change events