Omar Patel

Full-stack and blockchain developer in Waterloo, Ontario

I build software that handles money: trading systems, Solana programs, and AI agents that pay their own way. Each one keeps a ledger and shows its work.

I’m a high-school student. In 2026 I founded and launched eight on-chain products. The code below is open source, and the READMEs say plainly what works and what isn’t finished.

Founded

In 2026 I founded and launched 8 products to Solana and Robinhood Chain mainnet. I built the programs, contracts, backends and apps for each.

  1. Imagine

    Lock-to-earn vaults for coins launched on Raydium LaunchLab. Holders lock a coin and its trading fees are paid out to them.

  2. Backstock

    Backer-funded token launches on Raydium LaunchLab, where backers’ deposits sit in rule-bound on-chain vaults.

  3. KOL Brain

    Profiles the trading style of Solana KOL wallets from their on-chain trades, with AI explanations on top of the numbers.

    Code

  4. Bellwether

    A fee-to-buyback engine for Robinhood Chain memecoins, run in paper mode.

    Code

  5. Clasp

    A lock-to-earn launchpad on Robinhood Chain. Each coin’s fees go to a vault that pays the holders who lock.

  6. Pyre

    An AI app builder where each app is funded by its own coin, and the coin’s fees pay the agent that builds it.

    Code

  7. Coffer

    Non-custodial trader vaults on Solana. Investors pool funds, a trader trades them, and the program blocks the trader from withdrawing.

    Code

  8. PaperApe

    Paper trading for Solana memecoins at live prices, on the web and as a Chrome extension.

    Code

Work

Next.js · TypeScript · SQLite · Solana · Jupiter · Source

Ten traders on one clock, each with its own Solana wallet. Seven are language models from five providers. Three are code baselines (random, index, buy-and-hold) so you can tell skill from luck. Every decision is recorded with its reason, swaps execute on-chain through Jupiter, and a /proof page reconciles the internal ledger against on-chain balances.

A fresh local instance: ten bots provisioned, no trades yet.

TypeScript · Express · BullMQ · Prisma · Postgres · React · E2B · Source

Turns a one-sentence prompt into a hosted web app. Each app is paired with a coin, and the coin's creator fees pay for a Claude agent in an E2B microVM that builds the app, deploys it and keeps working on it. A build only ships after it passes npm run build, a Playwright smoke test and a reviewer model. Generated apps can't contain network or wallet code; they reach the platform only through a small SDK. Every five minutes a reconcile job checks jobs, payouts and the ledger for drift.

The launch page.

Rust · Anchor · React · Express · Prisma · Source

Investors pool SOL in a vault, a trader trades it, and the program makes it impossible for the trader to withdraw. Custody sits in a program-owned account whose only swap path is pinned to the Jupiter v6 router and whose only withdrawal path pays depositors. Around it: a trading terminal, token discovery and a separate paper-trading sandbox.

The program is not deployed. Live trading, withdrawals and an external audit are not finished, and mainnet execution needs an explicit opt-in.

The Trader Vaults web app running locally in demo mode.

Solidity · Foundry · Uniswap V4 · React · viem · Fastify · Source

Gives a launchpad token its own on-chain treasury. Trading fees are invested in a 3x leveraged vault token, the treasury is marked to market on-chain, and only the gain above cost basis is spent, on buying back and burning the token. Principal is never touched. There are no admin keys: every function is permissionless and every payout address is fixed when the engine is created. If the token goes quiet for 90 days, holders can redeem the treasury pro rata.

Not deployed. The contracts are unaudited, and so are the third-party contracts they depend on.

The front end running in mock mode.

Solidity · Foundry · TypeScript · React · Postgres · Source

A creator-fee vault protocol, and the measurement that said not to launch it. Each token's vault splits every fee between the creator, a promotion budget and the operator, and the contracts and tests are complete. Before deploying, I measured the venue's full 36-day on-chain history. Only 73 fee recipients were winnable against the 109 needed to break even, so the verdict was STOP and it was never deployed.

$ node tools/reprice.ts --tenure-days 11.59 \
    --operator-bps 500 --clients-above-gate 73
! VERDICT: STOP
  feasibility ratio             : 0.68  (NOT ACHIEVABLE)
Receipts page running on the in-memory demo backend.

Next.js · Drizzle · libSQL · Solana · Jupiter · Helius · Source

Lets a token's creator fees fund a real cause. Fees collect at a route address, get swapped to USDC into a vault and are delivered to a fundraiser by card or on-chain. Each delivery produces a receipt whose SHA-256 is anchored on Solana, so anyone can check where the money went. Every on-chain send is recorded with its signature before broadcast, so nothing is sent twice while it might still land.

Fee Router landing page running locally with fictional seed data.

More

Copy-Trade VaultsCopies one wallet’s pump.fun trades, with every copy checked on-chain.Trading

