Verify, don't trust.

Shield Audit

An independent integrity monitor for Shielded Ordinals. It recomputes the state digest independently and hunts for duplicate pieces.

Shielded Nakas · by Ord Dropz · read-only, audited every 10 minutes · All checks passed · Signed with Ed25519 · timestamped on Bitcoin

Check my Naka

Is your piece safe? Check it in one tap.

Looks your piece up in the latest audit: mints, listings and sales, plus every collection-wide check.

Shield Audit never sees who owns a piece. This checks the piece, not the wallet.

Block Line

Waiting for the live chain height…

The audited snapshot against the live chain, updated with every /status poll.

Next check in --:--:--

Checking chain status…Last published —

Snapshot—
Audited snapshot — Snapshot
Next check —

Live chain status · no key needed

What the indexer says right now.

Polls /status every 30 seconds; names and collection data refresh only when a new block lands.

Connecting… Indexer: shielded-ordinals indexer
—Last block
—Notes
—Names
—Checkpoint height
Collection Supply loading…
—
Block hash Opens on mempool.space
—
State digest From /status
—
Names digest From /names/info
—

The audit

Six checks, recomputed independently.

Audited automatically by Swanix · refreshed every 10 minutes · last run — at block —

—a · digest

Digest match

—

—b · counterfeit

Duplicate watch

—

—c · supply

Supply cap

—

—d · art

Art integrity

—

—e · nullifiers

Nullifier uniqueness

—

—f · listings

Listing sanity

—

Market X-ray · from the same audit

Sales, volume and floor.

—

—Sales
—Volume, BTC
—Average sale, BTC
—Highest sale, BTC
—Active listings
—Floor, BTC
—Claims
—Private transfers
—Listings ever

Owners stay private — this reads only public data.

Deep Audit · indexer full state

Deep Audit.

Things most audit pages never show: the cryptographic plumbing, the double-spend guards and the privacy hygiene, recomputed from the indexer's full state.

Audit grade

One grade, from the nine named checks and the anomaly log.

Grade not computed yet

—

How the grade is scored
  • A+ All 9 checks pass and the anomaly log is empty.
  • A All 9 checks pass, but anomalies were logged.
  • B 1 check fails.
  • C 2 checks fail.
  • F 3 or more checks fail, or any critical check fails: rootMatchesNotes, commitmentsUnique, soldClaimedSpent or noDupListingNullifiers. A critical failure overrides every other rule.

Protocol health

Is the indexer current, how big is the crowd, and is anything stuck in escrow?

Indexer lag—

—blocks behind Bitcoin tip

indexed — · tip —

at snapshot

Anonymity set

—unspent notes each spend can hide amongof — notes

    A larger set means stronger privacy for the next spend.

    Stale escrow watch

    —listings escrowed over a week

    Median age —

      Check 1 of 7

      Merkle tree & commitment integrity

      Hash propagation · leaf → root

      Latest root —

      Tree leaves per block

      Check 2 of 7

      Shielded pool & nullifier double-spend guards

      Notes spent vs unspent

        Double-spend guards

        Notes per transaction · log scale

        Check 3 of 7

        Supply map · mint range and unminted IDs

        IDs 0 to 3,332

        Check 4 of 7

        Indexer coverage timeline

        Events per 50-block bucket

          Check 5 of 7

          Listing escrow & state consistency

          Listing lifecycle

          Check 6 of 7

          Privacy hygiene

          Check 7 of 7

          Verification terminal & consistency verdict

          shield-audit — verify
          
                      

            Audit trail

            Consecutive clean audits

            Every audit run · oldest to newest

            Named checks

              Notes and nullifiers across runs

              Anomaly watch

              Anything that should never happen, logged.

              Watched each run: note or nullifier counts falling, the root changing without new leaves, indexer height going backwards, and any check flipping.

              Anomaly log · newest first

              Signed report

              Recompute the hash, verify the audit.

              Report SHA-256

              —
              1. Canonicalise
              2. Hash
              3. Compare

              Hash = SHA-256 of the canonical report core (sorted keys); anyone can recompute it.

              Audit certificate

              One A4 page with the verdict, all 15 checks, key numbers, signature and Bitcoin timestamp, built in your browser from this run.

              Signed report · proof

              Proof of authorship & time

              The signature proves this report was published by Shield Audit and not altered. The Bitcoin timestamp proves it existed at that block, so it can't be backdated or quietly rewritten.

              Digital signature (Ed25519)

              Shield Audit public key

              —

              Signature over reportSha256 as UTF-8 text

              —
              1. Recompute hash
              2. Check signature

              Runs in your browser: no network requests.

              Bitcoin timestamp (OpenTimestamps)

              Share card

              Post your result.

              Every line below comes from the latest scheduled audit.

              Shield Audit

              —

              —

                —

                Post on X

                How it works

                A scheduled job does the work; this page shows the result.

                Every 10 minutes. Swanix's key stays on the server and never touches this page.

                01

                Fetch

                Fetch the full public state

                A scheduled server-side job calls GET /state and GET /pieces/info with Swanix's key: roots, notes, nullifiers, mints and listings. Nothing private, no owners.

                02

                Recompute

                Recompute the SHA-256 digest independently

                The job rebuilds the digest exactly as the spec defines it and compares it with what the indexer publishes.

                03

                Scan

                Scan for duplicates and double-spends

                The same piece listed or minted twice, or a nullifier used twice, is what a forged proof would leave behind.

                04

                Publish

                Publish the result here

                The results replace the audit data on this page. Live chain status still comes straight from the keyless /status endpoint.

                Why this monitor exists

                The protocol docs note that the proving system's trusted setup had a single contribution. If that secret was ever kept, someone could forge proofs. Forgeries can't be seen directly, but they would show up as duplicate pieces or reused nullifiers — so this page watches for exactly that.