Skip to content
Celebtir
Search
Snapshot Solana slot 460,979,631HyperEVM block 49,425,943methodology v0.2
Research methodology

Methodology v0.2

Each protocol gets a Stage as its headline and a Low, Medium or High rating on six factors. There is no single score: a composite hides trade-offs.

Introduction

Celebtir reads who controls each protocol straight from the chain: who can upgrade its programs, how fast, who holds its admin keys and where its prices come from. Every rating links to the account and slot it was read from. Published versions: v0.1, v0.2. Thresholds on this page are read from methodology/v0.2.toml, the same file the scorer uses.

Principles

  • Evidence, not claims. Every rating links to the on-chain account and slot it was read from. Docs and announcements never change a rating.
  • Weakest link. A protocol is rated by its weakest core program: one single-key program caps the whole protocol.
  • Effective controller. Control is followed to its end. If a multisig's config authority is one key, that key is the real controller, with no delay.
  • Unknown upgrade control makes a protocol Unrated. Other Unknown factors cap the Stage at 0. A failed read is never guessed; an observed but unrecognized controller is distinct from an unavailable read.
  • Independent factors. The six ratings are never added up: each answers its own question.

Assessment scope

Protocols

The protocols in the registry, on Solana: their core programs, admin accounts, price feeds and the programs they call with user funds.

Tokens

Tokens are rated on four factors and get no Stage: supply control (the mint authority), freeze and seize (freeze authority, permanent delegate, pause), transfer restrictions (transfer hook, transfer fee, default-frozen accounts) and provenance (native or bridged).

Value by control type

Each protocol's TVL is assigned to the class of its weakest core program's controller: single key, unrecognized, multisig without delay, multisig with delay, or immutable. TVL and activity are context: they never change a rating.

Six risk factors

Upgrade control

Who can replace the code?

Low
Immutable, or a multisig of 5+ signers at a 60%+ threshold
Medium
A multisig of 3+ signers at a 50%+ threshold
High
A single key, a smaller multisig, a multisig whose config authority is one key, or a controller Celebtir does not recognize
Unknown
Celebtir could not read this on-chain data. Unknown is neutral, but it caps the Stage at 0.
Not applicable
This does not apply to the protocol (for example, it uses no price feeds).

In the current snapshot

  • Binance Staked SOL Low Squads v3 multisig, 6 of 10 voters, time lock 0 s
  • Drift Staked SOL Medium Squads v3 multisig, 6 of 11 voters, time lock 0 s
  • Forward Industries SOL Medium Squads v3 multisig, 6 of 11 voters, time lock 0 s
  • GMX Solana Medium Squads v4 multisig, 4 of 7 voters, time lock 600 s
  • Hyperbeat LST Unknown 0x9d…2538: unavailable (eth_call returned RPC error 3: execution reverted); 0xCe…8E0b: unavailable (eth_call returned RPC error 3: execution reverted)
  • Jito Low Squads v3 multisig, 6 of 10 voters, time lock 0 s
  • Jupiter Lend Low jup3…ndc9: Squads v4 multisig, 4 of 6 voters, time lock 12 h; jupZ…T9Vd: Squads v4 multisig, 4 of 6 voters, time lock 12 h; jupe…3wZC: Squads v4 multisig, 4 of 6 voters, time lock 12 h; jupg…N6XS: Squads v4 multisig, 4 of 6 voters, time lock 12 h; jupr…Bdzi: Squads v4 multisig, 4 of 6 voters, time lock 12 h
  • Jupiter Perps Medium Squads v4 multisig, 4 of 8 voters, time lock 24 h
  • Jupiter Staked SOL Medium Squads v3 multisig, 6 of 11 voters, time lock 0 s
  • Kamino Lend Medium Squads v4 multisig, 5 of 10 voters, time lock 24 h
  • Kinetiq kHYPE Medium Safe multisig, 4 of 8 voters, time lock 0 s
  • Morpho Blue Low immutable
  • Orca Medium Squads v4 multisig, 5 of 9 voters, time lock 24 h
  • PumpSwap Medium Squads v4 multisig, 3 of 4 voters, time lock 0 s
  • Raydium Medium 675k…1Mp8: Squads v4 multisig, 3 of 4 voters, time lock 0 s; CAMM…rWqK: Squads v4 multisig, 3 of 4 voters, time lock 0 s; CPMM…KP1C: Squads v4 multisig, 3 of 4 voters, time lock 0 s
  • stHYPE High unrecognized controller 0xc5…23D2 (Celebtir does not yet support this controller type)

