Tokens

Newest token locks & vesting contracts (all mints)

Cross-token feed of new lock / vesting contracts — who just locked tokens, of what mint, how much, until when — newest first, from Streamflow, Jupiter Lock and Bonfida vesting. Poll with 'since=' (cursor = 'pagination.next_since') or subscribe to the 'token:locks' WebSocket channel for a push the moment the contract lands on-chain. Filters: 'mint', 'sender', 'recipient', 'program', 'kind', 'status', 'min_usd', 'min_pct_of_supply' (the last three are post-filters served by a bounded scan — see 'pagination.scan_truncated'). Backfilled Jupiter Lock rows have no on-chain creation time and are excluded by default ('include_estimated=1' to include). PRO+.

get/tokens/locks

Request

  • Base URL: https://madeonsol.com/api/v1
  • URL: https://madeonsol.com/api/v1/tokens/locks
  • Auth: HTTP bearer

Query parameters

sincestring date-time

Only contracts created after this instant (use pagination.next_since)

beforestring date-time

LEGACY page back: only contracts created before this instant (strict — skips same-timestamp siblings; prefer cursor)

cursorstring

PREFERRED page back: pagination.next_cursor from the previous page — a strict (created_at, id) keyset that never skips or repeats a row

mintstring
senderstring
recipientstring
program'streamflow' | 'jupiter_lock' | 'bonfida_vesting' | 'smithii_vesting' | 'sablier_lockup'
kind'lock' | 'vesting'
status'active' | 'completed' | 'cancelled' | 'closed'
min_usdnumber

Deposited amount ≥ (needs a known price)

min_pct_of_supplynumber
include_estimated'1' | '0' | 'true' | 'false'
limitinteger

Response

OK

degraded_fieldsstring[]

mint_facts:<table> — a per-mint enrichment read (decimals/price/supply) failed; the affected usd/ui/pct values are null (unknown) and the min_usd / min_pct_of_supply post-filters could not be applied to those rows

streamobject

WebSocket pointer for the token:locks channel

metaobject

Changes

No recorded changes to this operation across all 1 revision of this API.