Converting intent to unsigned
transactions
A deterministic engine that converts DeFi intents into raw, ABI-encoded transaction payloads. JSON playbooks define the protocols. Resolvers handle the rest. No guessing, no hallucinating.
How it works
build_payload resolves args, encode_tx produces calldata. Driven entirely by JSON playbooks.
{to, value, data} ready for any wallet or signer. Never signs, never broadcasts.
Two ways to use it
Install locally. Build transactions from the terminal. Ships as a skill for Claude Code, OpenClaw, and any agent with shell access.
# Deterministic build (no LLM) defi-skills build --action lido_stake \ --args '{"amount":"10"}' --json # Interactive chat agent defi-skills chat
- Deterministic
buildcommand (zero LLM tokens) - Interactive
chatwith tool-calling agent - Agent skill files included (Claude Code, OpenClaw)
Same engine, hosted for you. REST endpoints with Bearer auth, multi-turn agent sessions, and a browser playground to test live.
# Build via API
curl -X POST /v1/build \
-H "Authorization: Bearer $KEY" \
-d '{"action":"lido_stake",
"arguments":{"amount":"10"},
"from_address":"0x..."}'
GET /v1/actions— discover actions + schemasPOST /v1/build— deterministic transaction buildPOST /v1/sessions— multi-turn agent chat- API key auth with rate limiting (free tier: 50/day)
The engine
Both the CLI and API run the same PlaybookEngine. Protocol knowledge lives in JSON files. The engine reads them, resolves human-readable parameters to on-chain values, and ABI-encodes the transaction. No protocol-specific code in the engine.
Supported protocols
supplywithdrawborrowrepayset_collateralclaim_rewardsswaplp_mintlp_collectlp_decreaselp_increasestakewrap_stethunwrap_wstethunstakeclaimdepositdelegateundelegatequeue_withdrawalscompletesupplywithdrawborrowrepayclaim_rewardsswapjoin_poolexit_pooladd_liquidityremove_liquiditygauge_depositgauge_withdrawmint_crvdepositredeemstakeunstakewrapunwrapnativeerc20erc721add a JSON playbookOpen source. Add a protocol in 10 minutes.
Every protocol is a JSON file. No engine code changes needed. We ship an LLM-assisted playbook generator that drafts the JSON from a contract ABI. Review, drop it in, done.