Upgrade delay

How long between approval and a new version going live?

Low
5 days or more, or immutable
Medium
24 h to 5 days
High
Under 24 h, or none
Unknown
Celebtir could not read this on-chain data. Unknown is neutral, but it caps the Stage at 0.
Not applicable
This does not apply to the protocol (for example, it uses no price feeds).

In the current snapshot

Admin powers

Can a key change parameters, pause, or move funds outside an upgrade?

Low
No admin key, or only parameter changes behind a time lock of 24 h or more
Medium
Parameter, pause or fund powers held by a multisig that meets the Medium upgrade-control bar
High
One key, or a weaker multisig, holds an admin power
Unknown
Celebtir could not read this on-chain data. Unknown is neutral, but it caps the Stage at 0.
Not applicable
This does not apply to the protocol (for example, it uses no price feeds).

In the current snapshot

  • Binance Staked SOL Low the registry lists no admin accounts; the evidence is the core programs' upgrade reads
  • Drift Staked SOL Low the registry lists no admin accounts; the evidence is the core programs' upgrade reads
  • Forward Industries SOL Low the registry lists no admin accounts; the evidence is the core programs' upgrade reads
  • GMX Solana Medium authority can change parameters, held by Squads v4 multisig, 4 of 7 voters, time lock 600 s
  • Hyperbeat LST Low the registry lists no admin accounts; the evidence is the core programs' upgrade reads
  • Jito Low the registry lists no admin accounts; the evidence is the core programs' upgrade reads
  • Jupiter Lend Medium authority can change parameters, held by Squads v4 multisig, 4 of 7 voters, time lock 6 h; authority can change parameters, held by Squads v4 multisig, 4 of 7 voters, time lock 6 h; authority can change parameters, held by Squads v4 multisig, 4 of 7 voters, time lock 6 h
  • Jupiter Perps Medium admin can change parameters, held by Squads v3 multisig, 4 of 7 voters, time lock 0 s
  • Jupiter Staked SOL Low the registry lists no admin accounts; the evidence is the core programs' upgrade reads
  • Kamino Lend High lending_market_owner can change parameters, held by Squads v4 multisig, 4 of 10 voters, time lock 12 h
  • Kinetiq kHYPE Low the registry lists no admin accounts; the evidence is the core programs' upgrade reads
  • Morpho Blue Medium owner() can change parameters, held by Safe multisig, 5 of 9 voters, time lock 0 s
  • Orca Low fee_authority can change parameters behind a 24 h time lock
  • PumpSwap Medium admin can pause, held by Squads v4 multisig, 3 of 4 voters, time lock 0 s
  • Raydium High owner can change parameters, held by single key proj…k416
  • stHYPE Low the registry lists no admin accounts; the evidence is the core programs' upgrade reads

Code transparency

Does the deployed binary match public source?

Low
A verified build that matches what is deployed
Medium
Source is public but the build is not verified
High
No public source
Unknown
Celebtir could not read this on-chain data. Unknown is neutral, but it caps the Stage at 0.
Not applicable
This does not apply to the protocol (for example, it uses no price feeds).

In the current snapshot

Oracle dependency

Where do prices come from?

Low
An established oracle network (Pyth, Switchboard, Chainlink) with a fallback source
Medium
A single established oracle network
High
A protocol-run or single-signer feed, or an owner program Celebtir does not recognize
Unknown
Celebtir could not read this on-chain data. Unknown is neutral, but it caps the Stage at 0.
Not applicable
This does not apply to the protocol (for example, it uses no price feeds).

