Skip to main content

The response envelope

Every tool answers the same shape:
Read the named collection inside datadata.metrics, data.items, and so on. When ok is false, errorKind says which kind of refusal it is (see when it refuses). No ambient context. Unlike the web chat, there is no open chart and no conversation history: pass assetId and chartId explicitly on every call. Resolve them first with search_assets, suggest_charts / search_charts and search_metrics.

Discovery and metrics

Assets and market

Charts

Analysis

Screener, derivatives and signals

Research

Reports above your plan come back as metadata only, flagged with accessDenied and requiredPlanTier. That is a plan wall, not an empty report.

Your account

Tools that change something

These are flagged in the protocol so a well-behaved client asks you first.
Alert creation is deliberately two calls. prepare_alert does not create anything — it returns the configuration for you to read and a token. Only confirm_alert_creation with that token creates the alert, and what gets created is what you were shown.

Resources

Pullable by name, without a tool call:

Prompt

asset-deep-dive — a structured prompt that runs the tools in an order that works, instead of leaving the model to guess the sequence.

Timeframe is a resolution, never a period

One vocabulary across the whole platform — 1m, 5m, 15m, 30m, 1h, 4h, 6h, 12h, 1d — in which 1m is one minute. There is no weekly or monthly interval anywhere. timeframe sets the spacing between points; the period is startDate and endDate. Where a tool ranks or measures over a span instead of sampling a series, the argument is called period and takes spans (1d, 7d, 30d) — get_trending_assets is the one that does. So 7d is always a span and never a spacing.