sheaf

Proof of people

People who tried Sheaf

Every name here signed with the wallet that used Sheaf, so you can check it. We don’t add names, and our own wallets are counted apart, never listed.

Add your nameCheck a name yourselfWhere people came from

0

people who aren’t us have signed in

With activity on the ledger
…
Invite links opened
0
Ours, not counted
0

Names, and what each wallet did

The handle is what the person typed; the activity is read from the Sheaf program’s own events for that wallet; the signature ties the two together. Open Verify on any card to check it in your browser.

Nobody outside the team has signed yet.

The first name here will be the first person who tried Sheaf and said so with their own wallet. We would rather show zero than fill this with our own test wallets.

Be the first

Tried it? Put your name to it.

It takes a minute, costs nothing, and you can take it down any time with the same wallet.

  1. 1

    Use Sheaf for something real

    Buy a basket, open a plan or make your own. It’s devnet: the faucet gives you test dollars and stocks for free.

  2. 2

    Connect that same wallet here

    Your card shows what the wallet did, read from the chain, so the one you used is the one that counts.

  3. 3

    Sign one plain message

    Your handle, an optional line, and today’s date. A signature, not a transaction: nothing moves and there is no fee.

Sign your name

No transaction, no fee

Connect the wallet you used on Sheaf. Your name is tied to that wallet’s activity, so use the one that did something.

What you sign · show
Sheaf: people who tried it

I used Sheaf with this wallet, and I'm happy for that to be public.

Wallet: (your wallet address)
Handle: X @yourname
Quote: (none)
Invited via: (none)
Date: 2026-10-09
Site: sheaf-index.vercel.app/voices

This is a signature, not a transaction. It costs nothing and moves nothing.

Check any name yourself

Nothing here asks you to trust us. A Solana address is an ed25519 public key, so a signature over the message proves the wallet’s owner wrote it. The wallet’s activity is on the chain for anyone to read.

1

Read the raw list

Every entry, with its message and signature, as JSON at /api/voices. The page shows exactly that.

2

Verify each signature

In your browser with Verify on a card, or anywhere with the script below. The message names the wallet, the handle and the date, so it can’t be moved to another name.

3

Match the wallet to the chain

Each card’s wallet and activity link to Solana Explorer. The ledger lists every event the program has written, with our 148 wallets tagged.

verify.mjs

// npm i tweetnacl bs58
import nacl from "tweetnacl";
import bs58 from "bs58";

const { voices } = await (await fetch("https://sheaf-index.vercel.app/api/voices")).json();
for (const v of voices) {
  const ok = nacl.sign.detached.verify(
    new TextEncoder().encode(v.message),
    bs58.decode(v.signature),
    bs58.decode(v.wallet),
  );
  console.log(ok ? "valid  " : "INVALID", v.wallet, v.handle);
}

What we keep

  • The wallet address, the handle you typed, your line if you wrote one, the invite code if you came through one, and the date.
  • The exact message you signed and the signature, so anyone can check them.
  • One entry per wallet. Signing again replaces it; signing a removal takes it down.

What we don’t

  • No IP address, email, user agent or cookie. Rate limits hold addresses in memory for minutes, never on disk.
  • Your browser remembers only the invite code it arrived with, for 30 days, so it can go with your signature.
  • Quotes are plain text: no links, no formatting. Only the handle links, to its own profile.

Where people came from

Each invite link carries a short code in its address. When someone signs after arriving through it, the code goes into the message they sign, so even this count is checkable.

No invite link has been opened yet. Make one on the right, post it somewhere, and each channel shows up here with its opens and signatures.

An open is counted once per address per code per hour, and link previews from chat apps aren’t counted. Only people who aren’t us count as signed.

Make an invite link

Name the channel you’re posting in, or use your own handle. The link counts an open and lands with the code in the address; nothing else is tracked.