Quickstart
After this page you will have WireTap watching a devnet program and a decoded, IDL-named error in your Telegram chat — in under ten minutes, starting from nothing.
You need: Node 20+, a Solana CLI keypair with devnet SOL (solana airdrop 2 --url devnet),
a running WireTap API (docker compose -f infra/docker-compose.yml --profile full up -d, or
pnpm --filter @wiretap/api dev), and a program to watch. No program of your own? Use the
bundled demo program in fixtures/demo-program — anchor deploy it to devnet first; it ships
with deliberate failure modes.
-
Initialize. From your project directory (or
fixtures/demo-program):Terminal window npx @wiretap-labs/cli init --cluster devnetinitdetects your Anchor/IDL setup (Anchor.tomlordeclare_id!), registers the program(s) against the API, fetches the on-chain Anchor IDL so errors decode to names, and — on first run — mints a dev API key saved to~/.wiretap.json. It finishes by printing a Telegram deep link. -
Connect Telegram.
initprints a deep link:Connect Telegram alerts for this program:https://t.me/<your-bot>?start=<token>Open it and press Start; the bot replies
✅ connected to <program>. Then/statusshows the program (withwaiting for eventsuntil traffic arrives). -
Trigger a failing transaction. The demo program’s traffic driver fires a labeled mix of successes and deliberate failures (slippage 6001, guard 6000, compute-budget exhaustion):
Terminal window pnpm --filter @wiretap/demo-program traffic -- --url https://api.devnet.solana.comIt prints each signature and outcome. Copy a
swap_like[6001]signature. (Watching your own program instead? Just send any transaction that fails — WireTap decodes it the same way.) -
Ask why. In your Telegram chat (or your terminal with
npx @wiretap-labs/cli why <sig>):/why <the failing signature>The bot answers with the decoded story, not a raw hex code:
❌ trPVQ23Y…RGRL52 failed with SlippageExceeded (6001) in instruction swap_likeon 3pbmthqR… at slot 1060. Used 2946 of 200000 CU; fee 5000 lamports still paid.
Where to next
Section titled “Where to next”- Mainnet: rerun
npx @wiretap-labs/cli initin the project and pickmainnet-beta. - Catch drops and preflight failures too: add the SDK — on-chain watching alone can’t see transactions that never landed.
- Debug with your agent: wire up the MCP server.
- Own your data: run the whole stack yourself with docker compose.