~0.002 SOL one-time · 0 TxL · 30 days

Install

From zero to a live verifiable signal agent in four steps. The free tier covers all 8 soccer leagues + the World Cup for 30 days. No credit card. Re-run subscribe to refresh.

01

Check prerequisites

Node 20+ and a Solana wallet. The agent can use a keypair file, Ledger, or Backpack. No SOL needed for the free tier beyond the ~0.002 SOL one-time ATA rent.

prerequisites check
$ node -v                              // v20+ required
$ solana --version                     // 1.18+ (optional - for wallet ops)
$ ls ~/.config/solana/id.json          // your keypair
02

Subscribe on-chain

Mint a 30-day free-tier access token. Creates a Token-2022 ATA on your wallet, then mints the NFT. Costs ~0.002 SOL one-time. Re-run subscribe to refresh.

zero install · recommended
$ npx -p @srivtx/sports-workbench sports-workbench subscribe \
  --devnet --level 1 --weeks 4
global install + subscribe
$ curl -fsSL sports-workbench.srivtx.xyz/install.sh | bash
$ sports-workbench subscribe --devnet --level 1 --weeks 4

Output is a JSON blob: txSig, apiToken, wallet, spent. Save the apiToken for step 3.

03

Run the agent

Export the API token from step 2 and run the signal command. The agent streams the live TxLINE SSE feed, fires on threshold moves, fetches a Merkle proof for each, and persists receipts locally.

run the agent
$ export TXLINE_API_TOKEN=*** from above
$ npx -p @srivtx/sports-workbench sports-workbench signal \
  --strategy sharpDetector --threshold 0.5 --devnet
# ^C to stop. Receipts persisted to .sports-workbench-state.json
04

Verify a receipt

Pick any signal from .sports-workbench-state.json. Re-run prove with the fixtureId + messageId. It will recompute the proof, hit the on-chain program, and confirm.

verify a receipt
$ npx -p @srivtx/sports-workbench sports-workbench prove \
  --fixture 17588234 \
  --messageId 1835131630:00003:000063-10021-stab
# ✓ verified · 0x7a9f3b…d441a8 (on-chain)

troubleshooting

Setup issuesRun sports-workbench doctor --fix. It auto-diagnoses 8 issues (Node, prefix, PATH, wallet, DNS) and applies the no-sudo fix.
Token expiredRe-run subscribe. Each refresh is a fresh 30-day mint. Old token is invalidated atomically.
Stale walletThe CLI reads ~/.config/solana/id.json by default. Pass --wallet-path to override.
Slow first runFirst subscribe does an ATA create + mint. ~30s on devnet. Subsequent runs are instant.