Vault-native autopilot agent for Gardenaz on Mantle Sepolia.
The service plans around the delegated vault model:
- user deposits funds into the vault
- user allows the agent as vault operator
- agent creates a decision
- vault-native execution can open, rebalance, or close positions
- Route names such as
Mantle RWA USDY Routeare display labels. - On-chain autopilot policy uses the vault address as the protocol identity.
- Adapters and oracles live behind the vault route registry.
The autopilot planner now reasons about vault-native states:
- no vault cash -> explain deposit is required
- vault cash and no positions ->
open - active positions with better opportunity ->
rebalance - active position no longer policy-safe ->
closeback to vault cash - blocked setup or policy ->
holdor blocked explanation
open->openPositionForrebalance->rebalancePositionclose->closePosition
Decision logging is expected to happen through the vault during delegated execution.
POST /autopilot/planPOST /garden/planPOST /garden/chatGET /mcp/tools/listPOST /mcp/tools/call
flowchart LR
A[Claim test funds] --> B[Deposit to vault]
B --> C[Allow agent]
C --> D[Start autopilot]
D --> E[Plan now]
E --> F[Optional delegated execution]
Use agent/.env.example as the baseline.
The service now defaults to mantle-sepolia.json if explicit env overrides are not provided.
Latest deployed addresses:
AgentIdentity:0x7d4cF8dAcCdc589d8601CB547d693c73dd5724e2DecisionLog:0x16E67F2Aaa40767FefeD0f2E1cF6bE87Ac3722DaAutopilotPolicy:0xd35fc1eb7BA3429f1B206FA6b054bbB71eCbD7e8GardenUsdMock:0x66cE4A644e004830887C3E8a44Fd5122B1edb28BGardenRwaMockVault:0x376368699aF13e6492b2A330e1d8e5D6560e38a8SteadyAdapter:0x23F83a27674E9776Ab663b10e3745DD682858f29GrowthAdapter:0x744F554EfEA9cE87E459E4a927Ba7F1fb85669c5BoostAdapter:0x9FD80B063C4d28fDbc592C7f4E4BA7F6f8166DEc
npm install
npm run devnpm exec tsc --noEmit
npm exec tsx -- --test src/server.test.ts
npm exec tsx -- --test src/autopilot.test.ts