Callouts are switched on per instance on request. Contact us (contact@cabalspy.xyz) to enable them. Without them every endpoint answers 403 feature_not_enabled.
"callouts" in features when they are switched on for your instance.
Who can make a callout
You make a callout from your backend, in the name of one of your users:- a platform user, by
external_idorcsid_id, - or a person who signed in to your app with CabalSpy ID and granted the scope
thesis, bycsid_id.
thesis scope is not needed: it is enough that they use your app.
Your instance’s callout settings decide the rest:
Independent of the settings, a user can call the same token only once per 24 hours: a new callout on that token is possible once the first day of the previous one is over. Users paused from writing theses cannot make callouts either.
How a callout is tracked
1
At the call
The current price and market cap of the token are stamped on the callout (
at_call). A token without a market price cannot be called (no_price).2
First 24 hours
The price is read every minute. Each read updates the current multiple (
now.x) and, when it is a new high, the peak (peak). Milestones are announced as they are reached.3
First day scored
About five minutes after the first 24 hours, the day is scored on price candles, like the CabalSpy call statistics, and
callout.scored is sent. From now on the multiples are measured against the candle entry.4
While the token is active
The price is read every 5 minutes, and once a day the highest high of that day’s 5-minute candles is added to the peak, so a spike between two reads still counts.
5
Tracking stops
When the token’s market cap stays below $10,000 for 24 hours in a row, or the token has no price at all for 24 hours in a row, tracking stops, the callout’s
status becomes final and callout.final is sent. Its score stays as it was.tracking.below_10k_since shows when the current clock started.
tracking.stop_reason says why tracking stopped: inactive when the last read before the stop had a market cap below $10,000, no_price when the token had no price. While a callout is in its first day it is never stopped.
All callouts on the same token share one price read per round, however many users called it.
Scoring
The score of a callout is its peak multiple:- the close of the 1-minute candle right before the call, so nothing after the call is used;
- if trading only starts in the minute of the call (a fresh token), the close of that candle;
- if the first trade comes at most 2 minutes after the call, the open of that candle.
score_x and peak.x are exactly 1.0. During the first day they rise above 1.0 once a read is higher than the price at the call. Once the first day is scored on candles, the multiples are measured against the candle entry, so score_x can move at that moment, and it can be below 1.0 when the token never traded above the entry after the call. After that it only rises, with every new high while the token is tracked.
Price is compared with price, so the token supply does not matter.
Market caps for the current and peak price are the price times the supply known at the call. They are null when the supply is unknown.
The first day
Once the first day is scored, every callout carriesfirst_day:
Milestones
When a callout’s peak multiple reaches 2x, 3x, 5x, 10x, 20x, 50x or 100x, acallout.milestone event is sent on the stream and as a webhook, with milestone_x. Each milestone is announced once per callout. When the price jumps past several milestones between two reads, only the highest one reached is announced.
Statuses
Callouts you remove disappear from every list, statistic, leaderboard and competition.
Statistics and leaderboard
Stats and the leaderboard summarize the callouts made in a period (6h, 1d, 7d or 30d), each with its current score:Webhooks and stream
The callout webhooks are only offered to instances with callouts switched on. See Callout events and the callouts stream.

