Alpha — This endpoint is in early access. Response shape, field names, and filter semantics may change without notice. Currently Solana-only; EVM launchpads (Clanker v4, Bankr) will be added in a follow-up release.
The Token Dev History endpoint returns a single, chronological feed of a token deployer’s on-chain activity for a specific coin — so you can see what the dev is doing in one place instead of stitching together fee-claim events, DEX swaps, and wallet transfers across three different datasets.
It’s the same feed you’d build to power a “dev activity” panel, a rug-detection alert, or a trust score.
What this endpoint does
One call returns a merged, paginated stream of three polymorphic event types, all attributable to the token’s deployer:
feeClaim — the deployer drained their accumulated trading fees from a protocol vault.
- Supported: PumpFun bonding curve, PumpSwap AMM, and Meteora DBC — which is the underlying program for Bags, Moonshot, Believe, Subs.fun, Cults.fun, Time.fun, and most Solana launchpads. You don’t have to query each launchpad separately.
swap — the deployer executed a swap on a pool that contains the queried token. The side field tells you if they bought or sold from their perspective.
transfer — a direct token transfer to or from the deployer, with direction: "in" or "out".
Each row has a type discriminator — client code switches on that to render each variant.
What you’ll need
Note: all Mobula endpoints require an API key.
Get a free API key: Here
You’ll provide two things:
blockchain — e.g. solana, base, ethereum.
token — the token’s mint / contract address.
The endpoint reads the deployer from Mobula’s token registry automatically; you don’t need to know it yourself.
When to use Token Dev History
- Rug & dump detection — detect fresh
transfer out-rows from the deployer while their coin is trading.
- Fee extraction scoring — sum
feeClaim.amountRaw to quantify how aggressively a dev is cashing out.
- Cross-launchpad dev views — a Bags token graduates to PumpSwap? The same endpoint keeps following the deployer.
- Pre-trade due diligence — show “last 10 dev actions” before a buy.
If you want the deployer’s other tokens, use the Wallet Deployer endpoint.
If you want wallet-level trade history for any address (not just the deployer), use Wallet Trades.
Walkthrough
1. Prepare your query
| Parameter | Required | Description |
|---|
blockchain | Yes | Blockchain identifier (solana, base, ethereum, …). |
token | Yes | Token mint / contract address. |
type | No | Filter to one variant: feeClaim, swap, or transfer. |
limit | No | 1–200, default 50. |
offset | No | Pagination offset, default 0. |
2. Call the endpoint
Full feed (all three types interleaved by date DESC):
curl -X GET "https://api.mobula.io/api/2/token/dev-history?blockchain=solana&token=Fv8HhSVUquGC8WHqmMJLp7QEZMN4cZqcZjeYUPqvbrrr&limit=50" \
-H "Authorization: Bearer <YOUR_API_KEY>"
Only fee claims (useful for a “dev earnings” card):
curl -X GET "https://api.mobula.io/api/2/token/dev-history?blockchain=solana&token=Fv8HhSVUquGC8WHqmMJLp7QEZMN4cZqcZjeYUPqvbrrr&type=feeClaim"
Next page:
curl -X GET "https://api.mobula.io/api/2/token/dev-history?blockchain=solana&token=Fv8HhSVUquGC8WHqmMJLp7QEZMN4cZqcZjeYUPqvbrrr&limit=50&offset=50"
3. Discriminate on type in your client
import { MobulaClient } from '@mobula_labs/sdk';
const mobula = new MobulaClient({ apiKey: process.env.MOBULA_API_KEY! });
const { data, deployer } = await mobula.fetchTokenDevHistory({
blockchain: 'solana',
address: 'Fv8HhSVUquGC8WHqmMJLp7QEZMN4cZqcZjeYUPqvbrrr',
limit: 50,
});
for (const entry of data) {
switch (entry.type) {
case 'feeClaim':
console.log(
`🎁 ${deployer} claimed ${entry.amountRaw} of ${entry.quoteAddress} on ${entry.protocol}`,
);
break;
case 'swap':
console.log(
`🔁 dev ${entry.side === 'buy' ? 'bought' : 'sold'} — tx ${entry.transactionHash}`,
);
break;
case 'transfer':
console.log(
`📤 dev ${entry.direction === 'out' ? 'sent to' : 'received from'} ${entry.counterpartyAddress}`,
);
break;
}
}
Attribution caveats
For PumpFun bonding curve and PumpSwap AMM, the creator fee vault is derived from the creator’s address alone and is shared across all their coins. A feeClaim row under those protocols reflects one real on-chain claim, but the amount may include fees accumulated from other coins by the same deployer. If you need exact per-coin attribution, rely on meteoradbc rows, which carry tokenAddress and poolAddress precisely (per-pool vaults).