made byseun
All work
FintechRustAIFounder

Sayfi

Sayfi is my own product. You type something like “swap $10 of SOL to USDC”. Sayfi finds a price, runs the trade in a simulation and shows you exactly what will change. Nothing happens until you sign with your own wallet.

Role
Founder, and the only engineer
Timeline
Since Aug 2026, live
Stack
Rust · Tokio · gRPC · PostgreSQL
Sayfi landing page with a priced swap in the chat

Why I built it

I kept seeing people on Solana sign transactions they couldn’t read, then lose money to hidden approvals or fake tokens.

I wanted a tool where you say what you want in plain words and check every line before you sign. Sayfi never holds your money.

Architecture

RustTokiogRPCPostgreSQLNext.js 16TypeScriptQwen 2.5 14BGoogle Cloud
  1. 01
    Web app
    Next.js 16, connecting to Phantom, Solflare and Backpack
  2. 02
    Sign-in
    Sign-In with Solana, checked with Ed25519, and PASETO session cookies
  3. 03
    Engine
    A Rust daemon on Tokio and gRPC that prices, simulates and filters trades
  4. 04
    Ledger
    Double-entry bookkeeping in PostgreSQL, append-only, using integers
  5. 05
    Model
    Qwen 2.5 14B fine-tuned with QLoRA, running on an NVIDIA L4
01 · Chat

Every request becomes a card you can check

When you ask for a trade, Sayfi shows a card with what you spend, what you get, the worst price you could get and the fee. The price is checked against the market just before you see it.

Landing page on a phone
Chat on a phone

Engineering decisions

No floating-point money

Every amount is stored as a whole number of the token’s smallest unit, from the moment it’s parsed until the trade settles. Rounding errors can’t make money appear or disappear.

A ledger you can’t edit

Every movement is recorded twice, as a debit and a credit, and records are never updated or deleted. Idempotency keys stop a trade from running twice, and balances are checked against the chain.

Checking transactions before you sign

Every transaction is simulated first. Sayfi also inspects each instruction and blocks anything you didn’t ask for, like handing over token authority.

Locking the AI to a schema

I fine-tuned the model on 89,000 conversations. Its output is forced to match a fixed schema, so it can’t make up a trade. Simple requests skip the model and go through a Rust parser instead.

Results

  • Live at usesayfi.xyz
  • 350+ Rust tests across 8 crates, plus adversarial and chaos test suites
  • 460 commits since late September

What I’d build next

A mobile wallet app, and trades with several steps that you approve with one signature.

Want something built like this?