intent-transfer-completion-lifi
Production-ready OpenClaw extension composed of:
- a native plugin/tool named
complete_transfer_intent - a bundled skill named
intent_transfer_completion_lifi
The plugin fulfills natural-language token transfer intents such as:
send 50usdc to merkim.eth on basesend 0.1 eth to vitalik.eth on arbitrumtransfer 250 dai to 0xabc... on optimism
When the wallet lacks enough of the requested token on the requested chain, the plugin:
- parses the intent
- resolves the destination chain, token, and recipient
- inspects balances across configured chains
- asks LI.FI for quotes/routes to cover the shortfall
- enforces gas reserve and slippage policy
- executes the route
- performs the final native/ERC-20 transfer
- tracks status until completion
Files
openclaw.plugin.json: plugin manifest with bundled skill and config schemasrc/index.ts: plugin entrypoint and tool implementationskills/intent_transfer_completion_lifi/SKILL.md: model instructions for when to invoke the tool
Setup
- Install dependencies:
npm install
- Configure the plugin through OpenClaw plugin config or the native tool context. Provide:
- per-chain RPC URLs
- optional
lifiApiKey - optional
ensRpcUrlfor ENS recipients
-
Connect a local wallet in OpenClaw for live execution. The plugin discovers that wallet from native tool context and returns an error if none is available.
-
Build:
npm run build
- Test:
npm test
Notes
- All executable logic lives in the TypeScript plugin.
- The bundled skill contains routing guidance only.
- Live execution requires a funded local OpenClaw wallet.
- ENS resolution uses the configured
ensRpcUrl. - The runtime does not load configuration from
.env.