In the current snapshot

  • Binance Staked SOL Not applicable the registry lists no price feeds; the evidence is the core programs' upgrade reads
  • Drift Staked SOL Not applicable the registry lists no price feeds; the evidence is the core programs' upgrade reads
  • Forward Industries SOL Not applicable the registry lists no price feeds; the evidence is the core programs' upgrade reads
  • GMX Solana Unknown price feeds not yet listed in the registry
  • Hyperbeat LST Not applicable the registry lists no price feeds; the evidence is the core programs' upgrade reads
  • Jito Not applicable the registry lists no price feeds; the evidence is the core programs' upgrade reads
  • Jupiter Lend Unknown price feeds not yet listed in the registry
  • Jupiter Perps Medium BTC custody: single oracle network (pyth), no fallback; ETH custody: single oracle network (pyth), no fallback; SOL custody: single oracle network (pyth), no fallback; USDC custody: single oracle network (pyth), no fallback; USDT custody: single oracle network (pyth), no fallback
  • Jupiter Staked SOL Not applicable the registry lists no price feeds; the evidence is the core programs' upgrade reads
  • Kamino Lend High SOL reserve: prices come from a protocol-run feed
  • Kinetiq kHYPE Not applicable the registry lists no price feeds; the evidence is the core programs' upgrade reads
  • Morpho Blue Unknown price feeds not yet listed in the registry
  • Orca Not applicable the registry lists no price feeds; the evidence is the core programs' upgrade reads
  • PumpSwap Not applicable the registry lists no price feeds; the evidence is the core programs' upgrade reads
  • Raydium Not applicable the registry lists no price feeds; the evidence is the core programs' upgrade reads
  • stHYPE Not applicable the registry lists no price feeds; the evidence is the core programs' upgrade reads

Dependencies

Which other programs does it call into with user funds?

Low
Every called program rated Low on upgrade control
Medium
Any called program rated Medium
High
Any called program rated High
Unknown
Celebtir could not read this on-chain data. Unknown is neutral, but it caps the Stage at 0.
Not applicable
This does not apply to the protocol (for example, it uses no price feeds).

In the current snapshot

  • Binance Staked SOL Low all 1 callees rated Low on upgrade control
  • Drift Staked SOL Low all 1 callees rated Low on upgrade control
  • Forward Industries SOL Low all 1 callees rated Low on upgrade control
  • GMX Solana High callee Gt9S…ZA3c is unrecognized controller AAL4…edAD
  • Hyperbeat LST Low calls no other programs with user funds (declared in the registry, not traced from transactions)
  • Jito Low all 1 callees rated Low on upgrade control
  • Jupiter Lend Low all 2 callees rated Low on upgrade control
  • Jupiter Perps Low all 1 callees rated Low on upgrade control
  • Jupiter Staked SOL Low all 1 callees rated Low on upgrade control
  • Kamino Lend Low calls no other programs with user funds
  • Kinetiq kHYPE Low calls no other programs with user funds (declared in the registry, not traced from transactions)
  • Morpho Blue Low calls no other programs with user funds (declared in the registry, not traced from transactions)
  • Orca Low calls no other programs with user funds
  • PumpSwap Medium callee 6EF8…wF6P is Squads v4 multisig, 3 of 4 voters, time lock 0 s; callee pfee…ojVZ is Squads v4 multisig, 3 of 4 voters, time lock 0 s
  • Raydium Low calls no other programs with user funds
  • stHYPE Low calls no other programs with user funds (declared in the registry, not traced from transactions)

Rating criteria

Every factor side by side. Thresholds are read from methodology/v0.2.toml.

FactorQuestionLowMediumHigh
Upgrade controlWho can replace the code?Immutable, or a multisig of 5+ signers at a 60%+ thresholdA multisig of 3+ signers at a 50%+ thresholdA single key, a smaller multisig, a multisig whose config authority is one key, or a controller Celebtir does not recognize
Upgrade delayHow long between approval and a new version going live?5 days or more, or immutable24 h to 5 daysUnder 24 h, or none
Admin powersCan a key change parameters, pause, or move funds outside an upgrade?No admin key, or only parameter changes behind a time lock of 24 h or moreParameter, pause or fund powers held by a multisig that meets the Medium upgrade-control barOne key, or a weaker multisig, holds an admin power
Code transparencyDoes the deployed binary match public source?A verified build that matches what is deployedSource is public but the build is not verifiedNo public source
Oracle dependencyWhere do prices come from?An established oracle network (Pyth, Switchboard, Chainlink) with a fallback sourceA single established oracle networkA protocol-run or single-signer feed, or an owner program Celebtir does not recognize
DependenciesWhich other programs does it call into with user funds?Every called program rated Low on upgrade controlAny called program rated MediumAny called program rated High