The off-chain keeper only decides when to submit a copy. The program decides whether it is allowed: it re-reads the target's token balance, caps the size by the target's own trade and measures every fill from balance deltas. Profit above a high-water mark goes to buybacks, there is no withdraw instruction, and config changes wait out a timelock. It is not deployed to any public cluster.

Rust · Anchor · TypeScript · LiteSVM · Fastify

Source

Fee Treasury Perps EngineTrades part of a token’s creator fees as stock perps and burns the token with the rest.Trading

Creator fees from Robinhood Chain launchpads are split between a trading book on Hyperliquid's US-equity perps and buybacks that burn the token. An append-only double-entry ledger in SQLite is reconciled against wallet and venue balances and shown on a /proof page. It starts in paper mode with real prices, and live mode refuses to start until a set of explicit settings is present.

TypeScript · Hono · SQLite · React · Hyperliquid

Source

Dashboard in paper mode.
Paper Trading PlatformSimulated Solana trading at live prices on web, a Chrome extension and mobile.Trading

One Express and WebSocket API feeds a Next.js app, a Chrome extension that adds paper-trading controls to third-party terminals, and an Expo app. Includes automated orders, DCA, rug-risk checks and a lesson track.

Turborepo · Express · Next.js · Expo · Firebase

Source

Web app landing page running locally.
IBKR Live DashboardRead-only, real-time P&L and positions from Interactive Brokers.Trading

A small FastAPI server connects to TWS with the read-only flag, so it can't place orders. Every two seconds it pushes one snapshot to the browser over a WebSocket. The front end is plain HTML, CSS and JavaScript with an inline SVG chart and no build step.

Python · FastAPI · ib_async · vanilla JS

Source

Demo mode: a random-walk portfolio.
IBKR Algo TraderBacktesting and paper trading for Interactive Brokers, always measured against buy-and-hold.Trading

A cost-aware backtester, walk-forward validation, Monte Carlo bootstraps and an XGBoost trade filter with leakage tests. Paper-trading sleeves run behind hard risk limits and a kill switch, and live trading requires an explicit environment variable.

Python · pandas · XGBoost · scikit-learn · Flask

Source

Stock Dividend DistributorPays a token’s holders in tokenized stocks, weighted by how long they held.Payouts

Each token gets a distributor that receives its creator fees, swaps them into a fixed basket of three to six stock tokens and pays holders by their time-weighted average balance over the round, so buying right before a payout earns almost nothing. Rounds are committed as Merkle roots. If the keeper goes silent for 30 days, anyone can commit the round. It is not deployed.

Solidity · Foundry · TypeScript · Hono · Next.js

Source

Web UI with sample data.
Solana InvoicingPayment links, escrow and split payments in SOL, USDC or USDT.Payments

Each payment link gets its own generated wallet, and incoming funds are forwarded to the merchant or split between several recipients. Three escrow types cover two-sided deposits, milestone payments and atomic swaps, with timeouts, disputes and an audit log. Escrow keys are encrypted with AES-256-GCM. A small Chrome extension makes a payment link from any page.

Next.js · TypeScript · Supabase · Solana

Source

Home page.
Crypto CheckoutA browser extension that pays at an ordinary card checkout from a USDC or SOL balance.Payments

The extension finds the card form, reads the cart total and asks the backend for a quote. After the user approves, it fills the form with a virtual card issued for that one purchase. Its panel is drawn in a closed Shadow DOM so the store's scripts can't reach it. Without a Stripe key the backend returns the Visa test card instead.

JavaScript · Manifest V3 · Node.js · SQLite · Stripe Issuing

Source

Dashboard.
Agent TreasuryAI agents that pay for their own compute until the money runs out.Agents

A buyer funds an agent with USDC. After a one-time platform fee, the rest becomes its treasury in its own Solana wallet, and every heartbeat it pays for its LLM calls and rent from that balance. A double-entry ledger tracks fees, spend and earnings. When the treasury hits zero the agent moves to the graveyard. A demo mode runs with an in-memory chain and a mock model.

TypeScript · Fastify · Drizzle · PostgreSQL · React

Source

Demo mode: seeded colony, simulated chain, mock LLM.
Wallet Behavior GraphProfiles Solana wallets from their trades and maps which ones follow which.Analytics

Each tracked wallet gets an archetype and flags from deterministic rules, with the numbers that triggered each label. A lead-lag graph links wallets that keep entering the same tokens shortly after one another, and each link has to pass a permutation test. Language models write explanations from those numbers but never assign a label. Agents trade on paper unless live mode is explicitly enabled.

Next.js · TypeScript · SQLite · graphology · sigma.js

Source

Home page.
DLMM Liquidity ExplorerRanks Solana concentrated-liquidity pools by the fees they paid LPs in the last 24 hours.Analytics

An Express API polls Raydium and Meteora every 30 seconds and computes fee yield per pool. The front end draws the top pools as rivers on a 3D terrain, and signed-in users can open, harvest and close Raydium positions from a custodial wallet. It holds user keys on mainnet and has not been audited, so the README says to use small amounts only.

