~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.
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.
$ node -v // v20+ required
$ solana --version // 1.18+ (optional - for wallet ops)
$ ls ~/.config/solana/id.json // your keypair
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.
$ npx -p @srivtx/sports-workbench sports-workbench subscribe \
--devnet --level 1 --weeks 4
$ 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.
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.
$ 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
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.
$ 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.