Paste your lightning address. Get a tip page, a QR code and a print-ready poster. Tips go straight to your wallet — we never touch them.
A real, live jar — scan it and the sats actually arrive.
It's free — no account, no complex setup. Tips go straight to your wallet.
The one your wallet gives you, like you@coinos.io
Use it instantly — or claim bitcointipjar.com/yourcafe, permanent and free
Put it by the till. Customers scan, pick an amount, done.
Free forever, or one payment. No subscription, no percentage of tips.
About Venue. Add your staff's own Lightning addresses and each tip goes straight to one of them, rotating so it evens out over time. You never hold anyone's tips and there is no payout to run. Change staff whenever you like — the printed QR never changes. Every tip is recorded against the person who received it, and you can export the lot as a spreadsheet.
People who pay in bitcoin like supporting the places that accept it, and they tip well when they find one. That is extra money for your staff on top of the card tips, and this is how it reaches all of them.
Each tip goes to one person, not split across everyone. It balances out across a busy shift, not across two or three tips. Everyone in the rotation needs a wallet that can confirm payments — Coinos, Alby, Blink or Speed.
Directly to your Lightning wallet. The page turns your lightning address into an invoice on the spot — the money never passes through us and we couldn't touch it if we wanted to.
Nothing. The page, the QR code and the print-ready poster and table-tent artwork are free — download them and print them yourself, and you'll always see how many tips you've received. If you ever want your own branding (your logo, your colors, your own domain) plus a record of every individual tip you can export as a CSV for your books, that's a single $50 payment, whenever you like. Venues with staff can pay $99 once for split pay, which rotates tips between your team's own wallets. No subscription, no percentage of tips.
Yes — that's the Venue tier. Add each person's own lightning address and every tip goes straight to one of them, with the rotation weighted so it evens out over time. Nothing is pooled and you never hold anyone else's tips, so there's no weekly payout to run. When staff change you edit the list; the printed QR, the poster and your URL all stay exactly as they are. Two things worth saying plainly: each tip goes to one person rather than being split across everyone, so it balances out over a busy shift rather than over two or three tips — and everyone in the rotation needs a wallet that can confirm payments (Coinos, Alby, Blink or Speed), because that confirmation is how the rotation knows a tip actually arrived.
Any Lightning wallet that gives you a lightning address — if your wallet shows something like you@coinos.io, you're ready. Wallets like coinos.io, Alby and Blink also unlock the extras: your page shows a live "Paid ✓" the moment a tip lands, and tippers can attach their name. Wallets without those features still work — those extras just switch off quietly, and the generator tells you which ones your wallet has.
Yes — getting one takes about two minutes. coinos.io works right in the browser (no app store) and supports everything the tip page can do; Blink is the wallet many bitcoin-accepting shops already use; Speed and Alby are easy alternatives. All four confirm tips back to your page, so you get the live “Paid ✓”, your tip records and tipper names. Any of them gives you a lightning address right away — paste it here and your tip jar is live. The wallet is where your tips arrive, so keep it.
Any Lightning wallet can scan the QR code. They point their camera, pick an amount, confirm — the tip lands in your wallet in seconds.
// Generate a tip page via URL params — no API key, no account bitcointipjar.com/tip?ln={address}&name={name}&amounts={csv}
bitcointipjar.com/tip?ln=satoshi@coinos.io&name=Satoshi%27s+Coffee&amounts=1000,2500,5000,10000&accent=ff9b00&theme=dark
amount={sats} pre-select that amount, land straight on the QR accent={hex} your brand color — 6 hex chars, no # theme=dark dark card for dark sites (the QR stays scannable) // Swap /tip for /poster with the same params → print-ready A4 poster bitcointipjar.com/poster?ln={address}&name={name}&amounts={csv}
ref={string} opaque ref echoed back to you (song, order, table…) notify={url} HTTPS webhook — fires only after the payment settles // We confirm settlement with the wallet (LUD-21 verify), then POST: { ref, amount_sats, payer, pr, verify_url, settled_at } // Re-check verify_url yourself before trusting the event. // payer is the name the tipper typed (LUD-12 comment) — self-reported, // so escape it. Verify-proof covers the payment, not the name.
<iframe src="https://bitcointipjar.com/embed?ln={address}&theme=dark&accent=ff9b00" style="border:0" width="360" height="480"></iframe>
chrome=none bare card — no border, background or header block bg={hex} paint the frame to your panel color (beats transparency) // Same params as /tip. When the tip settles, the frame postMessages // {type:'tipjar:settled', ref, amount_sats, payer, pr} to your page. // Treat it as a UI hint only — anything you gate on payment should // trust the notify= webhook (server-verified) and re-check verify_url. // The frame also reports its content height on every state change, so // the iframe can grow with the card instead of scrolling:
addEventListener('message', e => {
if (e.source !== frame.contentWindow || !e.data) return // only OUR frame
if (e.data.type === 'tipjar:height')
frame.style.height = Math.min(Math.max(e.data.px|0, 180), 1200) + 'px'
})
// QR-encode the full URL for physical placement. // AI agents: construct URL → return link. // Optional: claim a vanity URL later bitcointipjar.com/mikespizza
Powered by BitcoinTipJar.com · non-custodial
Print-ready PDFs with your QR code and tip amounts. Put one by the till.
Free posters carry a small "Powered by BitcoinTipJar.com" footer — Pro removes it and adds your logo & colors.