
FinTessa
A DApp router that atomically splits one token into a weighted basket —> one tx, zero dust.
Demo
About
FinTessa is a DApp that splits one token into a basket of tokens in a single transaction. You pick how much of each token you want (weights in basis points, must add up to 100%), send one token in, and get all your output tokens out — no separate swaps, no partial fills. If any swap in the basket gets a worse price than you set, the whole thing reverts. Nothing sits in the router between calls; v4’s flash accounting means the input is pulled once and outputs go straight to your wallet. There’s a Next.js frontend where you move sliders to set your basket, see live price quotes from V4Quoter, and submit in two clicks.
How it's made
Contracts are in Foundry on top of Uniswap v4. The router calls PoolManager.unlock(), and inside that callback, it loops through each basket leg, calling poolManager.swap() once per token. When all swaps are done, it settles the input once and sends each output straight to the caller. The deploy script spins up 5 mock ERC-20s, seeds four pools with liquidity, and dumps all the addresses and pool keys into a JSON file. A small npm script reads that file plus the Foundry build output and generates the typed config the frontend uses — so you never have to copy-paste addresses by hand. The frontend is Next.js with wagmi and viem. Quotes are real on-chain simulations via V4Quoter, not hardcoded math. There’s a mock wallet connector pinned to a local Anvil account so you can test without MetaMask.