Skip to main content

Scopes

Every protected operation in API v2 declares the scopes it requires. A request is authorized only when the calling key carries every declared scope. Missing any one of them returns 403 insufficient_scope. Scopes are selected when the key is created and cannot be widened afterwards. Grant the narrowest set that works, and create a separate key when a new service needs more.

Scopes in use

These scopes gate operations in the current contract.

Scopes with no current operations

The contract also defines these scope values, and the Blank dashboard lets you select them, but no operation in the current API v2 contract requires them. Granting one today adds no capability. tokens:read, market-data:read, launches:read, launches:write, trading:write, staking:write, fees:write, presales:write, token-management:write, audience:read
Token and market-data reads are anonymous, so tokens:read and market-data:read are not needed to call them. Leave these scopes unselected unless a future operation documents a requirement for one.

Operations that need no scope

  • Anonymous operations need no key at all: token list and detail, market snapshot, candles, trades, holder stats, staking pool and leaderboard, presale list and detail, prediction rounds, round entries, standings, and the Solana manifest.
  • getApiIdentity (GET /me) requires a valid key but no scope. It returns only the calling key’s own identity.

Checking your scopes at runtime

Failing on boot is better than discovering a missing scope on your first write.

Scope failures

insufficient_scope is not retryable. Create a new key with the required scopes — an existing key cannot be upgraded. See Authentication and Errors.