burneh

On-chain systems, front to back.

dApps, contracts, and the data pipelines that keep them in sync, across Solana and EVM.

wallet · 0x8f…3a
gas $3.10connected
you pay
EETH
≈ 16,000 USD
you receive
15,868UUSDC
rate1 ETH = 3,200 USDC
price impact0.83%
min received15,788 USDC
balances · Ethereum
E4.20 ETH$13,440
U12,500 USDC$12,500
W0.15 WBTC$9,600
recent · confirmed
✓
swap 10 ETH → 31,980 USDC
block 21,450,126
✓
approve USDC · Router
block 21,450,120
✓
transfer 0.5 ETH → 0x4c…9f
block 21,450,101
same wallet, every chain · real x·y=k impact · simulated before you ever sign

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.

build tx+ guardssimulatedry-run · decodesignthe decoded diffpendingmempool → includedconfirmedreal blocksreorg → rollbackreconcile to chain0102030405
01
Simulate

The transaction is dry-run first, so you see exactly what leaves the wallet and what comes back.

02
Sign

You approve the decoded diff, not an opaque blob, with the guards (min-out, deadline) already in it.

03
Pending

Submitted, sometimes privately, and tracked through the mempool to inclusion, not assumed.

04
Confirmed

The UI updates on real confirmations, not an optimistic checkmark on money that hasn't moved.

05
Reorg-safe

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.

Vault.sol
1// checks-effects-interactions, no clever tricks
2function withdraw(uint256 amount) external nonReentrant {
3 if (balanceOf[msg.sender] < amount) revert InsufficientBalance();
4
5 balanceOf[msg.sender] -= amount; // effect first
6 emit Withdraw(msg.sender, amount);
7
8 (bool ok, ) = msg.sender.call{value: amount}(""); // interaction last
9 if (!ok) revert TransferFailed();
10}
Written to be read

Checks-effects-interactions, NatSpec, and no clever tricks that hide a bug from a reviewer.

Tested to the edges

Unit, fuzz, and invariant tests, so the properties that must always hold, do.

Static-analyzed on every commit

Slither and friends run in CI; a new warning fails the build, not the audit.

Audit-ready

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.

raw log · block 21,450,126
topics[0]: 0xd78ad95f…d0c5
topics[1]: 0x0000…8f3a
data: 0x00000…0b1a2c…7c9e0
decoded · swaps
poolinoutblock
ETH/USDC10 ETH31,980 USDC…126
ETH/USDC2.5 ETH7,995 USDC…124
WBTC/ETH0.4 WBTC8.0 ETH…121

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.

Tell 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.