Lemon
A Rust project that connects Telegram commands to Solana transactions. It explores async request handling, transaction signing, and RPC interaction.
Overview
Most Telegram wallet bots feel clunky or hide how transactions are built. I wrote Lemon in Rust to explore how a chat interface can act as a wallet adapter, similar in spirit to Phantom or Backpack. It receives Telegram updates, constructs Solana instructions, simulates transactions against an RPC node, and signs them.
How it works
Tap or hover stages to inspectImplementation details
Async update handling with Tokio
Telegram bot updates arrive concurrently. Using Tokio tasks keeps slow RPC network calls from blocking new messages from other users.
Transaction simulation before signing
Before submitting a transfer or program call, the bot runs a pre-flight RPC simulation so failed instructions are caught and reported clearly in chat.
Separated command parser and signer
Keeping chat command parsing separate from Ed25519 signing logic makes it easier to test Solana transaction builders without running a live Telegram webhook.