Token factors · methodology v0.2

Tokens have four independent factors and no Stage. The recorded scorer output supplies the reason, improvement criterion and evidence for each finding. Token issuer powers do not automatically determine the rating of an accepting protocol.

freeze and seize

Recorded example (JLP): balances can be frozen by unrecognized controller AVzP…QK49 owned by program PERP…qQJu

Improvement criterion: remove any permanent delegate and hold freeze or pause powers in a multisig → MEDIUM

Inspect source observations
provenance

Recorded example (JLP): native to Solana

Improvement criterion: none: LOW is the lowest risk level

Inspect source observations
supply control

Recorded example (JLP): new supply can be minted by unrecognized controller AVzP…QK49 owned by program PERP…qQJu

Improvement criterion: hold the mint authority in a multisig → MEDIUM

Inspect source observations
transfer restrictions

Recorded example (JLP): no transfer restrictions

Improvement criterion: none: LOW is the lowest risk level

Inspect source observations

Stages

Stages describe who can change the protocol and how fast. They don't measure code security. A Stage is not a safety score and is never combined with the six factors.

  1. Stage 0Rated, with requirements for Stage 1 still missing.
  2. Stage 1Changes need many signers and give users time to react.
  3. Stage 2Meets the published Stage 2 control requirements.

Unrated means the protocol cannot be assessed: its core programs are not identified, or a core program's controller could not be read. Stages follow Celebtir's versioned control requirements below. They do not guarantee protection from exploits or all team actions.

Stage 0 requires

  • core programs identified in the registry
  • public source for every core program
  • upgrade control readable for every core program

Stage 1 requires

  • admin powers rated Low or Medium
  • no multisig has a single-key config authority
  • every factor could be read (Unknown caps the Stage at 0)
  • upgrade control rated Low or Medium
  • upgrade delay of the Stage 1 minimum, unless upgrades need an emergency multisig
  • verified builds for all core programs

Stage 2 requires

  • core programs immutable, or upgradeable only through on-chain governance with a long delay
  • no key can move or freeze user funds

Evidence collection

Facts are read from Solana RPC each day and recorded with the account, field and slot they came from. Build verification comes from OtterSec, and TVL, fees and volume from DefiLlama.

How missing data is shown

Unknown
Celebtir could not read this on-chain data. Unknown is neutral, but it caps the Stage at 0.
Unrated
This protocol cannot be assessed yet: a core program's controller could not be read, or its source is not public.
Not applicable
This does not apply to the protocol (for example, it uses no price feeds).
Data unavailable
The external source (DefiLlama or OtterSec) did not answer. Ratings are unaffected.

Hyperliquid

HyperEVM sources

  • Upgrade control: the EIP-1967 admin slot of each proxy, followed through its ProxyAdmin owner to a key, a Safe multisig or a timelock. UUPS proxies are followed through the owner of the implementation.
  • Upgrade delay: a timelock's minimum delay. A timelock whose admin role is held by an outside address counts as no delay, because that admin can change the delay at once.
  • Admin powers: the owner, or the role holders the registry names, of each contract, confirmed on chain.
  • Code transparency: verified source on Sourcify, then on HyperEVMScan when a key is configured; for a proxy, the implementation is checked.
  • Dependencies: the contracts the registry declares. They are not traced from transactions yet, and each reason says so.

HIP-3 anchor block

The Hyperliquid info API returns no block height. Every HIP-3 fact is anchored to the HyperEVM block read just before the request, and the site shows that block, never a guessed time.

Why HIP-3 DEXs are not rated yet

A HIP-3 market can never be immutable: its deployer must keep pushing prices, can halt and settle markets, and sets the caps. The six factors would rate every deployer the same way, so this version lists the facts (deployer, oracle updater, delegated actions, caps and stake) without ratings or a Stage. Rules for HIP-3 arrive with a later methodology version, after public feedback.

