crypto_feed_since
Free with a feed_handle from crypto_feed_subscribe: every published advice change since your cursor, across all covered coins — new signals, classification flips (previous_classification vs classification), status/score/entry-zone changes. Send back next_cursor each time; for the full advice behind a signal_id call get_crypto_signal (paid).
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| kinds | No | Optional filter: new_signal, classification_changed, status_changed, score_changed, entry_zone_changed, economics_changed, execution_blockers_changed | |
| limit | No | Max events per page (default 100, max 500) | |
| cursor | No | Sequence you last saw; omit to continue from your subscription start, 0 for the backlog | |
| feed_handle | Yes | Handle returned when you subscribed |
Output Schema
| Name | Required | Description | Default |
|---|---|---|---|
| note | No | ||
| count | No | Number of events returned after your kinds filter. | |
| cursor | No | The cursor this page started from. | |
| events | No | ||
| expired | No | Present and true when the subscription lapsed; renew via POST /crypto/feed/renew with the same feed_handle. | |
| has_more | No | True when the ledger page was full — poll again immediately rather than waiting. | |
| checked_at | No | When we produced this answer (ISO 8601, UTC). The only ISO timestamp in the payload; every other timestamp is unix seconds. | |
| disclaimer | No | Our product boundary, verbatim in every paid advice response: market intelligence only, no execution, no custody, no position sizing, and opportunity_score is a heuristic rather than a calibrated win probability. | |
| expires_at | No | ||
| latest_seq | No | The newest ledger position right now. | |
| feed_handle | No | ||
| next_cursor | No | Send this back on your next poll. Advances over filtered-out events too — a kinds filter never rewinds the cursor. |