Reference
CLI
Five commands. Runs in Node, reads all four platforms.
Usage
node cli/upstream.mjs <command> [options] [target]
lookup
node cli/upstream.mjs lookup <target>
Reads the account and prints the platform, name, stable id, url, live state, followers and the proof text (first 120 characters).
code
node cli/upstream.mjs code --mint <mint> --wallet <address> <target>
Looks up the account to get its id, then prints the code for that wallet and where to paste it. The wallet must be a valid 32-byte base58 address.
verify
node cli/upstream.mjs verify --mint <mint> --wallet <address> <target>
[--attester <key file>] [--epoch <n>]
Reads the page, looks for the code, and if found prints VERIFIED and a signed attestation as JSON. Without --attester it signs with a throwaway key and says so. Exit code: 0 verified, 2 code not found, 1 error.
keygen
node cli/upstream.mjs keygen [--out <file>]
Makes an Ed25519 key. With --out it writes { publicKey, seed } to the file (mode 600) and prints the public key. Without it, the seed is printed: keep it secret.
demo
node cli/upstream.mjs demo
A whole vault life with real signatures and a stand-in page. Nothing is fetched.
Targets
Anything the platform parser accepts: see Platforms. A target without a platform prefix or a known domain is refused.
Notes
- GitHub: 60 requests per hour per IP without a token.
- YouTube is read from the public
/aboutpage; no key needed in Node. - All output is plain text; colour is only added for a terminal.