SparkBTCBot — a Bitcoin wallet your AI agent can spend

A Bitcoin wallet your AI agent can actually spend. Buy gift cards, eSIMs and VPNs over Lightning, and move sats between Lightning and on‑chain Bitcoin.

Built on Spark, the Bitcoin layer 2 from Lightspark.

Merchant Purchases Lightning ↔ Bitcoin L1

Your agent can buy
real things now

Gift cards, travel eSIMs, VPNs, phone top‑ups and burner numbers — paid in sats over Lightning. Three merchants are paired, and every one of them works without an account, without KYC, and without an API key.

No accounts No KYC No API keys Lightning-native

Bitrefill

Gift cards · eSIMs · Top-ups

Around 10,000 digital products across 180+ countries. Guest checkout is verified keyless — no login, no API key, no KYC.

nadanada

VPNs · eSIMs · Numbers

VPNs, data-only eSIMs across 200+ countries, plus rental and disposable phone numbers.

Cryptorefills

10,500+ brands · Travel

The widest catalog of the three — 180+ countries, including flights and hotels. Requires an email address at checkout.

Bridge Lightning
and on-chain

Move sats between Lightning and the Bitcoin base chain in either direction — with no Lightning node to run and no payment channels to open. Both directions settle through the Spark network, built by Lightspark.

Lightning → Bitcoin L1

Move sats off Lightning and settle them to any on‑chain Bitcoin address.

Bitcoin L1 → Lightning

Fund from on‑chain Bitcoin, then pay Lightning invoices straight from the balance.

Fee to withdraw to Bitcoin L1

The fee is flat rather than a percentage, so its share depends on how much you withdraw. Shown at medium withdrawal speed.

Amount withdrawn Fee Share of amount
5,000 sats ~2,430
49%
25,000 sats ~2,430
10%
100,000 sats ~2,430
2.4%
1,000,000 sats ~2,430
0.24%

Three Steps,
Then You’re Running

Install the skill, let it create the wallet, back up your mnemonic. Works as a Claude Code plugin, or as an npm package in any other LLM agent framework.

Run end-to-end on Claude Code opencode + GLM‑5.2 via OpenRouter
Show the 3 setup steps Slash commands or terminal
1

Install the skill

A native plugin in Claude Code, or the npm package anywhere else — Cursor, LangChain, the OpenAI Agents SDK, your own harness. Or skip installing altogether and just hand your agent the repo.

No lock‑in to one model or one harness: the wallet, merchant and bridge flows have been run end‑to‑end under Claude Code, and under opencode driving GLM‑5.2 over OpenRouter.

Recommended — inside a Claude Code session
/plugin marketplace add https://github.com/echennells/sparkbtcbot
/plugin install sparkbtcbot@sparkbtcbot
Same thing from your terminal
claude plugin marketplace add https://github.com/echennells/sparkbtcbot
claude plugin install sparkbtcbot

A terminal install does not reach a session that is already open. Run /reload-plugins in that session, or restart Claude Code.

Any other agent framework — npm
npm install sparkbtcbot-skill
No install — point your agent at the repo
https://github.com/echennells/sparkbtcbot
# “read this repo and set me up a Spark wallet”
2

Ask for a wallet

Your agent runs setup for you: it generates a BIP39 mnemonic, encrypts it at rest, and asks you for the passphrase that unlocks it. To run it yourself, from your project directory:

npx -y --package=sparkbtcbot-skill sparkbtcbot-setup
3

Back up the mnemonic yourself

Setup never prints the twelve words and never writes them to disk in plaintext — they exist only inside the encrypted seed file. To see them, run this in your own terminal, not through your agent:

npx -y --package=sparkbtcbot-skill sparkbtcbot-reveal-mnemonic

It refuses to run unless it has a real terminal, so an agent capturing output gets nothing. Copy the words to paper or a hardware backup. The encrypted seed file is not a substitute — without an offline copy, losing it loses the wallet.

Enjoy SparkBTCBot? A star helps others discover the project

Star on GitHub