Generate unsigned transaction calldata for supply, borrow, withdraw, and repay on Aave v3 and Spark. Syenite returns the raw transactionRequest plus ERC-20 approval transactions where needed. The agent or user signs and submits.
| Protocol | Chains |
|---|---|
| Aave v3 | Ethereum, Arbitrum, Base |
| Spark | Ethereum |
Deposit an asset into the lending pool. The response includes the pool transaction and the ERC-20 approve transaction (submit the approval first, then the supply).
{
"protocol": "aave-v3",
"chain": "ethereum",
"asset": "USDC",
"amount": "1000",
"onBehalfOf": "0xYourAddress"
}
Borrow against deposited collateral. Variable rate only (stable rate is deprecated in Aave v3). No approval needed for borrow.
{
"protocol": "aave-v3",
"chain": "arbitrum",
"asset": "USDC",
"amount": "500",
"onBehalfOf": "0xYourAddress"
}
Withdraw a supplied asset. Set amount to "max" to withdraw everything. Check lending.position.monitor first to confirm safe withdrawal margins.
{
"protocol": "aave-v3",
"chain": "base",
"asset": "USDC",
"amount": "max",
"to": "0xYourAddress"
}
Repay outstanding debt. Set amount to "max" to repay all debt (uses uint256.max). Includes the ERC-20 approval transaction.
{
"protocol": "aave-v3",
"chain": "ethereum",
"asset": "USDC",
"amount": "max",
"onBehalfOf": "0xYourAddress"
}
The recommended agent workflow for a lending position:
find.strategy or lending.rates.query to identify the best marketlending.risk.assess to evaluate the position before committinglending.supply to deposit collateral (submit approval tx first, then supply tx)tx.receipt to confirm the supply transaction landedlending.borrow to draw down the loantx.receipt again to confirm the borrowlending.position.monitor to verify health factor and LTValerts.watch with optional webhookUrl for ongoing monitoringtransactionRequest can be passed through tx.verify, tx.simulate, and tx.guard before signing. The trust layer works on lending transactions the same way it works on swap and bridge transactions.
All four tools return the same structure:
execution.transactionRequest — the unsigned tx: to, data, value, chainIdapprovalRequired (when present) — a separate transactionRequest for the ERC-20 approve callverification — next-step guidance pointing to tx.receipt and lending.position.monitor