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.

Check a name yourself

Signed names, checkable by anyone.

One signature from the wallet ties a name to what that wallet did on Sheaf; Verify on each card checks it in your browser. 1 person signed and is waiting for a first action.

Add your name

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, make your own or swap on a basket’s launch. It’s devnet: the faucet gives you test dollars and stocks for free.

  2. 2

    Connect that same wallet here

    Your name is listed once that wallet has done something on Sheaf, and the card shows what.

  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 listed once that wallet has done something here, so use the one that did.

What you sign · show
Sheaf: people who tried it

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

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

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

Names, and what each wallet did

A name is listed only after its wallet has done something on Sheaf: a program event, or a swap on an official launch pool. The handle is what the person typed, so it says self-reported unless it was proven on GitHub. Open Verify on any card to check the signature in your browser.

First names will appear here.

Each will be a wallet’s own signature, next to what that wallet did on the chain. 1 more person has signed and is waiting for a first action on Sheaf. Names without one are counted here, never shown.

Check any name yourself

A Solana address is an ed25519 public key, and an EVM address is recovered from an EIP-191 signature, 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. What a signature can’t prove is who owns an X or Telegram handle; those stay self-reported.

1

Read the raw list

Every listed entry, with its message, signature and first on-chain action, 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, how it was made, the handle and the date, so it can’t be moved to another name.

3

Match the wallet to the chain

Each card links its wallet and its first action to that chain’s explorer: Solana Explorer, or the EVM testnet’s own. The ledger lists every event the program has written.

verify.mjs

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

const { voices } = await (await fetch("https://sheaf.world/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, v.proof?.signature);
}

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, the transaction of your wallet’s first Sheaf action, and the gist if you proved a GitHub handle.
  • 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.