Verify
When a new account arrives with a PCOC, this is what a service's gate measures before its policy decides who gets in.
A PCOC is a self-issued identifier backed by memory your device held while Bitcoin's blocks passed.
Check one here and see what any service would measure. It checks; it does not admit anyone.
Each service's own admission gate decides.
What you're looking at
This is groundinglab's own PCOC, for its official public key (npub).
It was made on 2026-10-11, over 18 Bitcoin blocks.
16 of 16 recorded points are anchored in Bitcoin.
npub1w7akvpek7zp7wwyhmryswc33p9f45wv2cj65gz663kdgqm333g7q0t3pme
This is the same key shown in the footer, and the key groundinglab@groundinglab.io resolves to.
The making is split into legs, each ending in a leg result.
Points recorded during the making are anchored, meaning fixed in a Bitcoin transaction.
- Made over
- 18 Bitcoin blocks (970874 to 970892)
- Legs
- 4721
- Span
- 11023 seconds
- Anchored points
- 16 of 16
- Recorded
- 2026-10-19
- Spot-check
- 6 legs redone, all matched
sha256 cb673b73ad6cd7453397910e2f19273c2ebea0e2593c0fa24d5849f0c1b6ade1
This is groundinglab's own PCOC. Download it and check it yourself with the checker below. You can verify it, but you can't sign in with it: signing in needs the private key, and only groundinglab holds the key for this one, so only groundinglab can sign for it at the admission gate. To sign in, make your own.
What was checked
The lines are measurements, not a decision to let anyone in.
- Recorded measurement, 2026-10-19.The day this measurement was recorded.
- The private key was not used.The check did not need the maker's key.
- This is not a decision to let anyone in.Nothing here grants or refuses entry.
- The shape matches.The PCOC has the fields this check expects.
- The block times match groundinglab's hosted index of Bitcoin's record. Anyone can check Bitcoin directly.The times were checked against that index.
- A sample of the legs was redone and matched (6 of 4721).That sample matched. It is not the whole making.
- 16 of 16 recorded points are anchored in Bitcoin.That many points are fixed in a Bitcoin transaction.
- The check redoes a sample, so a skipped part of the making is designed to show up.
What a service would do with this
These are the measurements a service receives.
Refusing a bad PCOC costs far less than making one.
Confirming a PCOC redoes a sample of the making, and that still costs less than making it. Why does the check cost less than the making?
A service's admission gate takes this measurement and applies its own policy.
The measurement is not the admission decision. Admission gate
Verification and admission are separate steps.
This check records measurements; a gate then compares them with its policy.
groundinglab's gate settings: its live policy gl-admit-v12 asks for at least 0.1 legs per second over the making (one leg every 10 seconds, testing), at least 6 anchored points, and no tip-versus-last-beacon submission deadline.
It also checks one randomly placed leg in each stage, so every stage gets checked.
The exact count is set by the service's policy.
These are groundinglab's settings, not rules of the specification. Why we chose these numbers.
A service's gate can refuse or revoke a PCOC under its own policy.
Full record
For developers
Verifier https://verify.groundinglab.io POST /v1/verify
This report shows what was measured. It is not an admission decision.
Run the known-good check
Nothing here needs a key. The download in step 3 is the previous-version object this page shows. A current verifier records an unknown kind for it and does not fetch an index. The known-good check is the Go quickstart at tag sdk/go/v2.3.1. It measures the pinned conformance object and does not read the downloaded file.
Command names checked against tag sdk/go/v2.3.1 on 24 Oct 2026. This page was not run as a build on that date.
1. Install Go, git and curl
sudo apt update
sudo apt install -y golang-go git curl2. Get the code
git clone https://github.com/groundinglab/pcoc.git
cd pcoc
git checkout sdk/go/v2.3.1
cd sdk/go3. Download groundinglab's own PCOC
This is the object the report above shows. The next step does not read it.
curl -fLO https://groundinglab.io/verify/groundinglab.pcoc.cbor4. Run the quickstart
It checks the conformance pack. It does not read the downloaded file, and it does not time the run.
go run ./cmd/pcoc quickstart5. Check the result
Six lines. The second line names the SHA-256 backend on your machine. This example is reference system 3.
Expected output
pcoc 2.3.1 (go) spec-2.3.0 pack 91ded57e5c05b7cb: pin match
kernel scalar, sha256 sha-ni
O1-S1 object sha256 800ad07a87a567c835f539617b61ccddc96a0a984425675a5ece971162dfd246
O1-S1 six_leg match, checkpoints match, waypoints match
negatives 13 non-match
PROD leg 0 legs_le_hex 88a04ac5beacb8a7