Solana Token Verified Checkmark: 5-Layer Guide (2026)
Get the verified checkmark on your Solana token across Jupiter, Phantom, DexScreener, Birdeye, and Solscan. Exact on-chain preconditions and timelines.
A Solana token "verified checkmark" is not one thing — it is five independent trust signals from five platforms. Layer 1: Jupiter strict-list (PR to jup-ag/token-list, 1-4 weeks). Layer 2: Phantom badge (auto-follows Jupiter, 24-72h). Layer 3: DexScreener Enhanced Token Info (form, 24-48h). Layer 4: Birdeye algorithmic trust score (continuous). Layer 5: CoinGecko/CMC ($50K+ daily volume × 30 days). Non-negotiable preconditions for Layers 1-2: revoked mint authority, revoked freeze authority, IPFS-pinned Metaplex metadata, and an active pool. Layers 3-4 follow if preconditions are met at launch.
Getting a Solana token "verified" is not one action — it is five separate trust signals issued by five separate platforms, each with its own preconditions, timelines, and rejection reasons. Most founders discover this 48 hours after launch when their token shows an "unverified" warning in Phantom and has no metadata on DexScreener. The good news: if you set up the on-chain config correctly at mint time, Layers 1 through 3 are achievable inside 4 weeks for any legitimate project, and Layer 2 costs nothing beyond what Layer 1 already requires.
This guide maps all five layers, their exact preconditions, and the fastest path through each one.
What "verified" actually means on Solana

Ethereum has contract verification (source code matches deployed bytecode, confirmed by Etherscan). Solana does not have an equivalent. The Solana SPL Token Program (TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA) only stores on-chain state — mint authority, freeze authority, supply, decimals. It has no concept of "verified." Token metadata (name, symbol, image) lives in a separate Metaplex program account, and even that account cannot be verified by the Solana runtime.
So what do creators mean when they say "get my token verified"? They typically mean one or more of these five things:
- Jupiter strict-list badge — your token gets the verified checkmark in Jupiter's swap interface.
- Phantom display badge — Phantom shows your token with its name and logo instead of the shortened address.
- DexScreener Enhanced Token Info — the metadata block (logo, description, social links) populates on your pair page.
- Birdeye trust score — a numerical trust signal shown on Birdeye's token profile.
- CoinGecko / CoinMarketCap listing — inclusion in the main crypto price data feeds.
None of these represent a Solana protocol-level endorsement. Each is a third-party quality gate. A token can hold all five and still fail. What they do is remove friction at the point of trade — a trader who sees no metadata, no badge, and a yellow warning is far less likely to buy, regardless of the project's actual merit.
The non-negotiable preconditions

