Skip to main content
SV · Shrey Vats

Navigate Portfolio

Jump to pages, project details, or toggle theme

Back to projects
Solanashreyvats01/lemon

Lemon

A Rust project that connects Telegram commands to Solana transactions. It explores async request handling, transaction signing, and RPC interaction.

RustSolanaTokioTelegram API
Updated Dec 2025

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 inspect
Telegram → Solana RPCTokio / Ed25519

Implementation details

01.

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.

02.

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.

03.

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.