Skip to main content

Prerequisites

  • Node.js 18+
  • Python 3.11+
  • A Telegram bot token from @BotFather
  • A deployer wallet private key (test wallet only)
  • Sepolia test ETH from a faucet

Install

1

Clone the repository

2

Compile smart contracts

3

Set up the Python bot

4

Configure environment

Edit .env with your values. See Configuration for the full variable reference.At minimum, set:
5

Run the bot

You should see:

Run tests

Your first split

1

Register your wallet

In Telegram, send:
The bot returns a link to the Mini App. Open it, connect your wallet, and sign the SIWE message.
2

Create a split

In a group chat with at least one other registered user:
The bot deploys an escrow contract and posts a Pay button.
3

Pay your share

Each participant opens the Mini App, connects their wallet, and deposits. When the last person pays, the contract auto-executes and the target receives the funds.

Deploy the Mini App

The Mini App is a static site in the miniapp/ directory.
After deploying, update MINI_APP_URL in .env to the deployed URL.
The Mini App has build-time pinned constants for chain ID, RPC URL, and explorer base. To switch networks, deploy a separate Vercel project from a production branch. Do not parameterise these values through URL query strings.