Limitations

  • Value by control type is a simplification: free sources do not report TVL per program, so all of a protocol's value is placed under its weakest link.
  • Recomputable, within limits. Anyone can re-score any published day's facts with the CLI and get the same ratings. Solana RPC cannot return an account's past state, so nobody can re-fetch yesterday's raw data: live checks can only confirm today's.
  • Ratings describe on-chain configuration only. They do not audit code, and they may contain errors: report one from the About page.

Version history

Changelog

v0.2 verifies declared program-derived authority addresses and rates them by the program's upgrade control. Lending and perpetuals without registered feeds are Unknown. Delayed value control requires at least the Medium upgrade-delay threshold. Historical v0.1 scores retain their original rules.

Every change to a published methodology file gets an entry here. A change never edits an old v<version>.toml: it adds a new version, so any past day can be re-scored exactly (SNAP-4).

v0.1 (2026-10-17)

First published version.

  • Six factors rated Low, Medium or High: upgrade control, upgrade delay, admin powers, code transparency, oracle dependency and dependencies. No composite score.
  • Stages 0 to 2, plus Unrated, with Stage 1 thresholds mirroring L2Beat's (a 5-day exit window, or an emergency multisig of 8+ signers at 75%+).
  • Weakest link: a protocol is rated by its weakest core program.
  • A multisig whose config authority is one key counts as that key, with no delay (ADR 005).
  • A controller Celebtir cannot recognize rates High and caps the Stage at 0 (ADR 002).
  • Public but unverified source is Stage 0, with the verified build listed as missing (ADR 001).
  • An admin power's delay comes from the time lock of the multisig that holds it (ADR 003).
  • Tokens are rated on four factors (supply control, freeze and seize, transfer restrictions, provenance) and get no Stage.

v0.2 - 2026-10-21

  • Verified registry PDA controllers rate by the controlling program's upgrade authority.
  • Lending and perpetuals with no registered feeds have Unknown oracle dependency.
  • Delayed value control requires at least the Medium upgrade-delay threshold (24 hours).
  • Explicit v0.1 replay retains its original scores and serialized reasons. See ADR 025.
  • v0.2 risk sentences describe configuration powers without claiming withdrawal is impossible; every elevated token factor includes a reason.

The file

# Celebtir methodology v0.2: every threshold the scorer uses (SCO-2).
# The rules themselves are in the PRD's "Risk methodology" section. Changing a
# number here changes ratings without a code change, and needs a changelog entry.

version = "0.2"

# Who can replace the code?
# Low: immutable, or a multisig with >= low_min_voters voters at >= low_min_threshold_pct.
# Medium: a multisig with >= medium_min_voters voters at >= medium_min_threshold_pct.
# High: a single key, a smaller multisig, or a multisig whose config authority is one key.
# Ratios use voters (members with the Vote permission), not total members.
[upgrade_control]
low_min_voters = 5
low_min_threshold_pct = 60
medium_min_voters = 3
medium_min_threshold_pct = 50

# How long between approval and a new version going live?
# Low: >= low_min_secs, or immutable. Medium: >= medium_min_secs. High: less, or none.
[upgrade_delay]
low_min_secs = 432000    # 5 days
medium_min_secs = 86400  # 24 hours

# Can a key change parameters, pause or move funds outside an upgrade?
# Low: no admin key, or parameters-only power held behind a time lock of at least
# low_min_time_lock_secs (ADR 003). Medium: parameters or pause held by a multisig
# meeting the medium multisig bar above. High: anything else.
[admin_powers]
low_min_time_lock_secs = 86400  # 24 hours

# Where do prices come from? Oracle owner programs are classified by registry/oracles.yaml.
# Low: an established network with a fallback. Medium: a single established network.
# High: a protocol-run or single-signer feed, or an unclassified owner.
[oracle_dependency]
required_for_categories = ["lending", "perps"]
established_networks = ["pyth", "switchboard", "chainlink"]

# Stage 1, "Guarded" (mirrors L2Beat's Stage 1).
[stage1]
min_upgrade_delay_secs = 432000   # 5 days
emergency_min_voters = 8
emergency_min_threshold_pct = 75

# Stage 2, "User-protected".
[stage2]
governance_min_delay_secs = 2592000  # 30 days