Aerodrome Add Liquidity
Adds liquidity to an Aerodrome pool on Base. Supports both stable (sAMM) and volatile (vAMM) pools. Handles token approvals automatically. IMPORTANT: Requires ERC20 tokens, not native ETH. Use wrap-eth first to convert ETH to WETH (0x4200000000000000000000000000000000000006). Use aerodrome-get-lp-positions to check existing positions first. Ideal for: yield farming, liquidity provision, DeFi automation.
Catalog action EVM Onchain wallet Gas send
Adds liquidity to an Aerodrome pool on Base. Supports both stable (sAMM) and volatile (vAMM) pools. Handles token approvals automatically. IMPORTANT: Requires ERC20 tokens, not native ETH. Use wrap-eth first to convert ETH to WETH (0x4200000000000000000000000000000000000006). Use aerodrome-get-lp-positions to check existing positions first. Ideal for: yield farming, liquidity provision, DeFi automation.
This action can require a wallet connector, gas, token movement, or an external side effect. Test with simulation or a controlled amount before using it in a live workflow.
At a Glance
| Field | Value |
|---|---|
| Action ID | aerodrome-add-liquidity |
| Category | EVM Onchain |
| Connector | wallet |
| Requires gas | Yes |
| Funds movement | send |
| Tags | defi, liquidity, base, onchain, write |
Payload Schema
| Field | Type | Required | Description |
|---|---|---|---|
chainId | number | Yes | Chain ID. Supported: Base (8453) |
tokenA | string | Yes | First token address |
tokenB | string | Yes | Second token address |
stable | boolean | Yes | True for stable (sAMM) pool, false for volatile (vAMM) pool |
amountADesired | string | Yes | Desired amount of tokenA in raw units |
amountBDesired | string | Yes | Desired amount of tokenB in raw units |
slippageBps | number | No | Slippage tolerance in basis points (default: 50 = 0.5%) |
deadlineMinutes | number | No | Transaction deadline in minutes from now (default: 20) |
Result Schema
| Field | Type | Required | Description |
|---|---|---|---|
transactionHash | string | Yes | - |
poolAddress | string | Yes | - |
stable | boolean | No | - |
Examples
json{ "type": "aerodrome-add-liquidity", "payload": { "chainId": 8453, "tokenA": "ETH", "tokenB": "ETH", "stable": true, "amountADesired": "1000000", "amountBDesired": "1000000" }, "children": [], "connector": { "type": "wallet", "id": "conn_wallet" }}
bashcurl -X POST "https://api.b3os.org/v1/actions/aerodrome-add-liquidity/test" \ -H "Authorization: Bearer YOUR_API_KEY" \ -H "Content-Type: application/json" \ -d '{ "inputs": { "chainId": 8453, "tokenA": "ETH", "tokenB": "ETH", "stable": true, "amountADesired": "1000000", "amountBDesired": "1000000" }}'
Payload fields can use workflow expressions such as {{$trigger.body.amount}}, {{$nodes.fetch.result.price}}, and {{$props.asset}} when the value should come from a trigger, prior node, or reusable workflow prop.
