DeFi protocols
Vaults (ERC-4626), lending markets, AMMs, liquidation engines and staking systems, with directed rounding, a single accounting path and solvency checks designed in from the start.
We design and implement smart contracts in Solidity for DeFi protocols and blockchain products. Every engagement follows the same method, scaled to its size. We specify the invariants first, build in phases with their own tests, and hand over documented code prepared for an independent audit.
01 / WHO THIS IS FOR
02 / WHAT WE BUILD
Vaults (ERC-4626), lending markets, AMMs, liquidation engines and staking systems, with directed rounding, a single accounting path and solvency checks designed in from the start.
Chainlink and Pyth integrations with staleness, confidence and deviation checks, and custom oracle setups where no commercial oracle covers your network.
ERC-20 tokens with vesting or emission schedules, ERC-721 and ERC-1155 collections, and permissioned tokens following ERC-3643 (T-REX).
See Asset TokenizationContracts that plug into existing protocols such as Uniswap, Aave or Compound, including flash loans and leveraged strategies.
EIP-712 signed intents and EIP-7702 delegated accounts for one-click interactions where users do not pay gas.
Smaller work we take on includes
03 / HOW AN ENGAGEMENT WORKS
04 / WHAT YOU GET
| DELIVERABLE | FORM |
|---|---|
| Solidity contracts with NatSpec documentation | Repository |
| A Foundry test suite with unit, fuzz, stateful invariant and, where relevant, fork tests | Repository |
| A specification with the system's invariants and failure modes | Document |
| Deployment scripts and a written record of the design decisions | Repository · Document |
06 / FAQ
Solidity and Foundry, with Slither and Aderyn for static analysis. Yul where gas optimization justifies it.
We prepare the deployment scripts and can run testnet deployments. Mainnet deployments are done with your keys, with our support, so control of the contracts stays with you from day one.
When the project needs it, using standard proxy patterns, and we document the trade-offs. For many protocols an immutable deployment is the safer default.
We prepare it for an audit and recommend one for any contract that will hold user funds, and we can handle the remediation afterwards. We do not audit our own code.