On-chain systems, front to back.
dApps, contracts, and the data pipelines that keep them in sync, across Solana and EVM.
One wallet, every chain, honest math.
Change the size and the price impact moves on a real constant-product curve. Switch the chain and the gas, balances, and pool follow. Every quote is simulated before you sign.
The one above is a still. The terminal behind this button is the real thing, quoting live off the pool.
Signing shouldn't mean hoping.
What you just quoted goes out through this. Simulated before you sign, tracked to real confirmations, and reconciled to the chain if a block drops, so the interface never shows a green checkmark on money that never moved.
The transaction is dry-run first, so you see exactly what leaves the wallet and what comes back.
You approve the decoded diff, not an opaque blob, with the guards (min-out, deadline) already in it.
Submitted, sometimes privately, and tracked through the mempool to inclusion, not assumed.
The UI updates on real confirmations, not an optimistic checkmark on money that hasn't moved.
If a block is orphaned, balances reconcile to the chain and the interface rolls itself back.
Contracts written to be read.
A contract is the one thing you can't patch after it ships, and the whole world can read it. So we write it to be read: effects before interactions, a reentrancy guard, custom errors, and tests to the edges, static-analyzed on every commit and handed to an auditor clean.
1// checks-effects-interactions, no clever tricks2function withdraw(uint256 amount) external nonReentrant {3 if (balanceOf[msg.sender] < amount) revert InsufficientBalance();45 balanceOf[msg.sender] -= amount; // effect first6 emit Withdraw(msg.sender, amount);78 (bool ok, ) = msg.sender.call{value: amount}(""); // interaction last9 if (!ok) revert TransferFailed();10}Checks-effects-interactions, NatSpec, and no clever tricks that hide a bug from a reviewer.
Unit, fuzz, and invariant tests, so the properties that must always hold, do.
Slither and friends run in CI; a new warning fails the build, not the audit.
We hand the auditor a clean report and a threat model, not a pile of surprises.
The chain, as a database you can query.
Raw chain data is unusable and your RPC is slow. We follow every block, decode the events you care about into typed rows, and keep a fast database in sync, reorgs and all, so you query “swaps by pool”, not hex topics.
Postgres + GraphQL · reorg-safe · backfilled and live
On-chain, you ship once. So we build like it's permanent.
No patch on a Tuesday, no hotfix for a drained contract, and the code is public for anyone to read. That's why the honesty is the whole product: real price impact, a transaction you can inspect before you sign, contracts written for an auditor, and data that stays true through a reorg. No hidden levers, no green checkmark on money that never moved.
What we build
8 buildsTell us what you're putting on-chain.
Send the mechanism and the chain, EVM or Solana. We come back with a scope, a plan, and where a demo proves it.