Shielded Zcash access from Telegram. Split-key custody via Ika MPC.
A Telegram bot that gives any user a split-key Zcash wallet. Deposits are transparent (t-addr), then shielded into the Orchard pool. Every action attested on Zcash mainnet via ZAP1.
Neither the bot nor the MPC network can spend your ZEC alone. Policy enforced by Sui Move contracts.
| Command | What it does |
|---|---|
| /start | Welcome, show commands |
| /wallet | Create split-key wallet (secp256k1 dWallet on Ika) |
| /balance | Check transparent + shielded balance |
| /shield | Move ZEC from transparent (MPC) to shielded (Orchard) |
| /send | Send ZEC (shielded or transparent depending on address) |
| /prove | Get Merkle proof of latest attestation |
| /history | View attestation history |
| /status | Network status (Zebra, ZAP1, Ika) |
User (Telegram)
|
| /wallet
|
Bot creates dWallet on Ika (2PC-MPC)
- user key share stored per-user
- network key share on Ika nodes
- one secp256k1 key signs for ZEC + BTC + ETH
|
| deposit ZEC to t-addr
|
| /shield
|
Bot signs transparent TX via MPC -> shielded pool
- attested to ZAP1 on Zcash mainnet
- full Orchard privacy from this point
npm install
npm run build
# Get a bot token from @BotFather on Telegram
BOT_TOKEN=your-token npm start| Var | Default | Required |
|---|---|---|
| BOT_TOKEN | - | yes |
| ZAP1_API_URL | https://pay.frontiercompute.io | no |
| ZEBRA_RPC_URL | http://127.0.0.1:8232 | no |
- grammY - Telegram bot framework
- ZAP1 - on-chain attestation
- zcash-ika - split-key custody
- Zebra - Zcash node
MIT