Automate the full spectrum of on-chain earning — so anyone with a wallet can access strategies that today require a trading desk. Here is what the protocol does, why it exists, and where it is headed.
Automate the full spectrum of on-chain earning — so anyone with a wallet can access strategies that today require a trading desk.
Every meaningful way to earn on-chain — lending, staking, liquidity provision, delta-neutral basis trades, directional trading, perpetuals — is operationally demanding. Each requires monitoring, timing, rebalancing, and risk management that most capital cannot justify paying for.
DefiLords is building a single deposit surface over all of it: you deposit once, the protocol runs the strategy, and the accounting tells you the truth about what you earned.
Two commitments define the protocol:
1. Every earning primitive, one roof
Lending and borrowing markets. Staking. Concentrated liquidity. Market-neutral yield. Directional trading. Perpetuals. Each as a vault you can enter with a single deposit, each managed by automation that never sleeps.
2. Every number traces to an on-chain fact
The industry norm is dashboards showing gross yield without impermanent loss, APYs annualised from a single lucky day, and "total earned" figures that quietly include your own returned principal. We build the opposite.
The second commitment is the harder one, and it is what we intend to be known for.
A concentrated Uniswap V3 position stops earning the moment price exits its range. Lending positions need monitoring for rate changes and utilisation risk. Trading strategies need constant execution discipline. Doing any of these properly is a full-time job — and doing all of them is a team.
Three failure modes we have measured in our own contracts and fixed:
| Failure | What it looks like to a user | Reality |
|---|---|---|
| Recycled principal counted as yield | "You earned $35 this harvest" | Most of it was the vault's own capital being swept back and taxed as profit |
| Withdrawals liquidating shared positions | Small exit, whole vault's LP closed | Every remaining depositor pays swap costs and stops earning until redeployment |
| Yield shown gross of impermanent loss | "$8.57 in fees earned" | Position simultaneously below its cost basis |
We do not present these as hypotheticals. Each was found in our own code, reproduced with tests, and fixed — details in .
Auto-compounding vaults fold yield into share price. That is efficient, but neither the protocol nor the user can then answer "how much did I actually earn?" without off-chain reconstruction that breaks whenever someone deposits or withdraws between harvests.
User deposit → ERC-4626 Vault → Strategy Adapter → Protocol (Aave / Morpho / Uniswap V3 / Pendle)
↑
Keeper (automation): deployIdle · rebalance · harvestVaults hold deposits and issue ERC-4626 shares (or an ERC-721 receipt for the NFT-based LP vault). Adapters are swappable modules holding the actual position — this is what lets the protocol add new strategies without migrating user funds. The keeper is an off-chain bot executing on cron schedules, restricted on-chain to onlyKeeper functions: it can operate positions but cannot change ownership, alter fees, or withdraw funds.
Signal engine — current status
A Python service computes market signals across on-chain metrics, social sentiment (FinBERT), macro regime classification, and portfolio optimisation (mean-variance / Black-Litterman / risk parity by regime).
Status: research and monitoring. These signals inform operator decisions and are surfaced on the AI Vaults platform. They do not currently execute on-chain allocation — live vault behaviour is governed by deterministic rules. Connecting the engine to live allocation is a roadmap item, gated on the safety work in Security.
Security model
| Role | Holder | Powers |
|---|---|---|
| Owner | Cold wallet (hardware) | Set adapter/keeper/fees, pause, emergency exit |
| Keeper | Hot EOA (automation) | deployIdle, harvest, rebalance only |
| Guardian | Optional fast-response key | pause only — cannot unpause or move funds |
| Fee recipient | Gnosis Safe multisig | Receives performance fees |
Deployment scripts transfer ownership to the cold wallet atomically within the deploy transaction — there is no window in which a hot key controls a live vault.
This section exists because we think it is the most honest signal of engineering quality available. Each item is a real defect found in our own contracts, with the fix.
4.1 Partial withdrawals
Problem
The vault's withdraw path closed the entire shared position regardless of withdrawal size. A $150 exit from a $1,200 position stopped every remaining depositor from earning and imposed swap costs on them.
Fix
The adapter now performs a proportional liquidity decrease sized to the withdrawal plus a swap-cost margin, with a full-close fallback only when a partial cannot serve the request. Verified on mainnet: a $150 withdrawal removed 2.6% of the position and it stayed open and earning.
4.2 Harvest accounting
Problem
harvest() returned the adapter’s entire loose balance as "profit," so capital left over from a rebalance was reported as yield and charged a performance fee.
Fix
Loose principal returns to the vault untaxed; profit is measured strictly as freshly-collected fees. A two-pass dust sweep prevents swap output stranding in the adapter.
4.3 Per-user yield attribution
Problem
Auto-compounding leaves no per-user record of earned yield.
Fix
An on-chain reward-per-share index (Q128 fixed point) advances once per harvest — O(1), no iteration over depositors — with lazy per-user settlement on any balance change. lifetimeYield(address) returns a user's exact attributed yield directly on-chain. Late depositors receive nothing retroactively; exiting users keep what they earned.
4.4 MEV and slippage protection
Problem
Swaps executed with no minimum-output floor — sandwichable.
Fix
A 30-minute TWAP-derived floor rejects any swap returning less than 99.5% of the oracle-implied price.
4.5 Challenges we have not solved
| Yield aggregators | Automated LP managers | Lending front-ends | DefiLords | |
|---|---|---|---|---|
| Lending & borrowing markets | Yes | No | Yes | Yes |
| Automated LP range management | No | Yes | No | Yes |
| Partial withdrawal without disturbing shared position | n/a | Varies | n/a | Yes |
| Per-user on-chain yield attribution | Share price only | Share price only | Manual | Yes — lifetimeYield() |
| Harvest excludes recycled principal | Generally | Generally | n/a | Explicitly enforced |
| Trading / perpetuals under same roof | No | No | No | In development |
| Independent audit | Mature protocols: yes | Yes | Yes | Partial |
| Track record / TVL | Years, $100M+ | Years, $10M+ | Years, $1B+ | Months, early-stage |
Where we're genuinely ahead
Accounting correctness, withdrawal mechanics, and breadth of strategy under one deposit.
Where we're behind, plainly
Audit coverage, operating history, and scale. We are early-stage software and a reader comparing us to established protocols should weight that honestly.
Near term
DefiLords Alpha Hunter
PrototypeOur directional-trading and perpetuals roadmap is being built as Alpha Hunter, an autonomous on-chain trading agent, developed for the BNB Hack 2026 Onchain Trading Agent track and running on BNB Chain via PancakeSwap V2.
What exists today
| Component | Detail |
|---|---|
| Signal engine v2 | RSI, MACD, EMA on 4h candles, combined into a 0–100 score: momentum 35%, volume 20%, trend 20%, category 15%, market regime 10% |
| Watchlist | 109 tokens, live CoinMarketCap pricing, scored and ranked continuously |
| Regime awareness | Fear & Greed index and market-regime classification adjust scoring and sizing |
| Liquidity Guard | Blocks any trade in a pool below $50k depth or exceeding 2% price impact — thin-liquidity tokens are flagged and refused rather than traded badly |
| Risk controls | Configurable trading modes (Conservative / Balanced / Aggressive / Scalp-Lock) governing position size, stop-loss, take-profit, poll interval, daily trade cap, and minimum score threshold |
| Kill switch | Execution can be paused independently of the agent, with dry-run and live-trading flags gated separately |
| Key isolation | The agent's private key stays server-side and is never connected to a frontend |
Status: experimental prototype. Not available to depositors, and not managing user funds. It trades a small dedicated wallet for research purposes and is currently paused. Performance to date is a development dataset on small position sizes, not a track record — we will publish verified performance only after the strategy runs an extended live period under stable parameters.
The path to production is the same discipline applied to the vaults: risk limits enforced in code, an independent review, a small canary deployment, and honest reporting of results — including losses — before any user capital is accepted.
Longer term
Roadmap items are intentions, not commitments, and are not ordered by date.
Important: DefiLords is beta software. The protocol is early-stage, operating at small scale, and under active development. Do not deposit more than you can afford to lose.
Audit coverage is partial. Independent security review is underway; not all contracts have been audited. Findings are remediated through new contract deployments and migration, since vault contracts are immutable by design.
Risks users are accepting
| Risk | Description |
|---|---|
| Smart contract risk | Early-stage code holding funds; not all contracts independently audited |
| Impermanent loss | LP vaults can fall below deposited value on price moves |
| Keeper dependency | If automation stops, yield pauses (deposits stay withdrawable) |
| Variable yield | Historical APY is not a forecast; returns can be zero or negative |
| Protocol risk | Underlying lending markets carry their own smart-contract and liquidity risk |
| Admin keys | Owner can change adapters and fees; no timelock currently |
What protects users
Full legal terms and risk disclaimer: Terms of Service →
Deposit once and let the protocol run the strategy — with accounting that tells you the truth about what you earned.
Protocol Overview • Version 1.0