Metaplex
metaplex.com · NFT · Solana · data checked 2026-10-20 15:15 (Stockholm)
Contact route: on-chain security.txt (program) ↗
Not claimed Automated from public data
Produced automatically from public data on 2026-10-20 (method v0.2.6). It shows how much of this project’s control structure, code and contact information could be checked from public sources. No person selected or adjusted it, and nothing a project does or pays changes it. It is not a security audit.
Beta: the method is still being calibrated, so this automated score may contain errors. Send a correction.
Transparency score, not a security audit. Scores are generated automatically from public data (Solana RPC, OtterSec build registry, GitHub, project websites). Projects are not involved unless a page is marked “Claimed”, and claiming never changes a score. Nothing here says a project is safe. How scores are made → · Corrections, right of reply & opt-out →
- Onchain: strongest Audits; weakest Contract control; missing data in Team & contact.
Something wrong on this page? Dispute a check or send a correction · opt-out. We re-run the check and correct the page.
What was checked: addresses & sources
metaqbxxUerdq28cj1RbAWkYQm3ybzjb6a8bt518x1s(program) — source: https://www.metaplex.com/docs/official-linksCoREENxT6tW1HoK8ypY1SxRMZTcVPm7R94rH4PZNhX7d(program) — source: https://www.metaplex.com/docs/official-linksMETAewgxyPbgwsseH8T16a39CQ5VyVxZi9zXiDPY18m(token mint) — source: https://www.metaplex.com/docs/official-links
Website metaplex.com · GitHub metaplex-foundation/mpl-core. Addresses are used only if they appear verbatim on an official project page.
Onchain track
Contract control weight 3013.8/30
- ✓ Met
Upgrade authority metaqb…
Upgrade authority is revoked: program is immutable. Address taken from official source: https://www.metaplex.com/docs/official-linkswww.metaplex.com ↗Explorer ↗Explorer ↗RPC call (getAccountInfo) checked 2026-10-20sha256 1cde056b46d3…sha256 45e66023f9a5… - ✕ Not met
Build matches source (OtterSec registry) metaqb…
OtterSec registry: 1 build submission(s) exist (https://github.com/Ellipsis-Labs/phoenix-v1), but none matches the current on-chain program hash (8fdb14984e47…) — the program is immutable (no upgrade authority), so this is not caused by a later upgrade: the registry has no build matching this exact code. We found no registry record that the deployed code was built from the public source.OtterSec registry ↗OtterSec registry ↗GitHub ↗ checked 2026-10-20sha256 83080549b1fc…sha256 8fc2b758c975…What would show up as met
- Build the program reproducibly from your public source with the Solana verifiable-build tooling (
solana-verify). - Submit the build to the registry so that it appears in the OtterSec registry (verify.osec.io). The check reads that registry; it does not rebuild anything itself.
How we check: We ask the OtterSec build registry (verify.osec.io, a third party) whether the deployed program matches a build from the public source. We report what the registry says; we do not rebuild or vouch for anything ourselves. Any registry entry that matches the program’s current on-chain hash counts, not only the registry’s default entry (method 0.2.5). This is what the check looks for. It makes no promise about a score or grade, and claiming or paying never changes a score.
- Build the program reproducibly from your public source with the Solana verifiable-build tooling (
- ◐ Partial
Upgrade authority CoREEN…
Upgrade authority is bfQVv6niKVgEURYqQ1beJmiEQQN7MrvLRvk3mZGFubb: Squads v3 multisig EADFTJ9b… with threshold 2 of 5 voting member(s) (5 total) (established by re-deriving the vault address from the multisig; found in upgrade history tx 44tx4HUP…). Member independence not established. Address taken from official source: https://www.metaplex.com/docs/official-linkswww.metaplex.com ↗Explorer ↗Explorer ↗Explorer ↗ checked 2026-10-20sha256 ea4a277dfdc3…sha256 834b2412fcfe…What would show up as met
- If the program is final, revoke the upgrade authority. It then reads as immutable.
- Otherwise move the authority to a multisig or a DAO. For a multisig, use a threshold of at least 2, add a time lock, and do not keep a separate config authority that can change members without a vote.
- Publish the multisig or DAO address on your own website so the page and the on-chain account can be tied together.
How we check: We read the program’s upgrade authority on Solana (public RPC) and recognise Squads, Serum-style multisigs and SPL Governance accounts. This is what the check looks for. It makes no promise about a score or grade, and claiming or paying never changes a score.
- ✕ Not met
Build matches source (OtterSec registry) CoREEN…
OtterSec registry: 1 build submission(s) exist (https://github.com/metaplex-foundation/mpl-core/tree/8c5cee35199a7d103e181de7b13f2e20b1e20103), one signed by the current upgrade authority, but none matches the current on-chain program hash (af40bd111c78…) — one possible reason is an upgrade after the submission. We found no registry record that the deployed code was built from the public source.OtterSec registry ↗OtterSec registry ↗GitHub ↗ checked 2026-10-20sha256 8ab7dbda13ab…sha256 9d2d2353f130…What would show up as met
- Build the program reproducibly from your public source with the Solana verifiable-build tooling (
solana-verify). - Submit the build to the registry so that it appears in the OtterSec registry (verify.osec.io). The check reads that registry; it does not rebuild anything itself.
How we check: We ask the OtterSec build registry (verify.osec.io, a third party) whether the deployed program matches a build from the public source. We report what the registry says; we do not rebuild or vouch for anything ourselves. Any registry entry that matches the program’s current on-chain hash counts, not only the registry’s default entry (method 0.2.5). This is what the check looks for. It makes no promise about a score or grade, and claiming or paying never changes a score.
- Build the program reproducibly from your public source with the Solana verifiable-build tooling (
- ◐ Partial (25 %)
Mint authority METAew…
BHkk3RTd4Ue6JnqXpa9QHTXbn575ycR8hxVmYx4E254k: SPL Governance (Realms-style) native treasury — governance account 7CYNe28Z… of program AEauWRrp…, realm “Metaplex DAO” (established by re-deriving the authority from that governance account, found in tx 47gZTCo6…). Upgrades need a passed proposal: community vote 60 % yes votes, council vote 60 % yes votes, voting time 3 d, execution hold-up time 0. Council token 2QCBuAJV… total supply 5 (holder list not retrievable from the public RPC). Reduced credit (25 % instead of 50 %): a passed proposal can be executed immediately, with no hold-up time in which holders could react. The governance program AEauWRrp… can itself be upgraded by AF5dAqSr… (Squads v3 multisig FH1hi7zk… with threshold 3 of 5 voting member(s) (5 total)). Address taken from official source: https://www.metaplex.com/docs/official-linkswww.metaplex.com ↗Explorer ↗Explorer ↗RPC call (getAccountInfo) checked 2026-10-20sha256 c57faf25d818…sha256 8661ee8f3b14…What would show up as met
- If no more tokens will ever be minted, revoke the mint authority. It then reads as met.
- If minting must stay possible, move the authority to a multisig (threshold 2 or more, time lock) or a DAO and publish that address on your site.
How we check: We read the mint account on Solana (public RPC). This is what the check looks for. It makes no promise about a score or grade, and claiming or paying never changes a score.
- ✓ Met
Freeze authority METAew…
Revoked. Address taken from official source: https://www.metaplex.com/docs/official-linkswww.metaplex.com ↗Explorer ↗RPC call (getAccountInfo)RPC call (getSignaturesForAddress) checked 2026-10-20sha256 c57faf25d818…sha256 8661ee8f3b14…
Audits weight 1515/15
- ✓ Met
Linked audit
Document reachable; hosted by the project (own GitHub org or domain) and names an auditor (ottersec, osec.io, sec3), but the program ID is not in the page text (PDF text not parsed). Date vs. last upgrade not checked. Quality not assessed. Counted as Met (method 0.2.4): audits by at least 2 distinct firms (accretion, madshield, ottersec, sec3) were found at official sources of the project; the program ID is not required in that case. Quality, scope and date still not assessed.
Code openness weight 1513.1/15
- ✓ Met
Public repository
metaplex-foundation/mpl-core public, created 2024-01-31, 15 contributor(s) (count only).GitHub ↗api.github.com ↗api.github.com ↗ checked 2026-10-20sha256 caff9e508038…sha256 03807f5f7eb0… - ◐ Partial
Licence
SPDX: NOASSERTION. A licence file exists but GitHub could not match it to a standard licence (custom/source-available terms); not assessed.GitHub ↗api.github.com ↗api.github.com ↗ checked 2026-10-20sha256 caff9e508038…sha256 03807f5f7eb0…What would show up as met
- Add a standard licence file (for example Apache-2.0 or MIT) that GitHub recognises.
- Custom or source-available terms are shown as partial: we do not judge them.
How we check: We read the licence field GitHub detects. This is what the check looks for. It makes no promise about a score or grade, and claiming or paying never changes a score.
- ✓ Met
Activity last 90 days
Last push 2026-10-10 (9 d ago).GitHub ↗api.github.com ↗api.github.com ↗ checked 2026-10-20sha256 caff9e508038…sha256 03807f5f7eb0… - ✓ Met
On-chain program source public
2/2 own program ID(s) found in public source: metaqb… in https://github.com/metaplex-foundation/mpl-core; CoREEN… in https://github.com/metaplex-foundation/mpl-core. Repos searched (shallow clone, text search for the program ID): https://github.com/metaplex-foundation/mpl-core. Does not prove the deployed binary matches (see the build check).
Onchain history weight 107.5/10
- ✓ Met
Last deploy metaqb…
Last deploy 2025-11-17 (336 d ago).Explorer ↗RPC call (getAccountInfo)RPC call (getBlockTime)OtterSec registry ↗ checked 2026-10-20sha256 1cde056b46d3…sha256 45e66023f9a5… - ○ Not built
Program age / upgrade count metaqb…
Full history scan (first deploy, upgrades in 30 d, authority changes) needs an indexer (e.g. Helius); not available on public RPC.Explorer ↗RPC call (getAccountInfo)RPC call (getBlockTime)OtterSec registry ↗ checked 2026-10-20sha256 1cde056b46d3…sha256 45e66023f9a5… - ◐ Partial
Last deploy CoREEN…
Last deploy 2026-10-09 (10 d ago). Upgraded within the last 30 days.Explorer ↗RPC call (getAccountInfo)RPC call (getSignaturesForAddress)RPC call (getTransaction) checked 2026-10-20sha256 ea4a277dfdc3…sha256 834b2412fcfe…What would show up as met
- Nothing to configure: a deploy more than 30 days ago reads as met, a more recent deploy as partial because the code changed recently.
How we check: We read the last deploy time on Solana. This is what the check looks for. It makes no promise about a score or grade, and claiming or paying never changes a score.
- ○ Not built
Program age / upgrade count CoREEN…
Full history scan (first deploy, upgrades in 30 d, authority changes) needs an indexer (e.g. Helius); not available on public RPC.Explorer ↗RPC call (getAccountInfo)RPC call (getSignaturesForAddress)RPC call (getTransaction) checked 2026-10-20sha256 ea4a277dfdc3…sha256 834b2412fcfe…
Team & contact weight 15 · 1 unknown7.5/15
- ✕ Not met
Security contact (security.txt)
No valid security.txt at /.well-known/security.txt or /security.txt (200).What would show up as met
- Publish a text file at https://your-domain/.well-known/security.txt (or /security.txt) with a
Contact:line, for exampleContact: mailto:security@your-domain. - RFC 9116 also asks for an
Expires:line. We look only forContact:, but addExpires:too so the file stays correct.
How we check: We fetch the two standard locations over HTTPS. This is what the check looks for. It makes no promise about a score or grade, and claiming or paying never changes a score.
- Publish a text file at https://your-domain/.well-known/security.txt (or /security.txt) with a
- ? Unknown
Bug bounty programme linked
No bug-bounty link found on homepage (raw + rendered), sitemap or security.txt. Not checked deeper (docs sites, Immunefi search) — counted as unknown, not as missing. Also checked: Immunefi public list: no active programme matched; no on-chain security.txt in metaqb…; CoREEN… security.txt has a disclosure contact (email:security@metaplex.foundation) but no bounty.metaplex.com ↗metaplex.com ↗metaplex.com ↗metaplex.com ↗ checked 2026-10-20sha256 302569f2c085…sha256 581173093b9c…What would show up as met
- Link your bug bounty (for example an Immunefi, HackerOne or Cantina page, or a /bug-bounty page of your own) from the homepage, the sitemap or your security.txt.
- “Unknown” here means we found no link. It does not mean you have no programme.
How we check: We look at the homepage links (also as rendered in a browser), sitemap.xml and security.txt, and at Immunefi’s public list for on-chain security.txt names. This is what the check looks for. It makes no promise about a score or grade, and claiming or paying never changes a score.
- ℹ Status only
Claimed / not claimed
Status only, not scored: claiming proves control of an authority, domain or GitHub organisation and never changes a score. The status is shown in the page header.source: calculated from the other checks checked 2026-10-20 - ○ Not built
Team declared (voluntary, with consent)
Team declaration + consent flow not built — excluded.source: calculated from the other checks checked 2026-10-20 - ℹ Status only
Components declared complete by the project
Status only, not scored (it used to be scored, which made pages that are not claimed systematically lower; removed 2026-10-15). Other programs/packages may exist that were not submitted.source: calculated from the other checks checked 2026-10-20 - ◐ Partial
Program embeds security.txt
1/2 own program(s) embed a solana-security-txt block with contacts (CoREEN…).What would show up as met
- Embed a security.txt block in the program with the
solana-security-txtcrate: name, project_url, contacts and policy. Redeploy to publish it. - This also tells us which programs belong to you, and which are shared programs that do not.
How we check: We read the program account on Solana (public RPC). This is what the check looks for. It makes no promise about a score or grade, and claiming or paying never changes a score.
- Embed a security.txt block in the program with the
- ✓ Met
Official program address list
metaqb… published on project domain (https://www.metaplex.com/docs/official-links); CoREEN… published on project domain (https://www.metaplex.com/docs/official-links).
Legal documents weight 1010/10
- ✓ Met
Terms & privacy policy present
Terms: https://metaplex.com/terms-of-use; privacy: https://metaplex.com/privacy (homepage links, sitemap.xml, common paths). Content not assessed.metaplex.com ↗metaplex.com ↗metaplex.com ↗metaplex.com ↗ checked 2026-10-20sha256 302569f2c085…sha256 581173093b9c… - ○ Not built
Registered legal entity
Not stated.source: calculated from the other checks checked 2026-10-20 - ✓ Met
Legal entity named in terms
Terms/privacy text names “Metaplex Global Ltd” (https://metaplex.com/terms-of-use). Not checked against a company registry.
Domain weight 54.4/5
- ✓ Met
HTTPS
https://metaplex.com answered HTTP 200 over TLS.metaplex.com ↗metaplex.com ↗metaplex.com ↗metaplex.com ↗ checked 2026-10-20sha256 302569f2c085…sha256 581173093b9c… - ◐ Partial
Security headers
Present: HSTS, X-Content-Type-Options, X-Frame-Options. Missing: CSP.metaplex.com ↗metaplex.com ↗metaplex.com ↗metaplex.com ↗ checked 2026-10-20sha256 302569f2c085…sha256 581173093b9c…What would show up as met
- Send these four response headers on your homepage: Strict-Transport-Security, Content-Security-Policy, X-Content-Type-Options and X-Frame-Options.
- The check looks only at whether each header is present, not how strict it is.
How we check: We read the headers of one homepage request. This is what the check looks for. It makes no promise about a score or grade, and claiming or paying never changes a score.
- ✓ Met
Domain age
Registered 2003-12-04 (~8355 d), source: RDAP (rdap.org). Registrant data ignored. - ✓ Met
Domain ↔ components consistency
Linked: address metaqb… published on metaplex.com (https://www.metaplex.com/docs/official-links); address CoREEN… published on metaplex.com (https://www.metaplex.com/docs/official-links); address METAew… published on metaplex.com (https://www.metaplex.com/docs/official-links); GitHub org name matches domain (weak)source: calculated from the other checks checked 2026-10-20
Snapshot hash of monitored fields: 105ded803a66afa8
AI summaries
Generated with Grok 4.7 (xAI), Claude sonnet-5-5 (Anthropic) and GPT-6.1-sol (OpenAI) via their APIs. xAI, Anthropic and OpenAI have not reviewed, approved or sponsored Recheckable. AI-generated text; models see only extracted check results, never project-supplied text or personal names. They do not affect the score. Some text on this site (summaries and reports) is AI-generated and labelled where it appears. Scores and check results come from fixed code, not from AI. Scores are produced automatically from public data and are not reviewed by hand before they are shown; cases that the automatic checks flag are held for a person.
Template summary (deterministic)
Onchain track: band B (70/100, coverage 96 %, onchain v0.2.6). Strongest: Audits, Code openness, Legal documents, Domain. Weakest: —. 1 check(s) unknown (each costs 1.5 points); 0 not read (no points lost, lowers coverage); 4 not built yet (excluded).
Grok (xAI)
Placeholder — no API key configured for this model in the PoC.
Claude (Anthropic)
Placeholder — no API key configured for this model in the PoC.
GPT (OpenAI)
Placeholder — no API key configured for this model in the PoC.
Regulatory information
The project has not declared any regulated-activity types, so no rules are listed.
Law firms (free listing, alphabetical, no ranking)
- Delphi — Stockholm, Blockchain law (self-described)
- Gernandt & Danielsson — Stockholm, Fintech (self-described)
- Magnusson — Stockholm, Fintech (self-described)
- Mannheimer Swartling — Stockholm, Fintech (own practice page to be confirmed) (self-described)
- Setterwalls — Stockholm, Fintech (self-described)
- Vinge — Stockholm, MiCA (own practice page to be confirmed) (self-described)
Recheckable has no financial relationship with the listed firms and receives no fee per contact. Paid placements, if ever introduced, are marked “Ad” and never shown next to low scores.
Score history
Automated score at each published review, newest on the right. The line steps at the date of a review; between reviews the score is unchanged.
◆ 2026-10-19: the scoring method changed from v0.2.5 to v0.2.6. A score change at that point can come from the method and not from the project.
Data table
| Review | Track | Score | Grade | Coverage | Method |
|---|---|---|---|---|---|
| 2026-10-15 | onchain | 70/100 | B | 96 % | v0.2.5 |
| 2026-10-19 | onchain | 70/100 | B | 96 % | v0.2.6 |
| 2026-10-20 | onchain | 70/100 | B | 96 % | v0.2.6 |
Check changes between reviews
- 2026-10-20 · onchain Upgrade authority metaqb…: Partial → Met www.metaplex.com ↗ Explorer ↗
- 2026-10-20 · onchain Last deploy metaqb…: Partial → Met Explorer ↗
- 2026-10-19 · onchain Upgrade authority metaqb…: Partial → Met method changed www.metaplex.com ↗ Explorer ↗
- 2026-10-19 · onchain Last deploy metaqb…: Partial → Met method changed Explorer ↗
History
- 2026-10-20 15:15Forced fresh run (same result; fresh evidence snapshots): onchain B (70, coverage 96 %)
- 2026-10-19 13:56Forced fresh run (same result; fresh evidence snapshots): onchain B (70, coverage 96 %)
- 2026-10-18 08:10Method 0.2.4: audits by 2+ distinct firms at official sources count as Met; an unreadable token mint is Not read. Re-scored from the stored checks, no new data.
- 2026-10-15 10:16Method 0.2.1: the scope declaration and claim status are status-only (never scored). Re-scored from the stored checks, no new fetch. Before: C 61 (cov 92 %); after: C 62 (cov 96 %).
- 2026-10-15 07:29Initial review (operator-run): onchain C (61, coverage 92 %)
Project's own statements and reply
Does your team control the upgrade authority, official domain or GitHub organisation of this project? Claim this page (free, about a minute; it never changes a score).
For project owners: badge
Status: Active. The badge says “no changes since review”, never “safe”.
Badges are for claimed projects. The embed code is available after the page has been claimed (free, about a minute; claiming never changes the score). Claim this page
Re-checks are rate-limited (once per 10 minutes). Restoring a grey badge requires a full review.