pulse_cohort_trades
Retrieve recent trades made by a specific trader cohort (e.g., money_printer, whale) on Hyperliquid. Filter by time window and tier type to analyze real-time alpha from on-chain activity.
Instructions
See every trade a specific cohort has made recently. For example: 'show me all trades the money_printer tier made in the last hour.' This is real-time alpha — nobody else has this data as an API.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| useToonFormat | No | Return data in compact toon format (default: true). Set to false for standard JSON. | |
| tierType | Yes | Tier category: 'pnl' for profit tiers, 'size' for volume tiers | |
| tier | Yes | Tier name. PnL tiers: money_printer, smart_money, grinder, humble_earner, exit_liquidity, semi_rekt, full_rekt, giga_rekt. Size tiers: leviathan, tidal_whale, whale, small_whale, apex_predator, dolphin, fish, shrimp | |
| since | No | Time window: e.g. '10m' (minutes), '1h' (hours), '1d' (days) | 1h |
| limit | No | Number of trades to return |
Implementation Reference
- src/index.ts:527-542 (registration)Registration of the pulse_cohort_trades tool using server.registerTool(). It is not in the FREE_TIER_TOOLS set (line 30-38), so it requires an API key.
// ══════════════════════════════════════════════════════════ if (shouldRegister("pulse_cohort_trades")) server.registerTool( "pulse_cohort_trades", { description: "See every trade a specific cohort has made recently. For example: 'show me all trades the money_printer tier made in the last hour.' This is real-time alpha — nobody else has this data as an API.", inputSchema: { useToonFormat: useToonFormatSchema, tierType: z.enum(["pnl", "size"]).describe("Tier category: 'pnl' for profit tiers, 'size' for volume tiers"), tier: tierSchema, since: sinceSchema.default("1h"), limit: z.number().min(1).max(100).default(50).describe("Number of trades to return"), }, }, async ({ useToonFormat, tierType, tier, since, limit }) => toolResult(await callAPI(useToonFormat, `/pulse/cohorts/${tierType}/${tier}/trades`, { since, limit: String(limit) })) ); - src/index.ts:540-541 (handler)Handler function for pulse_cohort_trades: calls the API endpoint /pulse/cohorts/{tierType}/{tier}/trades with 'since' and 'limit' query parameters.
async ({ useToonFormat, tierType, tier, since, limit }) => toolResult(await callAPI(useToonFormat, `/pulse/cohorts/${tierType}/${tier}/trades`, { since, limit: String(limit) })) - src/index.ts:530-538 (schema)Input schema for pulse_cohort_trades: expects useToonFormat (boolean), tierType (enum: pnl/size), tier (tierSchema enum), since (time window regex), and limit (number 1-100).
{ description: "See every trade a specific cohort has made recently. For example: 'show me all trades the money_printer tier made in the last hour.' This is real-time alpha — nobody else has this data as an API.", inputSchema: { useToonFormat: useToonFormatSchema, tierType: z.enum(["pnl", "size"]).describe("Tier category: 'pnl' for profit tiers, 'size' for volume tiers"), tier: tierSchema, since: sinceSchema.default("1h"), limit: z.number().min(1).max(100).default(50).describe("Number of trades to return"), }, - build/index.js:362-374 (registration)Compiled JS registration of the pulse_cohort_trades tool (mirrors src/index.ts implementation).
// TOOL 13: Cohort Recent Trades // ══════════════════════════════════════════════════════════ if (shouldRegister("pulse_cohort_trades")) server.registerTool("pulse_cohort_trades", { description: "See every trade a specific cohort has made recently. For example: 'show me all trades the money_printer tier made in the last hour.' This is real-time alpha — nobody else has this data as an API.", inputSchema: { useToonFormat: useToonFormatSchema, tierType: z.enum(["pnl", "size"]).describe("Tier category: 'pnl' for profit tiers, 'size' for volume tiers"), tier: tierSchema, since: sinceSchema.default("1h"), limit: z.number().min(1).max(100).default(50).describe("Number of trades to return"), }, }, async ({ useToonFormat, tierType, tier, since, limit }) => toolResult(await callAPI(useToonFormat, `/pulse/cohorts/${tierType}/${tier}/trades`, { since, limit: String(limit) })));