Search projects, hackathons, sponsors and tech

    ← All projects

    Lamplighter

    Lamplighter watches your lending position and defends it before liquidation hits.

    Demo

    About

    Lamplighter is an agent that keeps watch over leveraged lending positions so they don't get liquidated while you're not looking. It pulls live health-factor data from Aave, Compound, Spark and a few other protocols through the Graph, using one shared query since they're all built on the same standardized schema underneath. When a position it's watching crosses a risk threshold, it repays part of the debt automatically using USDC that's been pre-approved, capped by limits the owner sets themselves so it can never spend more than they're comfortable with. It's meant to be the thing that reacts in the ten minutes you're asleep or away from your screen, not a replacement for actually managing your own risk.

    How it's made

    The contracts are Solidity, built and tested with Foundry — a vault contract holds each user's USDC and only lets an authorized agent spend it if the owner's own preset caps and health-factor threshold actually allow it. The risk-scoring side is a TypeScript service that queries Messari's standardized lending subgraphs on The Graph — the same GraphQL query works across Aave v3, Compound v3, Spark and more, since they all share the same schema, which is really the whole point of using The Graph here instead of hitting each protocol's own API separately. The decision of when and how much to defend lives inside a Chainlink CRE Confidential Workflow, so the trigger threshold stays private instead of sitting in a public contract where it could get front-run. Once it decides to act, it settles the defense on Arc using Circle's USDC-native chain. The hackiest part is probably the demo fixture: we deployed our own tiny mock lending pool on testnet just so we could force a live liquidation scenario on stage, since you can't exactly crash real Aave on command.