Welcome to DeFi exec

Written by an engineer who builds this stuff, not just writes about it. No hype. Real code. Honest results.

Recent Posts

I already wrote about modeling impermanent loss with fees in Python. A calculator is useful, but it glosses over the things that only show up when you have a live position: fee accrual on a narrow range that drifts out of the band, the gas cost of collecting, and the experience of watching your position value bob around while you wait for fees to catch up.

In the previous post, I deposited 200 USDC into Aave V3 on Arbitrum. That was risk-free in the sense that a supply-only position cannot be liquidated. Borrowing changes everything. The moment you take a loan, you create a position that the protocol can partially close if your collateral value drops too far relative to your debt.

Lending is where DeFi starts to feel like actual finance. You deposit an asset, the protocol lends it out, and you earn yield from borrowers paying interest. But unlike a savings account, there is no insurance, no customer support, and no undo button. The protocol’s risk parameters are your only safety net, and understanding them before depositing is not optional.

Every DeFi transaction is a bet that the on-chain state you read is still true when your transaction lands. Slippage settings, approval amounts, oracle prices—all of them can shift between the moment you preview a swap in the UI and the moment the transaction confirms. A local transaction simulator lets you run the exact calldata against real contract state and see the outcome before your wallet signs anything.

Bridging between L2s looks like a simple transfer, but the mechanics are different from a normal swap. The path you choose decides how long funds are locked, how many contracts you trust, and how many fees you pay on a small wallet.