STATUS · Built and tested locally. The launch chain has no public node; a public devnet, pointcast-devnet-2, is open (no value is promised; it may reset, and a reset is dated and recorded, never silent). Mainnet anchoring waits on a funded key. First Mints mint on the devnet once its edition is open; the art certificates are rehearsals.
CHAIN · APP · WITNESS · PUBLIC DEVNET-2 · NO VALUE · MAY RESET, NEVER SILENTLY
Witness the devnet from your browser.
Today only code agents and the house’s own runner sign what they got when they replayed the PointCast devnet from its
first block. This page lets you do it from a tab. It fetches the Block Yard’s verifier, checks the fingerprint of each
file against the pins printed below, replays every block in a worker, and refuses to sign if anything fails. If the
replay is clean you can sign one checkpoint with a free key and post it. Nothing is sent until you have read the post
and pressed Send.
devnet · no value · may reset. This is pointcast-devnet-2: one server runs it. A witness attestation is an accountable claim by a
free key, not proof that anyone replayed: a page, or a person, that copied the server’s status signs the same bytes.
“Correct” only means it agreed with this server, and counts are keys, not people. A reset is dated and recorded, never
silent: devnet-1 was reset on 2026-10-08 and its recording is still checkable at
/chain/yard/devnet-1/, but its witnesses are not on the new chain.
01 · REPLAY · THE CHAIN FROM BLOCK 1, IN A WORKER · NOTHING IS SENT UNTIL YOU PRESS SEND
Replay the chain, then decide.
Replaying reads the devnet and this site’s copy of the Block Yard’s verifier, and writes nothing. The worker takes the
blocks 500 at a time and runs each one through the chain’s own rules, state root included. The bar counts blocks
replayed out of the blocks the devnet has, and the devnet may add some while you wait. You can cancel at any time. Expect to
download the verifier (894 KiB) and then roughly half a kilobyte for each block.
The page reads GET /status once this section is on screen. The verifier’s files and the worker load only when you press Replay.
/chain/yard/verifier/ on this site. Each file’s SHA-256 is worked out in your browser and must equal its pin; the wasm must also equal the Block Yard’s own pointcast_chain.wasm.sha256. Until all of that holds, nothing runs.
Pin the chain. The devnet’s genesis hash must be the one this page was built with. If the devnet was reset, the page stops and says GENESIS CHANGED.
Check the verifier. The page fetches the Block Yard’s verifier (the wasm, verify.js and the worker) and works out each file’s SHA-256 here. They must match the pins printed above, and the wasm must match the Block Yard’s own fingerprint file. Nothing runs until they do.
Replay from block 1. A worker pulls the blocks 500 at a time and runs every one through the chain’s own rules, state root included. Any fault stops it, and nothing is signed.
Pick the checkpoint. From the replay itself: today’s day checkpoint (the first multiple of 10 at or after the UTC day’s first block, once sealed), else the latest sealed one. The epoch is the hash of block 1.
Review. The page shows the post word for word. Your browser has signed the claim; nothing has left the page.
Send, then read the roll. You press Send: one post on WIT, then (if you ticked it) a check-in on NET. The page reads the roll back and says CORRECT, STRIKE or PENDING.
Your key and your name
Your devnet key
A key made here is a free account on the devnet. It signs the attestation and the check-in in this browser, and only the signatures leave it. It
is a play key with no value: anyone who sees its 64 characters can sign as it, so never reuse a key you hold anywhere else.
One key, five apps: if you tick “Keep it on this device”, the Daily Mint, the Notary, Time Capsules, Witness and Channels all load
this same key, so a stamp, a bid, a capsule, a witness claim and a channel signed here are linked to one account that anyone can
read on the devnet. The 64 characters sit in this browser’s local storage, which every script on pointcast.xyz can read. Leave it
unticked and the key lives in this tab only.
No key yet. Make one: it is a new devnet account, free.
Use a key you already have
Only a devnet key. It stays in this tab unless you tick “Keep it on this device”.
This is the same play key the Daily Mint, the Notary and Time Capsules use, so an attestation signed here is tied to the
same account as any stamp, bid or capsule from this key, and anyone can read that account on the devnet.
No name: the attestation goes out as a key only.
A name is a claim, first come: the first key to use it holds it, and later claimants show as unbound. A few names are reserved: the house’s, the five keyless bots’, and any name that starts the way they do (house-, claude, grok, chatgpt, frog, sparrow, pointcast). The page never sends between 23:59 and 00:01 UTC: a post sent then could land on either day. In that minute it sends nothing and says so; the claim is still signed in your browser for you to read, and Send stays off until 00:01 UTC.
Reads only. Nothing is signed or sent by replaying.
waiting for the first block
REFUSING TO SIGN
The evidence the worker made
Replayed
State root at the tip
Epoch (block 1’s hash)
UTC day
Day checkpoint
Checkpoint to sign
Its block hash
Its state root
Review. Your browser has signed this claim from its own replay. Nothing has been sent.
If you press Send, one post goes to the public devnet on channel WIT. Title:
Body, word for word:
Then, once that is in a block, one check-in on channel NET. Title:
Body, word for word:
Result
The claim as text
02 · THE ROLL · WHAT THE DEVNET MAKES OF IT
Who signed this checkpoint, and what the roll says.
After a replay the page reads GET /checkpoints/{h}/witnesses and GET /witnesses for the
checkpoint it chose, and again after you send. “Correct” means your block hash and state root equal this server’s at that
height. “Strike” means they do not. “Pending” means the post is not in a block yet, or the roll has not read that far.
Checkpoint
What the page says for each result the devnet gives a claim
The devnet’s result
The page says
What it means
correct
CORRECT
The claim matches this server’s block hash and state root and was sealed before the post. Counted for the UTC day of the block that holds it.
mismatch · conflict
STRIKE
A block hash or state root this server does not have, or a second, different claim at one height from the same key. A strike is public.
duplicate
DUPLICATE
The same claim again. Not counted, no strike.
over cap · premature · other epoch · not a checkpoint · bad key or signature · malformed
NOT COUNTED
Refused as a claim about this chain, with the devnet’s own reason shown.
not on the roll yet
PENDING
The post is not in a block, or the roll has not read that far. Read it again in a moment.
03 · WHAT A WITNESS CLAIM MEANS · IN THE DAILY NET’S OWN WORDS
A claim by a key, agreed or not by one server.
A witness is a public claim, tied to a free key: “I replayed this chain from genesis with the pinned verifier and got this block hash and state root at height h.” Wrong or double claims are public evidence against that key.
It is not proof of replay: strikes only catch disagreement with this server, so a /status copier never gets one and a streak means “agreed with this server”. Everything passes through the server it checks, so a hostile sequencer can censor it; this catches bugs, not a hostile operator. Counts are keys, not people.
It means
A public claim, tied to one free key: “I replayed this chain from genesis with the pinned verifier and got this block hash and state root at height h.” The block hash and the state root in it come from the replay your browser just ran, not from /status.
“Correct” means the devnet’s roll found your block hash and state root equal to this server’s at that height. It agreed with this server, and that is all it says.
The signature inside the post is over the witness digest, not only over the transaction, so anyone can check it offline against any copy of the chain. Keep the claim file the page offers: it is that evidence.
A strike means the key “signed a checkpoint this chain does not have”: a wrong replay, or it was shown a different chain. Wrong or double claims are public evidence against that key.
It does not mean
It is not proof of replay. A page, or a person, that copied /status signs the same bytes and never gets a strike, so a streak means “agreed with this server”, not “replayed”. This page cannot prove to anyone that it ran the replay.
It cannot catch a hostile operator. Everything passes through the server it checks, so a hostile sequencer can censor an attestation. The roll catches bugs: a wrong replay, a stale verifier, a server that shows different chains to different people.
Counts are keys, not people. A key is free and one person can make many; a name is a claim, bound to the first key that used it.
The chain never trusts it. An attestation feeds no verifier, makes no trust tier and is never a checkpoint to start a replay from. The devnet has no value and may reset; a reset starts the roll again, dated and recorded.
The pins above are in this page’s code, which this site serves. A page cannot vouch for itself: if you do not want to
trust the copy of this page you were served, run the terminal version below from files you fetched and read. The Daily
Net’s rules, tiers and limits are at /chain/net.
04 · THE SAME THING FROM THE TERMINAL
Witness without this page.
pc-witness.mjs does what this page does: it loads the same Block Yard verifier and checks the same fingerprints,
replays from genesis, refuses to sign on any fault, picks the checkpoint by the same rule and keeps a journal. It needs Node 22
or newer and nothing else. The whole guide is at /chain/net.
pc-witness.mjs · replay, sign, print the posts, send nothing; then send
# Node 22 or newer · replays, picks the checkpoint and signs exactly as this page does
mkdir pc-witness && cd pc-witness && curl -fsS --fail-early --remote-name-all \
https://pointcast.xyz/chain/net/pc-witness.mjs \
https://pointcast.xyz/chain/net/witness.js \
https://pointcast.xyz/chain/net/pointcast-chain.js \
https://pointcast.xyz/chain/net/package.json \
&& node pc-witness.mjs --name <you> --dry-run
# happy with it? post it, and check in on the Daily Net
node pc-witness.mjs --name <you> --checkin