Twitter/X Profile Change Detection API

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 delivers alerts within seconds of a change — bio, display name, avatar, or pinned tweet.

Why Profile Changes Are Trading Signals

Rug Pull Pattern

In the run-up to a rug pull, dev accounts often: 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

ChangeBullish SignalBearish Signal
Bio updateAdded new project/partnership infoCleared bio, removed project mentions
Name changeRebrand to match new launchName cleared or changed to random text
Avatar changeNew branding, professional updateReverted to default or deleted
Pinned tweetNew launch announcement pinnedUnpinned project tweet, pinned unrelated content

Detection Speed

Changes are delivered within seconds.

Event Format (WebSocket)

{
  "op": 0,
  "d": {
    "event": "twitter.profile.update",
    "event_id": "evt_p_example_dev_1712000000",
    "task_info": { "handle": "example_dev" },
    "data": {
      "field": "description",
      "prev": "Building the future of DeFi",
      "updated": ""
    }
  }
}

Fields tracked: description (bio), name (display name), avatar, pinned_post, banner_url, location, website

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())

        async def heartbeat():
            while True:
                await asyncio.sleep(hello["d"]["heartbeat_interval"] / 1000)
                await ws.send(json.dumps({"op": 1}))
        asyncio.create_task(heartbeat())

        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

Pricing

Profile change detection is included in B2B Pro and Enterprise plans, from $99/mo (see B2B Realtime). For individual users it is also available in @Xanguard_bot as the Profile Watch add-on, from $35/mo for 35 accounts. All plans are paid in SOL.

Get Started

  1. For API/WebSocket access: @B2B_Xanguard_bot
  2. For Telegram alerts: @Xanguard_bot (add Profile Watch from the add-ons menu)
  3. Add accounts, connect to WebSocket, and start receiving profile change events

Frequently Asked Questions

Is there an API for detecting Twitter/X profile changes?

Twitter/X has no native profile change API. Xanguard monitors profiles continuously and delivers alerts via WebSocket and REST API the moment any change is detected — bio, display name, avatar, or pinned tweet.

How fast does Xanguard detect Twitter/X profile changes?

Profile changes are delivered within seconds. Alerts include both the old and new values, so you can immediately see what changed and assess whether it's a bullish or bearish signal.

What Twitter/X profile changes signal a rug pull?

Bio cleared, display name changed to random text, avatar reverted to default, and pinned project tweet removed. These changes often come shortly before a dev dumps their tokens.

Can I monitor profile changes for multiple Twitter/X accounts?

Yes. Xanguard's Profile Watch monitors hundreds of accounts simultaneously. All profile change events are delivered through Telegram (Profile Watch) or the B2B WebSocket and REST API (Pro and Enterprise plans) with full before-and-after data.

← Back to Blog

Start Monitoring Profile Changes

Get Telegram notifications for new tweets from any X account, in a median of about 270 ms on paid plans. Free for 1 account. Paid plans from $19 a month for 10 accounts.