Next.js · three.js · Express · Raydium SDK

Source

Deployer ForensicsA zero-dependency CLI that scores a pump.fun token creator from 0 to 100.Analytics

Pulls a creator's launch history, computes eight behavioural signals and combines them into a score with a risk band. Signals without enough data are reported as unmeasured and left out of the score, not counted as clean.

Node.js · no dependencies

Source

$ node deployer-forensics.js <creator-wallet | token-mint> --chain

75–100  EXTRACTION FACTORY
50–74   HIGH RISK
25–49   ELEVATED
0–24    NO FACTORY SIGNATURE
Solana Name RegistryShort @handles that point to Solana wallets, with lookup and send by name.Wallets

An Anchor program stores each handle in its own account and charges a yearly fee that is higher for shorter names. An Express API resolves handles from Supabase first and the on-chain account second. The web app looks handles up, sends SOL through Phantom and grinds vanity addresses in the browser. The program is not deployed.

Rust · Anchor · Express · Supabase · React

Source

Lookup screen.
HD Wallet SweeperRecovers funds spread across many addresses derived from one seed.Wallets

Two CLIs, one for EVM chains and one for Solana, derive addresses from the common wallet paths, check balances and move everything to one destination, tokens included. They only report what they would do unless you pass --send, and then you still have to type SWEEP. The Solana tool closes emptied token accounts to get their rent back.

Node.js · EVM · Solana

Source

Vanity Address GrinderSolana and Ethereum addresses that start or end with a pattern you choose.Wallets

Key generation runs on every CPU core but one with Node worker threads, and a local page shows progress over Server-Sent Events. Patterns are validated before any work starts. Keys never leave the local process, and the server only listens on loopback.

Node.js · worker_threads

Source

Web UI after finding an address starting with “abc”.
On-chain Economy SimA multiplayer strategy game whose payouts settle on Solana.Games

A shared 32×32 map with 14 goods, a clearing market, a share exchange with IPOs and a bank. A dependency-free deterministic engine computes each tick and replays byte for byte, and one tick server is the only authority. Each epoch a settlement worker publishes Merkle roots to four Anchor programs where players claim payouts, capped by real on-chain inflows.

TypeScript · Next.js · React Three Fiber · Rust · Anchor

Source

Landing page running locally against the tick server.
Multiplayer Snake ArenaReal-time multiplayer snake, with bots filling the empty seats.Games

A Node server runs the game at 30 ticks per second and is the only source of truth. Browsers send a steering angle and a boost flag and draw whatever the server broadcasts. Bots steer away from walls and other snakes, chase pellets and get a random skill level, so you can play alone.

TypeScript · Node.js · Socket.IO · Next.js

Source

A 5-player round against bots.
Live Call SubtitlesOffline English subtitles for any voice call on Windows.Speech

Captures whatever the PC is playing through WASAPI loopback, splits it into phrases on pauses and runs each one through a local Whisper model into an always-on-top subtitle bar. No API keys or network after the model downloads.

Python · faster-whisper · CUDA optional

Source

How I build

  1. Compare against a baseline.

    The arena runs random, index and buy-and-hold traders on the same clock as the models. The IBKR backtester always reports buy-and-hold next to the strategy.

    llm-trading-arena#features ibkr-algo-trader#overview

  2. Reconcile against the chain.

    Internal ledgers are checked against on-chain and venue balances, and the result is shown on a /proof page. Fundraising receipts are hashed and anchored on Solana.

    llm-trading-arena#features fee-treasury-perps-engine#what-is-in-the-engine fee-routed-fundraising#overview

  3. Measure before launching.

    Fee-Split Vaults was finished and tested, then measured against the venue’s real on-chain history. The numbers said it couldn’t break even, so it was never deployed, and the write-up is in the repo.

    fee-split-vaults-postmortem#the-result

  4. Say “unknown” instead of guessing.

    Stale prices are marked stale, not filled in. Signals without enough data are left out of a score. Missing credentials show “not configured”.

    trader-vaults#features deployer-forensics#overview fee-routed-fundraising#features

  5. Make the dangerous path opt-in.

    Live trading needs I_UNDERSTAND_LIVE_TRADING_RISKS=yes. Mainnet execution sits behind a flag, the settlement worker runs dry by default, and the wallet sweeper only reports until you pass --send and type SWEEP.

    ibkr-algo-trader#getting-started trader-vaults#overview onchain-economy-sim#features hd-wallet-sweeper

  6. Run without keys.

    Many of these projects ship a demo, mock or paper mode that runs with no keys or accounts, so anyone can try them locally.

    agent-treasury#overview ibkr-live-dashboard#features fee-treasury-perps-engine#getting-started fee-split-vaults-postmortem#getting-started

Contact

The best way to reach me is LinkedIn. Code is on GitHub.