A strategy that helps keep a portfolio near its chosen asset mix, built on 1inch Aqua. Liquidity providers (LPs) choose target shares for groups of tokens held in a dedicated Safe wallet. Portfolio Manager (PM) sets trade prices using those targets and the wallet's actual balances. Traders, called takers, execute the trades. The strategy does not schedule them.
The pricing formula runs as an instruction in our own SwapVM router, the contract that receives trade requests. See the roadmap for milestone status.
pnpm install
git submodule update --init --recursive
cd packages/contracts
cp .env.example .env
forge build
forge test
forge fmt --checkEnd-to-end (E2E) tests run against a local copy of Base at a fixed block.
Set BASE_RPC_URL in .env to use your own blockchain data service (RPC endpoint).
- Architecture: components, trade flow, and security boundaries.
- Pricing: formulas, units, fees, and rounding.
- Decision records: design choices and tradeoffs.
- Writing style: rules for docs and code comments.
- Monorepo conventions: what counts as an app vs. a shared package.
- Wallet setup: funding, approvals, and registering strategies.
- Contracts, indexer, arbitrageur, decoding, and simulation: package instructions.
The project uses Aqua-Source-1.1. See third-party notices for dependency licenses and licensing risk for unresolved commercial terms.