OpenChart
Claude·Codex와 함께하는 무료 데스크톱 차트 도구. 알림 설정·차트 움직임 분석·데이터 제공자 선택
아직 감지된 업데이트가 없습니다. GitHub 릴리스가 나오면 여기에 보입니다.
개인 계정의 공개 저장소 소유자는 GitHub로 로그인해 운영자를 확인하고 소개를 직접 관리할 수 있습니다. 관리자 승인은 필요하지 않습니다.
로그인한 뒤 확인 파일을 만들어 이 저장소의 기본 브랜치에 30분 안에 커밋해 주세요. 다른 브랜치나 포크의 파일은 인정하지 않습니다. 파일을 올린 뒤 아래에서 확인하면 관리자 승인 없이 관리할 수 있습니다. 자격을 유지하려면 파일을 남겨 두세요.
로그인이 필요하면 로그인 화면으로 이동합니다. 로그인 후 이곳으로 돌아와 원하는 확인 버튼을 다시 눌러 주세요.
프로젝트 폴더에서 /nomorevibe verify를 실행하면 소유권을 확인하고 소개를 직접 관리할 수 있습니다.
1분 만에 확인하기Bitcoin Lightning wallet inside Telegram. Send & receive sats, tip in groups, pay BOLT11 invoices, connect any NWC wallet, and monetize private chats with one-time or monthly access. Instant free transfers between users.
저장소 README에서 가져옴
README 전체를 불러오는 중입니다.
README 전문 보기 ↗Bitcoin Lightning wallet inside Telegram — send, receive, tip, and monetize chats with sats.
ZapGram turns Telegram into a Lightning payment app: instant tips in groups, invoices with QR codes, transfers between users at message speed, and paid access to private communities.
Partner: 21ideas — community with Bitcoin learning materials.
In the 21ideas community ZapGram is used for:
Telegram channel: @bitcoin21ideas
ZapGram guide from 21ideas: 21ideas.org/zapgram/
| Lightning-native | Built for satoshis and BOLT11 invoices — not fiat wrappers. |
| Zero-fee inside Telegram | Transfers between ZapGram wallets are free and as fast as a message. |
| Your keys, optional | Keep sats in the built-in wallet, or connect any wallet that supports NWC. |
| Chats that earn | Monetize private groups and channels with one-time or monthly Lightning access. |
| Native to Telegram | Tips with /tip, invoices in DM, join requests that pay themselves. |
| Optional support | Voluntary % on payments, one-shot and monthly donations via /donate. |
| Open source | Inspect the code, self-host, or contribute. |
Every user gets a Lightning wallet the moment they open the bot.
@usernameInternal transfers between ZapGram users settle instantly and without network fees — money moves like a DM.
Prefer self-custody? Connect any Lightning wallet that supports Nostr Wallet Connect — for example Alby or Coinos.
nostr+walletconnect://… URLYour external wallet stays under your control; ZapGram only acts within the permissions you grant.
Add the bot to a chat and tip with /tip:
| Command | What it does |
|---|---|
/tip | 21 sats to the group owner (or channel creator on a post) |
/tip 100 | Custom amount to the owner |
Reply + /tip | Tip the author of that message |
Reply + /tip 1000 | Tip the author with a custom amount |
/tip @user | Tip a specific user (default 21 sats) |
/tip 50 @user | Tip a user with a custom amount |
Make the bot an admin (delete messages is enough) so owner-bound tips work cleanly and technical messages stay out of the way. In channels, tip replies to posts go to the channel creator.
ZapGram is free to use. You can optionally support the bot author:
/donate); failure only notifies you in private chat./donate hub — your personal stats, community totals (all-time + last 30 days), one-shot amounts (21 · 100 · 1 000 · 10 000 · 100 000 or custom), and in-bot monthly auto-donate (charges every 30 days; first charge when you enable).[email protected].This is separate from the small platform fee on paid-chat Lightning subscriptions (SUBSCRIPTION_FEE_PERCENT).
lnbc… invoice → review amount, memo, fee, expiry → confirmTurn a private group or channel into a sat-gated community — Lightning and/or on-chain Bitcoin.
For owners
@zap_gram_bot with invite users and ban users rightsFor members
Subscriptions
UI follows your Telegram language: Russian or English (everything else falls back to English).
/start/tip 21 @usernameUseful commands:
| Command | |
|---|---|
/wallet | Balance, receive, send |
/donate | One-shot / monthly support, your stats, community totals |
/help | Bitcoin, Lightning, supported wallets |
Layered design + vertical feature slices. Full write-up: docs/architecture.md.
core → infra → modules → telegram / http / jobs
↑
bootstrap (composition root)
Entry: src/main.ts → createContainer() → createApp() → start / graceful shutdown.
Bun, TypeScript, grammY, Elysia, Drizzle (SQLite), LNbits, Nostr Wallet Connect, pino, Biome.
Lightning backend: Alby
# install
bun install
# typecheck + lint + tests
bun run ci
# local bot (needs .env; HOST must be a public HTTPS URL)
bun run start:dev
Feature requests: users submit them from the main menu. Set ADMIN_TELEGRAM_IDS (comma-separated Telegram user ids) so new requests are DMed to you. Optional sats tips use the same rails as /donate. Events land in PostHog as feature_requested (filter Activity / build an insight). Without admin ids, requests still capture analytics only.
Requires LNbits extensions Watch Only + SatsPay on the same instance as LNBITS_URL.
| Setting | Notes |
|---|---|
SatsPay webhook_method | POST (default GET breaks ZapGram) |
| SatsPay / Watch Only network | Match LNBITS_ONCHAIN_NETWORK (Mainnet or Testnet) |
| Mempool URL | Mainnet: https://mempool.space · Testnet: https://mempool.space/testnet |
HOST | Public HTTPS origin of the bot (SatsPay POSTs ${HOST}/satspay/webhook/${BOT_WEBHOOK_SECRET}) |
LNBITS_ADMIN_KEY | Bot wallet admin key (creates WO wallets under that user) |
Compose passes LNBITS_ONCHAIN_NETWORK (default Mainnet). After enabling on-chain in the Chats menu, smoke: paste account zpub → member join → Pay on-chain → pay ≥ price → grant.
Persistence: compose sets LNBITS_EXTENSIONS_PATH=/app/data/extensions, so installed LNbits extension code lives on the lnbits-data volume (/app/data/extensions/extensions/<id>) next to the DB and survives container recreates. Without it LNbits 1.x installs extensions into /app/lnbits/extensions inside the container: after a redeploy the DB still lists them, the files are gone, and you get Extension 'satspay' disabled / 500 on enable. When upgrading an existing instance to this setting, reinstall Watch Only and SatsPay once (Admin → Extensions); their data in the DB is kept.
MIT — free to use, modify, and distribute, including commercially.