upstream

Reference

Examples

Real output, copied from runs on this repo.

Looking up a GitHub repo

$ node cli/upstream.mjs lookup github.com/torvalds/linux
GitHub  torvalds/linux (torvalds/linux)
  id         repo:2325298
  url        https://github.com/torvalds/linux
  live       offline
  followers  251346
  proof text (empty)

The proof text is empty because that repo has no .upstream file. If it had one, its content would appear here.

Looking up a Kick channel

$ node cli/upstream.mjs lookup kick.com/kick
Kick  KICK (kick)
  id         6937907
  url        https://kick.com/kick
  live       offline
  followers  57093
  proof text "From Every Angle"

Looking up a YouTube channel (no key, from Node)

$ node cli/upstream.mjs lookup youtube.com/@NASA
YouTube  NASA (@NASA)
  id         UCLA_DiR1FfKNvjuUpBHmylQ
  url        https://www.youtube.com/channel/UCLA_DiR1FfKNvjuUpBHmylQ
  live       unknown on this platform
  followers  n/a
  proof text "NASA's mission is to pioneer the future in space exploration, ..."

A page without the code

$ node cli/upstream.mjs verify --mint DemoMint11111111111111111111111111111111111 \
    --wallet 7xKXtg2CW87d97TXJSDpbD5jBkheTqA83TZRuJosgAsU youtube.com/@NASA
NASA on YouTube (id UCLA_DiR1FfKNvjuUpBHmylQ)
CODE NOT FOUND expected up1-7JHZ-ZARC-7BS6 in the channel description
$ echo $?
2

The whole life of a vault

$ node cli/upstream.mjs demo
1. A fan launches a coin for twitch.tv/somestreamer. Creator fees now land in escrow.
   after 4 days: pending 1.980 SOL waiting, launcher already got 0.220 SOL
2. The streamer asks for their code (bound to their wallet) and pastes it in their Twitch bio.
   code: up1-KV4T-VXX2-Q4PV
3. Two independent attesters read the page and sign.
   AKnL4N.. -> verified
   GyGKxM.. -> verified
4. The vault releases what was waiting: 1.980 SOL to EdmxWP..
   next fees go straight through: streamer total 2.880 SOL
5. Money check: accrued = held + paid + burned

The demo uses fixed test keys and a stand-in page, so the output is the same on every run.

An attestation

{
  "mint": "<mint>",
  "platform": "twitch",
  "id": "12826",
  "wallet": "<wallet>",
  "code": "up1-XXXX-XXXX-XXXX",
  "epoch": 0,
  "issuedAt": 1760000000000,
  "attester": "<attester public key>",
  "signature": "<base58 Ed25519 signature>"
}