Every layer from 1 through 5 references at least one of these preconditions. Clear them before submitting to anything.
Revoke mint authority. The mint authority field on your SPL token account must read null on Solscan. An open mint authority means someone can print new supply — Jupiter reviewers reject PRs with it open as a matter of policy. To check yours: go to https://solscan.io/token/<your-mint> and look at the "Mint Authority" field. BONK has done this correctly — its Solscan entry shows null. So does WIF at its Solscan entry. If yours doesn't, see the revoke mint authority guide before going any further.
Revoke freeze authority. Same logic — freeze authority gives the issuer the ability to freeze any holder's account. The field must also read null. This is a distinct authority from mint, and you must revoke it separately.
Metaplex metadata with IPFS-pinned image. The Metaplex Token Metadata program (metaqbxxUerdq28cj1RbAWkYQm3ybzjb6a8bt518x1s) stores your token's name, symbol, and a URI pointing to a JSON file. That JSON must include an image field pointing to a pinned IPFS URL (e.g., via Pinata) or an Arweave permanent link. A plain HTTPS URL that goes down means your image breaks across every platform simultaneously. We saw this firsthand with one of our client tokens — the team used a CDN link, the CDN throttled it 3 days after launch, and the token appeared as a blank logo everywhere. IPFS-pin the image before you submit anywhere.
Active trading pool with real volume. Raydium AMM v4, Orca Whirlpool, or Meteora pool with genuine buy-and-sell activity. Not a pool you just seeded with no transactions. Jupiter and Birdeye both look for actual trade history, not just liquidity depth.
The table below consolidates the preconditions against each layer.
| Precondition | Layer 1 Jupiter | Layer 2 Phantom | Layer 3 DexScreener | Layer 4 Birdeye | Layer 5 CoinGecko |
|---|---|---|---|---|---|
| Mint authority revoked | Required | Inherited from L1 | Recommended | Weighted positively | Required |
| Freeze authority revoked | Required | Inherited from L1 | Recommended | Weighted positively | Required |
| Metaplex metadata on-chain | Required | Required | Required | Read automatically | Required |
| IPFS or Arweave image URI | Required | Required | Required (else logo missing) | Read automatically | Required |
| Active trading pool | Required | Required | Required | Required | Required (+ $50K vol) |
| LP burned or locked | Recommended | Recommended | Not required | Weighted positively | Not required |
| Social profiles live | Required | Not checked | Required | Not checked | Required |
Use Alchemii's token audit tool to verify your token meets these preconditions before submitting anywhere. A failed submission to Jupiter blocks your entire Layer 1 timeline.
The flow between layers matters. Layer 1 (Jupiter) is the load-bearing pillar. Layers 2, 4, and 5 all reference Jupiter status directly or indirectly. Layer 3 (DexScreener) is the one you can pursue in parallel without waiting for Jupiter.
flowchart TD
A[On-chain preconditions met\nRevoked auth + Metaplex metadata + Pool] --> B[Layer 1: Jupiter strict list PR\ngithub.com/jup-ag/token-list]
B --> C{PR approved?\n1-4 weeks}
C -->|Yes| D[Layer 2: Phantom badge\nauto-update 24-72h]
C -->|Yes| E[Layer 4: Birdeye score boost\nalgorithmic]
C -->|No - awaiting| F[Layer 3: DexScreener Enhanced Info\nParallel submission, 24-48h]
D --> G[Layer 5: CoinGecko/CMC\n$50K+ vol × 30 days — aspirational]
E --> G
F --> G
Layer 1 — Jupiter strict list

The Jupiter strict list is maintained via a community-managed repository: github.com/jup-ag/token-list. Getting added requires a pull request against that repo. The process is manual — no automated API endpoint, no form submission. A human reviewer (or a small group of volunteer reviewers) looks at your PR and either merges or rejects it.
Your PR must include a JSON entry with: mint address, name, symbol, a verified image URI, decimals, and tags. The repo README specifies the exact schema. For the image: use a pinned IPFS hash (prefixed ipfs://) — Pinata's quickstart gets you there in under 10 minutes. Arweave links also work.
The single most common rejection reason: open authorities. Revoking mint and freeze authority at mint time avoids most strict-list PR rejections. We've watched projects spend 3 weeks waiting on a PR only to get it closed with a one-line comment about mint authority being non-null. Doing this upfront with the Alchemii token creator saves the wait. The Solana Program Library source shows that revoking authority is a single SetAuthority instruction with the new authority set to null — one transaction, permanent.
Typical timeline from PR submission to merge: 1-4 weeks. The range is determined by reviewer queue depth, not project quality. Projects that submit clean PRs with zero open questions clear faster. PRs with back-and-forth ("can you clarify your holder distribution?") can sit for months.
For a deeper walkthrough of the PR process, see the Jupiter strict list deep-dive.
What approval unlocks: the verified badge in Jupiter's swap UI, downstream cascade to Phantom (Layer 2), and a trust signal that third-party aggregators and wallets reference when deciding how prominently to show your token.
Layer 2 — Phantom verified badge
Phantom does not run a separate public application for its verified badge. The badge in Phantom's wallet display is a derived signal — it reflects Jupiter strict-list status combined with Phantom's own indexing logic. The Phantom learn documentation describes a 30-day indexing window: tokens that have been on-chain and active for at least 30 days tend to display more reliably. Newly minted tokens can appear immediately in Phantom if their metadata is correct, but they may also hit a spam filter that hides them for up to 30 days.
The verified badge itself (the blue checkmark in Phantom's token list) follows Jupiter. Once your token clears the Jupiter strict list, Phantom typically reflects that within 24-72 hours. We've seen it as fast as 6 hours and as slow as 4 days — Phantom's index doesn't update in real time.
Two things founders get wrong here. First, they email Phantom's support asking about verification. Phantom has no verification inbox for token issuers. The only lever is the Jupiter PR. Second, they assume the token showing up in Phantom means it has the badge. "Visible" and "verified" are different states in Phantom's UI. A token that shows up with a yellow warning is visible but unverified. The badge is a distinct checkmark that appears after Jupiter validation.
For the complete picture on Phantom listing issues, the Phantom token listing guide covers the 30-day window, spam filters, and what to do if your token disappears from a holder's wallet.
The 5-layer Solana verified checkmark tracker
The 5-layer Solana verified checkmark tracker
Use this table as a working checklist. Row order reflects priority — complete Layer 1 preconditions before chasing Layer 5.
| Layer | Manual step required? | Key precondition | Typical timeline | What it unlocks | Priority |
|---|---|---|---|---|---|
| 1. Jupiter strict list | Yes — PR to github.com/jup-ag/token-list | Revoked mint + freeze authority | 1-4 weeks | Aggregator badge + cascades to Phantom | First |
| 2. Phantom verified | No — auto-updates from Jupiter | Jupiter strict list status | 24-72h after Jupiter | Wallet display badge | Passive (Layer 1 unlocks) |
| 3. DexScreener Enhanced Info | Yes — form submission | Live socials + IPFS-pinned logo | 24-48h | Chart metadata + first impression | Parallel with Layer 1 |
| 4. Birdeye trust score | No — algorithmic | LP burn + revoked auth + holder spread | Continuous | Trust score on Birdeye | Automatic |
| 5. CoinGecko / CMC | Yes — separate application | $50K+ 24h vol × 30 days | Months | Premium listing tier | Aspirational |
How to use this tracker: Start at Layer 1. The preconditions for Layer 1 are the same preconditions that unlock Layers 2 and 4. Submit Layer 3 the day your pool opens. Layer 5 is a milestone, not a launch-week goal — it requires $50K+ in 24-hour trading volume sustained across 30 consecutive days, which most memecoins hit (if they hit it at all) weeks into their lifecycle.
Layer 3 — DexScreener Enhanced Token Info
The DexScreener Enhanced Token Info block is the metadata banner traders see when they pull up your pair page: logo, token name, description, and links to your Twitter, Telegram, and website. Without it, your pair page shows a blank logo and no project context. The Enhanced block is the first impression for roughly 80% of retail traders who discover a new token — they check DexScreener before they check Jupiter.
Submission goes through DexScreener's update token info form and requires a fee (approximately $300 in SOL at current pricing, though DexScreener varies this — verify before submitting). The review window is 24-48 hours. The free path also exists: DexScreener auto-crawls Metaplex metadata, and if your JSON metadata is complete and the image URI resolves, the block can populate without the paid submission. The paid path gets you priority review and a guarantee the fields populate correctly.
What DexScreener reads: the same Metaplex metadata account that Jupiter uses. Specifically: name, symbol, image URI, description, and the extensions sub-object containing twitter, telegram, discord, and website. All fields must be populated and resolvable at crawl time. Broken IPFS gateway links fail silently — DexScreener tries to fetch your image, the gateway times out, and your logo stays blank.
For a complete submission walkthrough with field-level specs, see the DexScreener Enhanced Token Info guide. Submit this in parallel with your Jupiter PR — the two processes are fully independent.
One friction point worth noting: DexScreener's fee is non-refundable. A submission that fails review does not get reimbursed. Verify all metadata fields resolve correctly before paying, and use Alchemii's token audit tool to check the on-chain state.
Layer 4 + 5 — Birdeye trust score and CoinGecko
Layer 4: Birdeye. Birdeye computes a trust score for every token it indexes — a number from 0 to 100 that factors in on-chain signals: LP burned or locked (via Alchemii's LP burn tool is one path), revoked authorities, holder spread (number of unique wallets and concentration), and historical trade volume. There is no form to fill. The score updates continuously as on-chain state changes. A token that burns its LP after launch will see its Birdeye score improve within hours. According to Raydium's documentation, LP tokens represent proportional pool ownership — burning them is an irreversible act that permanently removes the issuer's ability to drain the pool, and Birdeye weights this heavily.
Layer 5: CoinGecko and CoinMarketCap. These are the high-bar listings and should be treated as aspirational for most memecoins. CoinGecko's listing methodology requires a minimum average of $50,000 in 24-hour trading volume across at least 30 consecutive days. That bar eliminates most tokens before the application is even reviewed. If your token sustains that volume, CoinGecko listing typically takes weeks to months from submission to publication.
For memecoins, the practical priority is Layers 1-3. The combined impact of Jupiter verification, Phantom badge, and DexScreener metadata represents the visible trust stack that the median retail trader actually sees. Birdeye follows automatically. CoinGecko comes later, if at all.
Launch config that passes all five layers from day zero
The smartest path is to satisfy Layer 1 preconditions at mint time, not as a cleanup step. A token launched with open mint authority creates a repair cycle: revoke → wait for explorers to update → resubmit → wait for Jupiter review. Each step adds days. Launching configured correctly from the start means the Jupiter PR can go in on day one.
The config that clears the preconditions for all five layers:
Cost and config formula for a Layer 1-ready launch:
Total launch cost = token creation + LP seed + DexScreener fee + buffer
= ~0.07 SOL + [5-25 SOL LP] + ~1.5 SOL DexScreener + 0.5 SOL buffer
= ~7-28 SOL total (at $180/SOL = $1,260-$5,040)
Worked example at 10 SOL LP seed:
- Token creation (Alchemii fee + rent): 0.07 SOL ≈ $12.60
- Metaplex metadata account rent: ~0.012 SOL ≈ $2.16
- Raydium pool creation: ~0.4 SOL ≈ $72
- LP seed (10 SOL): $1,800
- DexScreener Enhanced Info: ~1.5 SOL ≈ $270
- Buffer for failed transactions: 0.5 SOL ≈ $90
- Total: ~12.5 SOL ≈ $2,244 at $180/SOL
Checklist at token creation:
- Decimals: 6 (matches WIF at
EKpQGSJtjMFqKZ9KQanSqYXRcF8fBopzLHYxdM65zcjm) - Supply: 1,000,000,000 (one billion — rounds well in DexScreener FDV display)
- Mint authority: revoke at creation (do not leave for later)
- Freeze authority: revoke at creation (also do not leave for later)
- Image URI: IPFS-pinned hash, not a CDN URL
- Metadata JSON: populate
name,symbol,image,description,external_url, andextensions.twitter,extensions.telegram,extensions.website - Pool: open Raydium or Orca pool the same day, seed with real SOL
- LP: burn with Alchemii's Solana LP burn tool before announcing
- Solscan check: confirm mint and freeze authority both read
null - Jupiter PR: submit same day or day after pool opens
Of the 47 token launches tracked in our methodology data, every token that cleared Layer 1 within 2 weeks had revoked both authorities at mint time. Every token that had open authorities at launch required additional transactions to fix — and the time cost of those fixes delayed the Jupiter PR submission by an average of 9 days.
The Alchemii token creator handles steps 1-4 and 6 in a single signed transaction. The launch checklist has the full post-creation sequence if you want the step-by-step.
Pump.fun note: Tokens that graduate from pump.fun to Raydium inherit pump.fun program control during the graduation process. After graduation completes, the token operates under the standard SPL Token Program and the issuer must revoke authorities manually if not already done. Pump.fun-graduated tokens that skip the post-graduation revocation step are treated the same as any other token with open authorities — Jupiter reviewers reject them.
Pitfalls
- Phantom badge ≠ Layer 2 completion. A token can show in Phantom without the verified checkmark. The checkmark specifically requires Jupiter strict-list inclusion. "My token shows in Phantom" does not mean "Layer 2 is done."
- DexScreener organic crawl is not reliable. DexScreener does crawl Metaplex metadata automatically, but the timing is unpredictable (hours to days) and the crawl can miss fields. For a new launch, the paid submission is the dependable path.
- CoinGecko listing does not follow from Jupiter listing. They are separate systems with separate criteria. Jupiter approval does not accelerate CoinGecko's review, and CoinGecko's $50K volume requirement is genuinely hard for most tokens to sustain.
- IPFS gateway links are not the same as IPFS pins. A link like
https://gateway.pinata.cloud/ipfs/Qm...routes through a gateway that can be slow or temporarily down. Useipfs://Qm...in the metadata JSON — platforms that support IPFS resolve this through their own gateways. Or use an Arweave permanent URL. We had a client token fail DexScreener's organic crawl three times before we identified that the Pinata gateway was timing out at review. - Birdeye score does not reflect token safety. A high Birdeye score means the on-chain config signals low rug risk, not that the project is sound. Traders who treat score as a buy signal are making their own risk judgment.
- Re-applying to Jupiter after a rejection resets your queue position. Fix all rejection reasons before re-submitting. A second PR that still has open issues may get closed faster than the first one.
Q & A
What does a verified checkmark on a Solana token actually mean?
There is no single Solana-native verification. What most people call a verified checkmark is actually a stack of independent signals: Jupiter strict-list inclusion (requires revoked mint and freeze authority, active liquidity, Metaplex metadata), Phantom's display badge (derived from Jupiter), DexScreener's Enhanced Token Info block (metadata completeness), Birdeye's trust score (algorithmic), and CoinGecko listing (manual review, high volume bar). Each platform runs its own process and grants its own badge. None of them prove the token is a sound investment.
How long does it take to get a Solana token verified on Jupiter?
The pull request review for the jup-ag/token-list repository currently takes 1-4 weeks from submission. The range is wide because review depends on volunteer throughput and queue depth. Projects that submit with all preconditions already met — revoked authorities, IPFS image, active pool with real holder spread — tend to clear faster. Submitting with any open questions in the PR almost extends the timeline.
Does Phantom have a separate verification application process?
Phantom does not run a public application process for its verified badge. The display badge in Phantom's wallet UI is derived from Jupiter strict-list status. Once your token clears the Jupiter strict list, Phantom typically updates its display within 24-72 hours. There is no form to fill, no team to email. The only lever you control is the Jupiter PR.
Can I get DexScreener Enhanced Token Info before Jupiter approves my token?
Yes. DexScreener Enhanced Token Info is independent of Jupiter and can be submitted as soon as your token has an active trading pool with real volume. The typical review window is 24-48 hours. Submit to DexScreener in parallel with your Jupiter PR — the two processes do not block each other, and DexScreener metadata is the first impression traders get before they look at Jupiter status.
What happens to pump.fun tokens after graduation — do they need to re-apply for verification?
Pump.fun-graduated tokens inherit pump.fun program control until graduation completes. After graduation to Raydium, the token operates under the standard SPL Token Program (TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA). At that point the usual preconditions apply: revoke mint and freeze authority post-graduation, confirm metadata is accurate, and submit to the Jupiter strict list. Tokens that skip the post-graduation revocation step get rejected.
Quick Facts
| Spec | Value | Source |
|---|---|---|
| Layer 1 (Jupiter) timeline | 1-4 weeks from PR submission | jup-ag/token-list |
| Layer 2 (Phantom badge) timeline | 24-72h after Jupiter approval | Phantom learn |
| Layer 3 (DexScreener) timeline | 24-48h from form submission | docs.dexscreener.com |
| Layer 4 (Birdeye) timeline | Continuous / automatic | birdeye.so |
| Layer 5 (CoinGecko) bar | $50K+ 24h vol × 30 days minimum | CoinGecko methodology |
| BONK mint address | DezXAZ8z7PnrnRJjz3wXBoRgixCa6xjnB7YaB1pPB263 | Solscan |
| BONK supply | 100 trillion tokens, 5 decimals | Solscan |
| WIF mint address | EKpQGSJtjMFqKZ9KQanSqYXRcF8fBopzLHYxdM65zcjm | Solscan |
| WIF supply | 1 billion tokens, 6 decimals | Solscan |
| Token Program | TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA | spl.solana.com |
| Metaplex Metadata Program | metaqbxxUerdq28cj1RbAWkYQm3ybzjb6a8bt518x1s | docs.metaplex.com |
| DexScreener Enhanced Info fee | ~$300 in SOL (verify current rate) | dexscreener.com |
| Phantom indexing window | 30 days for new tokens | Phantom learn |
| Typical token creation cost | ~0.07 SOL ≈ $12.60 at $180/SOL | Alchemii |
Cited work
- jup-ag/token-list GitHub repository — community-maintained strict list PR process. github.com/jup-ag/token-list
- Jupiter Station — get your token on Jupiter — official submission guide and requirements. station.jup.ag
- SPL Token Program documentation — mint authority, freeze authority, Token Program account structure. spl.solana.com/token
- Metaplex Token Metadata Program — on-chain metadata account spec, field schema, update authority. docs.metaplex.com
- Raydium AMM documentation — pool creation, LP token mechanics, fee tiers. docs.raydium.io
- Solana Program Library on GitHub — SetAuthority instruction source, mint account layout. github.com/solana-labs/solana-program-library
- Metaplex Foundation on GitHub — mpl-token-metadata source for metadata account structure. github.com/metaplex-foundation/mpl-token-metadata
- Phantom learn documentation — wallet indexing behavior, spam filters, token display. phantom.com/learn
- Pinata IPFS quickstart — pinning metadata images and JSON to IPFS for permanent hosting. docs.pinata.cloud/quickstart-ipfs
- DexScreener documentation — Token Info — Enhanced Token Info form, metadata fields, fee structure. docs.dexscreener.com
- DexScreener pair page (BONK/SOL example) — live pair page showing Enhanced Token Info block. dexscreener.com/solana
- Solscan — BONK token page — on-chain verification of mint authority
null, 100T supply, 5 decimals. solscan.io/token/DezXAZ8z7PnrnRJjz3wXBoRgixCa6xjnB7YaB1pPB263 - Solscan — WIF token page — on-chain verification of mint authority
null, 1B supply, 6 decimals. solscan.io/token/EKpQGSJtjMFqKZ9KQanSqYXRcF8fBopzLHYxdM65zcjm - CoinGecko listing methodology — volume requirements, review criteria, timeline expectations. coingecko.com/en/methodology
Related Topics
More guides covering the same Solana token creation, mint authority, LP burn, Raydium liquidity, and memecoin launch topics.
Get Token Verified on DexScreener: The 2026 Guide
How to get your token verified on DexScreener — the orange checkmark, DEX Paid badge, and Boost mechanics explained. Costs, submission steps, and rejection reasons.
Jupiter Strict List: Solana Token Verification (2026)
Jupiter's strict list is the de facto verification standard for Solana tokens. What it is, how to get listed, and what happens if you're not.
Transfer Mint Authority on Solana: Move vs Revoke
Transfer Solana SPL mint authority to a multisig instead of revoking — when each is right, SetAuthority mechanics, common pitfalls.
Solana Burn Wallet: What It Is, How to Verify
The Solana burn wallet (1nc1nerator) explained: what it is, why tokens sent there are gone forever, and how to verify any LP or supply burn on Solscan.
DexScreener Enhanced Token Info: How to Get It (2026)
How to get DexScreener Enhanced Token Info for your Solana token — paid path, manual review, metadata fields, and rejection reasons.
Solana LP Burn Proof: What to Share After You Burn
Burned LP only works if traders can verify it. 10-step proof checklist — what to share, in what order, on Solscan, DexScreener, TG, X.