Skip to main content
Glama

Arcadia Finance

Server Details

Manage Uniswap and Aerodrome liquidity positions with automated rebalancing and leverage.

Status
Healthy
Last Tested
Transport
Streamable HTTP
URL
Repository
arcadia-finance/mcp-server
GitHub Stars
2
Server Listing
arcadia-finance-mcp-server

See and control every tool call

Log every tool call with full inputs and outputs
Control which tools are enabled per connector
Manage credentials once, use from any MCP client
Monitor uptime and get alerted when servers go down

Available Tools

38 tools
dev.sendInspect

DEV ONLY — Sign and broadcast an unsigned transaction using a local private key (PK env var). For production, use a dedicated wallet MCP server (Fireblocks, Safe, Turnkey, etc.) instead of this tool. Takes the transaction object returned by any write.* tool and submits it onchain.

ParametersJSON Schema
NameRequiredDescriptionDefault
toYesTarget contract address
dataYesEncoded calldata (hex)
valueNoValue in wei (default '0')0
chain_idNoChain ID: 8453 (Base) or 130 (Unichain)
read.account.historyInspect

Get historical collateral and debt values for an Arcadia account over time. Returns a time series of snapshots (timestamp, collateral_value, debt_value, net_value). Each value is the account's net value in USD (human-readable, not raw units). Useful for charting account performance over a period.

ParametersJSON Schema
NameRequiredDescriptionDefault
daysNoNumber of days of history (default 14)
chain_idNoChain ID: 8453 (Base) or 130 (Unichain)
account_addressYesArcadia account address
read.account.infoInspect

Get full overview of an Arcadia account: health factor, collateral value, debt, deposited assets, liquidation price, and automation status. Health factor = 1 - (used_margin / liquidation_value): 1 = no debt (safest), >0 = healthy, 0 = liquidation threshold, <0 = past liquidation. Higher is safer. On Base, also returns which asset managers are enabled (rebalancer, compounder, yield_claimer, merkl_operator, cow_swapper). LP positions in assets[] include a dex_protocol field (slipstream, slipstream_v2, staked_slipstream, staked_slipstream_v2, uniV3, uniV4) — use this as the dex_protocol param for write.asset_manager.* tools. The automation object uses internal AM key names (slipstreamV1, slipstreamV2, uniV3, uniV4): map slipstreamV1 → 'slipstream'/'staked_slipstream', slipstreamV2 → 'slipstream_v2'/'staked_slipstream_v2', uniV3 → 'uniV3', uniV4 → 'uniV4'. Numeric fields without a _usd suffix are in the account's numeraire token raw units (divide by 10^decimals: 6 for USDC, 18 for WETH, 8 for cbBTC). Fields ending in _usd are in USD with 18 decimals (divide by 1e18). health_factor is unitless. Asset amounts are raw token units. To list all accounts for a wallet, use read.wallet.accounts.

ParametersJSON Schema
NameRequiredDescriptionDefault
chain_idNoChain ID: 8453 (Base) or 130 (Unichain)
account_addressYesArcadia account address
read.account.pnlInspect

Get PnL (cost basis) and yield earned for an Arcadia account. Returns lifetime totals: cost basis vs current value (negative cost_basis = net profit withdrawn), net transfers per token, total yield earned in USD and per token. cost_basis, current_value, cost_diff are in USD (human-readable). Per-token fields (net_transfers, summed_yields_earned) are in raw token units.

ParametersJSON Schema
NameRequiredDescriptionDefault
chain_idNoChain ID: 8453 (Base) or 130 (Unichain)
account_addressYesArcadia account address
read.asset.listInspect

List supported collateral assets on Arcadia. Returns compact list (address, symbol, decimals, type). Use search to filter by symbol substring. For USD prices, use read.asset.prices.

ParametersJSON Schema
NameRequiredDescriptionDefault
searchNoFilter assets by symbol (case-insensitive substring match)
chain_idNoChain ID: 8453 (Base) or 130 (Unichain)
read.asset_manager.intentsInspect

List all available automation intents with their tool names, required parameters, and supported chains. Use this to discover which automations can be configured and what each one does. Each intent has a corresponding write.asset_manager.{id} tool that returns encoded args. To apply automations, call the intent tools then pass the combined result to write.account.set_asset_managers. All intent tools accept enabled=false to disable. Multiple intents can be combined by merging their returned arrays into a single set_asset_managers call.

ParametersJSON Schema
NameRequiredDescriptionDefault
chain_idNoFilter to automations available on this chain. Omit to see all.
read.asset.pricesInspect

Get USD prices for one or more asset addresses. Pass a single address or comma-separated addresses. Returns a price map keyed by address.

ParametersJSON Schema
NameRequiredDescriptionDefault
chain_idNoChain ID: 8453 (Base) or 130 (Unichain)
asset_addressesYesSingle address or comma-separated addresses for price lookup
read.guidesInspect

Get Arcadia workflow guides and reference documentation. Call this before multi-step workflows (opening LP positions, enabling automation, closing positions) or when you need contract addresses, asset manager addresses, or strategy parameters. Topics: overview (addresses + tool catalog), automation (rebalancer/compounder setup), strategies (step-by-step templates), selection (how to evaluate and parameterize strategies).

ParametersJSON Schema
NameRequiredDescriptionDefault
topicNooverview = addresses + tool catalog, automation = rebalancer/compounder/claimer setup, strategies = step-by-step LP templates, selection = pool evaluation + leverage sizing
read.point_leaderboardInspect

Get the Arcadia points leaderboard (paginated). For a specific wallet's points balance, use read.wallet.points.

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNoMax leaderboard entries to return (default 25)
offsetNoSkip first N leaderboard entries for pagination
read.pool.infoInspect

Get detailed info for a single lending pool including APY history over time. Useful for analyzing rate trends and comparing pools. Use read.pool.list to discover pool addresses.

ParametersJSON Schema
NameRequiredDescriptionDefault
daysNoNumber of days of APY history
chain_idNoChain ID: 8453 (Base) or 130 (Unichain)
pool_addressYesPool address
read.pool.listInspect

List all Arcadia lending pools: TVL, utilization, available liquidity. Key fields: interest_rate = current borrow cost, lending_apy = lender yield. All rates are decimal fractions (1.0 = 100%, 0.06 = 6%). For APY history on a specific pool, use read.pool.info.

ParametersJSON Schema
NameRequiredDescriptionDefault
chain_idNoChain ID: 8453 (Base) or 130 (Unichain)
read.strategy.infoInspect

Get full detail for a specific LP strategy by ID — includes APY per range width (narrower range = higher APY but more rebalancing cost/risk), pool info, and configuration. Use read.strategy.list to discover strategy IDs. All APY values are decimal fractions (1.0 = 100%, 0.05 = 5%).

ParametersJSON Schema
NameRequiredDescriptionDefault
chain_idNoChain ID: 8453 (Base) or 130 (Unichain)
strategy_idYesStrategy ID
read.strategy.listInspect

Get Arcadia LP strategies. Use featured_only=true for curated top strategies (recommended first call). Returns a paginated list with 7d avg APY for each strategy's default range. Increase limit or use offset for pagination. All APY values are decimal fractions (1.0 = 100%, 0.05 = 5%). For full detail on a specific strategy (APY per range width), use read.strategy.info.

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNoMax strategies to return (default 25)
offsetNoSkip first N strategies for pagination
chain_idNoChain ID: 8453 (Base) or 130 (Unichain)
featured_onlyNoReturn only featured/curated strategies (recommended)
read.strategy.recommendationInspect

Get a rebalancing recommendation for an Arcadia account — suggests asset changes to optimize yield. Uses 1d APY (not 7d like read.strategy.list), so recommended strategies may differ from the list ranking. APY values are decimal fractions (0.05 = 5%). weekly_earning_difference is in USD.

ParametersJSON Schema
NameRequiredDescriptionDefault
chain_idNoChain ID: 8453 (Base) or 130 (Unichain)
account_addressYesArcadia account address
read.wallet.accountsInspect

List all Arcadia accounts owned by a wallet address. Returns a summary of each account (address, name). Call read.account.info with a specific account_address for full details like health factor, collateral, and debt.

ParametersJSON Schema
NameRequiredDescriptionDefault
chain_idNoChain ID: 8453 (Base) or 130 (Unichain)
wallet_addressYesWallet address to list accounts for
read.wallet.allowancesInspect

Check ERC20 token allowances for a spender address. Use before write.wallet.approve to avoid redundant approvals — skip approving if the current allowance is already sufficient.

ParametersJSON Schema
NameRequiredDescriptionDefault
chain_idNoChain ID: 8453 (Base) or 130 (Unichain)
owner_addressYesToken owner address (the wallet granting approval)
spender_addressYesSpender address to check allowance for (e.g. Arcadia account address)
token_addressesYesERC20 token contract addresses to check
read.wallet.balancesInspect

Get native ETH and ERC20 token balances for a wallet address. Reads directly from chain via RPC multicall. Use before write.account.add_liquidity or write.account.deposit to verify the wallet has sufficient tokens. Returns both raw balance (smallest unit/wei) and formatted (human-readable) per token.

ParametersJSON Schema
NameRequiredDescriptionDefault
chain_idNoChain ID: 8453 (Base) or 130 (Unichain)
wallet_addressYesWallet address to check balances for
token_addressesYesERC20 token contract addresses to check
read.wallet.pointsInspect

Get Arcadia points balance for a specific wallet address.

ParametersJSON Schema
NameRequiredDescriptionDefault
wallet_addressYesWallet address to get points for
write.account.add_liquidityInspect

Multi-step flash-action: atomically combines [deposit from wallet] + [use account collateral] + [swap to optimal ratio] + [mint LP] + [borrow if leveraged] in ONE transaction. Do NOT call write.account.deposit separately. Capital sources: wallet tokens (deposits array), existing account collateral (use_account_assets=true), or both. Check allowances first (read.wallet.allowances), then approve if needed (write.wallet.approve). Supports depositing multiple tokens and minting multiple LP positions in one tx. Works with both margin accounts (can leverage) and spot accounts (no leverage). For workflows, call read.guides('strategies'). The returned calldata is time-sensitive — sign and broadcast within 30 seconds. If the transaction reverts due to price movement, rebuild and sign again immediately (retry at least once before giving up). Response includes tenderly_sim_url and tenderly_sim_status for pre-broadcast validation. expected_value_change is in raw units of the account's numeraire token (6 decimals for USDC, 18 for WETH). Negative = cost to open, positive = value gained. Compare before.total_account_value and after.total_account_value for the full picture.

ParametersJSON Schema
NameRequiredDescriptionDefault
chain_idNoChain ID: 8453 (Base) or 130 (Unichain)
depositsNoWallet tokens to deposit. Approve each token first (write.wallet.approve). Omit to use only account collateral.
leverageNo0 = no borrow, 2 = 2x leverage. Margin accounts only.
slippageNoBasis points, 100 = 1%
positionsYesLP positions to mint. For a single position, pass one entry.
wallet_addressYesWallet address of the account owner
account_addressYesArcadia account address
use_account_assetsNoIf true, use ALL existing account collateral for LP minting. Fetched automatically.
write.account.borrowInspect

Build an unsigned transaction to borrow from an Arcadia lending pool against account collateral. NOT needed for leveraged LP — write.account.add_liquidity handles borrowing internally when leverage > 0. Only works with margin accounts (created with a creditor/lending pool). Spot accounts (no creditor) cannot borrow — the tool will validate this and reject. Before borrowing, verify the account has positive free margin via read.account.info: collateral_value must exceed used_margin.

ParametersJSON Schema
NameRequiredDescriptionDefault
toYesAddress to receive borrowed tokens
amountYesAmount in raw units
chain_idNoChain ID: 8453 (Base) or 130 (Unichain)
pool_addressYesLending pool: LP_WETH=0x803ea69c7e87D1d6C86adeB40CB636cC0E6B98E2, LP_USDC=0x3ec4a293Fb906DD2Cd440c20dECB250DeF141dF1, LP_CBBTC=0xa37E9b4369dc20940009030BfbC2088F09645e3B
account_addressYesArcadia account address used as collateral
write.account.closeInspect

Atomic flash-action that closes an Arcadia account position in ONE transaction. Combines up to 3 steps atomically: [burn LP position] + [swap all tokens to a single target asset] + [repay debt]. Tokens remain in the account after closing — use write.account.withdraw to send them to your wallet.

ALWAYS try this tool first when closing/exiting a position. Only fall back to individual tools (write.account.remove_liquidity, write.account.swap, write.account.deleverage, write.account.withdraw) if this tool fails.

Supports two modes:

  • close_lp_only=true: Burns LP and leaves underlying tokens in the account. Use as step 1 if the full close fails, then call again with close_lp_only=false to swap+repay the remaining tokens.

  • close_lp_only=false (default): Full atomic close — burns LP, swaps everything to receive_assets, repays debt. Remaining tokens stay in the account. Follow up with write.account.withdraw to send to wallet. Supports multiple receive assets with custom distribution.

The returned calldata is time-sensitive — sign and broadcast within 30 seconds. If the transaction reverts due to price movement, rebuild and sign again immediately (retry at least once before giving up). Response includes tenderly_sim_url and tenderly_sim_status for pre-broadcast validation.

ParametersJSON Schema
NameRequiredDescriptionDefault
assetsYesAssets to close/sell from the account. IMPORTANT: For LP positions (NFTs), always use amount='1' and decimals=1 — do NOT pass the liquidity amount. asset_address = position manager, asset_id = NFT token ID. For ERC20 tokens: asset_id = 0, amount = full balance in raw units, decimals = real token decimals. Get all values from read.account.info.
chain_idNoChain ID: 8453 (Base) or 130 (Unichain)
slippageNoBasis points, 100 = 1%
close_lp_onlyNotrue = only burn LP positions, leave underlying tokens in account. false = full close (burn + swap + repay).
receive_assetsNoTarget assets to receive after closing. For a single target, pass one entry. Required when close_lp_only=false. Omit for close_lp_only=true.
account_addressYesArcadia account address
write.account.createInspect

Build an unsigned transaction to create a new Arcadia account via the Factory contract. account_version: 3 with creditor → V3 margin account (can borrow/leverage). account_version: 0 or 4 → V4 spot account (no borrowing, creditor is ignored, any ERC20 allowed). Returns the predicted account address (deterministic via CREATE2).

ParametersJSON Schema
NameRequiredDescriptionDefault
saltYesUnique salt (uint32) for deterministic account address
chain_idNoChain ID: 8453 (Base) or 130 (Unichain)
creditorNoLending pool address for V3 margin account. Ignored for V4 spot accounts (version 0 or 4).
wallet_addressYesWallet address that will send the transaction (tx.origin, needed for address prediction)
account_versionNoAccount version: 0 = latest (V4 spot), 3 = margin (can borrow). 1/2 = legacy.
write.account.deleverageInspect

Multi-step flash-action: sells account collateral to the debt token and repays in one atomic transaction — no wallet tokens needed. To repay from wallet tokens instead, use write.account.repay. NOTE: If you are closing a position (remove LP + swap + repay + withdraw), prefer write.account.close which batches everything atomically. Only use this tool for standalone repayment while keeping the position active. The returned calldata is time-sensitive — sign and broadcast within 30 seconds. If the transaction reverts due to price movement, rebuild and sign again immediately (retry at least once before giving up). Response includes tenderly_sim_url and tenderly_sim_status for pre-broadcast validation — if tenderly_sim_status is 'false', do NOT broadcast the transaction.

ParametersJSON Schema
NameRequiredDescriptionDefault
chain_idNoChain ID: 8453 (Base) or 130 (Unichain)
creditorYesLending pool address
slippageNoBasis points, 100 = 1%
amount_inYesCollateral amount to sell (raw units)
numeraireYesDebt token address
asset_fromYesCollateral token to sell
account_addressYesArcadia account address
write.account.depositInspect

Build an unsigned transaction to deposit assets into an Arcadia account as collateral. Supports ERC20 tokens and ERC721 NFTs (LP positions). NOT needed before write.account.add_liquidity — that tool deposits from wallet atomically. Ensure the account is approved first (call read.wallet.allowances to check, then write.wallet.approve if needed). Account version is auto-detected on-chain (override with account_version if needed).

ParametersJSON Schema
NameRequiredDescriptionDefault
chain_idNoChain ID: 8453 (Base) or 130 (Unichain)
asset_idsNoToken IDs: 0 for ERC20, NFT token ID for ERC721
asset_typesNoV4 only. Asset types per asset: 1=ERC20, 2=ERC721, 3=ERC1155. If omitted, inferred from asset_ids (non-zero → ERC721).
asset_amountsYesAmounts in raw units/wei, one per asset
account_addressYesArcadia account address
account_versionNoOverride account version (3 or 4). Auto-detected on-chain if omitted.
asset_addressesYesToken contract addresses to deposit
write.account.remove_liquidityInspect

Flash-action: PARTIALLY decreases liquidity from an LP position. The position remains open with reduced liquidity; underlying tokens stay in the account.

For FULL position exit (burn LP + swap + repay + withdraw), use write.account.close instead — it batches everything into one atomic transaction.

The returned calldata is time-sensitive — sign and broadcast within 30 seconds. If the transaction reverts due to price movement, rebuild and sign again immediately (retry at least once before giving up). Response includes tenderly_sim_url and tenderly_sim_status for pre-broadcast validation.

ParametersJSON Schema
NameRequiredDescriptionDefault
asset_idYesNFT token ID
chain_idNoChain ID: 8453 (Base) or 130 (Unichain)
adjustmentYesLiquidity amount to remove (raw uint128 value as string). Must be less than total liquidity — for full removal use write.account.close.
asset_addressYesPosition manager contract
account_addressYesArcadia account address
write.account.repayInspect

Repay debt to an Arcadia lending pool using tokens from the wallet (requires ERC20 allowance). To repay using account collateral instead (no wallet tokens needed), use write.account.deleverage. Check allowance first (read.wallet.allowances), then approve the pool if needed (write.wallet.approve). Check outstanding debt with read.account.info.

ParametersJSON Schema
NameRequiredDescriptionDefault
amountYesAmount in raw units, or 'max_uint256' to repay all debt in full
chain_idNoChain ID: 8453 (Base) or 130 (Unichain)
pool_addressYesLending pool address. Base: LP_WETH=0x803ea69c7e87D1d6C86adeB40CB636cC0E6B98E2, LP_USDC=0x3ec4a293Fb906DD2Cd440c20dECB250DeF141dF1, LP_CBBTC=0xa37E9b4369dc20940009030BfbC2088F09645e3B
account_addressYesArcadia account address with debt
write.account.set_asset_managersInspect

Build an unsigned setAssetManagers transaction from encoded intent args. Takes the { asset_managers, statuses, datas } arrays returned by write.asset_manager.* intent tools and builds a single unsigned tx targeting the account. To combine multiple automations in one tx, concatenate the arrays from multiple intent tool calls before passing them here. Example: to enable rebalancer + merkl_operator, call both intent tools, merge their arrays, then pass the merged arrays to this tool. Returns { transaction: { to, data, value, chainId } }.

ParametersJSON Schema
NameRequiredDescriptionDefault
datasYesEncoded callback data from intent tools (hex strings)
chain_idNoChain ID: 8453 (Base) or 130 (Unichain)
statusesYesEnable/disable flags from intent tools
asset_managersYesAsset manager addresses from intent tools
account_addressYesArcadia account address (V3 or V4)
write.account.stakeInspect

Flash-action: stake, unstake, or claim rewards for an LP position in one atomic transaction. Use the action parameter to select the operation. asset_address is the position manager contract — pass the non-staked PM address when staking, or the staked PM address when unstaking. The returned calldata is time-sensitive — sign and broadcast within 30 seconds. If the transaction reverts due to price movement, rebuild and sign again immediately (retry at least once before giving up). Tenderly simulation may not be available for this endpoint — verify the position exists with read.account.info before signing.

ParametersJSON Schema
NameRequiredDescriptionDefault
actionYesAction to perform
asset_idYesNFT token ID of the LP position
chain_idNoChain ID: 8453 (Base) or 130 (Unichain)
asset_addressYesPosition manager contract address
account_addressYesArcadia account address
write.account.swapInspect

Flash-action: swaps assets within an Arcadia account in one atomic transaction. The backend finds the optimal swap route. NOTE: If you are closing a position (swap + repay + withdraw), prefer write.account.close which batches everything atomically. Only use this tool for standalone swaps within an active position. The returned calldata is time-sensitive — sign and broadcast within 30 seconds. If the transaction reverts due to price movement, rebuild and sign again immediately (retry at least once before giving up). Response includes tenderly_sim_url and tenderly_sim_status for pre-broadcast validation — if tenderly_sim_status is 'false', do NOT broadcast the transaction.

ParametersJSON Schema
NameRequiredDescriptionDefault
asset_toYesToken address to swap to
chain_idNoChain ID: 8453 (Base) or 130 (Unichain)
slippageNoBasis points, 100 = 1%
amount_inYesRaw units
asset_fromYesToken address to swap from
account_addressYesArcadia account address
write.account.withdrawInspect

Build an unsigned transaction to withdraw assets from an Arcadia account to the owner's wallet. Only the account owner can withdraw. Will revert if the account has debt and withdrawal would make it undercollateralized. Does not support max_uint256 — pass exact amounts from read.account.info. Account version is auto-detected on-chain (override with account_version if needed).

ParametersJSON Schema
NameRequiredDescriptionDefault
chain_idNoChain ID: 8453 (Base) or 130 (Unichain)
asset_idsNoToken IDs: 0 for ERC20, NFT token ID for ERC721
asset_typesNoV4 only. Asset types per asset: 1=ERC20, 2=ERC721, 3=ERC1155. If omitted, inferred from asset_ids (non-zero → ERC721).
asset_amountsYesAmounts in raw units/wei, one per asset
account_addressYesArcadia account address
account_versionNoOverride account version (3 or 4). Auto-detected on-chain if omitted.
asset_addressesYesToken contract addresses to withdraw
write.asset_manager.compounderInspect

Encode args for the standalone compounder automation. Claims accumulated LP trading fees and reinvests them back into the position (compound interest). LP fees only — does NOT claim staking rewards like AERO; use write.asset_manager.compounder_staked for staked positions earning emission tokens. When paired with a rebalancer, the rebalancer compounds at rebalance time — adding a compounder also compounds between rebalances for higher effective APY. Returns { asset_managers, statuses, datas } — pass to write.account.set_asset_managers. Combinable with other intent tools.

ParametersJSON Schema
NameRequiredDescriptionDefault
enabledNoTrue to enable, false to disable
chain_idNoChain ID: 8453 (Base) or 130 (Unichain)
dex_protocolYesDEX protocol of the LP position — used to resolve the correct asset manager address.
write.asset_manager.compounder_stakedInspect

Encode args for compounder coupled with CowSwap for staked LP positions (e.g. staked Slipstream/Aerodrome). Staked positions earn staking emission rewards (e.g. AERO, OP, or any configured emission token) — not LP fees. Claims these staking rewards, swaps them to a target token via CowSwap batch auctions (MEV-protected), then compounds back into the LP position. Sets metadata on BOTH the CowSwapper and the Compounder in a single call. sell_tokens is the list of reward token addresses (e.g. [AERO_address]). buy_token should be a major token in the pair (USDC, WETH, cbBTC). Returns { asset_managers, statuses, datas } with 2 entries (cowswapper + compounder). Base only. Combinable with other intent tools.

ParametersJSON Schema
NameRequiredDescriptionDefault
enabledNoTrue to enable, false to disable
chain_idNoChain ID: 8453 (Base) or 130 (Unichain)
buy_tokenYesToken address to buy — should be a major token in the pair (USDC, WETH, cbBTC)
sell_tokensYesToken addresses to sell via CowSwap (typically [AERO] for staked positions)
dex_protocolYesDEX protocol of the LP position — used to resolve the correct asset manager address.
write.asset_manager.cow_swapperInspect

Encode args for standalone direct CowSwap mode. Enables the CowSwapper to swap any ERC20 → ERC20 via CoW Protocol batch auctions (MEV-protected). Unlike compounder_staked or yield_claimer_cowswap, this is NOT coupled to any other automation — each swap requires an additional signature from the account owner. Only available on Base (8453). Returns { asset_managers, statuses, datas } — pass to write.account.set_asset_managers. Combinable with other intent tools.

ParametersJSON Schema
NameRequiredDescriptionDefault
enabledNoTrue to enable, false to disable
chain_idNoChain ID: 8453 (Base)
write.asset_manager.merkl_operatorInspect

Encode args for the Merkl operator automation. Claims external Merkl protocol incentive rewards into the account — additional rewards paid by token teams on top of regular LP fees. Enable when the pool has active Merkl campaigns (check APY breakdown in read.strategy.list). Always combine with rebalancer when both are relevant — no conflict, extra free yield. Returns { asset_managers, statuses, datas } — pass to write.account.set_asset_managers. Combinable with other intent tools.

ParametersJSON Schema
NameRequiredDescriptionDefault
enabledNoTrue to enable, false to disable
chain_idNoChain ID: 8453 (Base) or 130 (Unichain)
reward_recipientYesAddress to receive Merkl rewards
write.asset_manager.rebalancerInspect

Encode args for the rebalancer automation. When the LP position goes out of range, Arcadia's bot repositions it centered on the current price. All pending fees and staking rewards are claimed and compounded into the new position. Strategy config: 'default' (all params at defaults) uses when_out_of_range — rebalances exactly when price exits range. 'custom' (any param differs) uses time_and_price_based_triggers — adds configurable trigger offsets, cooldowns, and token composition. Returns { asset_managers, statuses, datas } — pass to write.account.set_asset_managers to build the unsigned tx. Combinable: merge arrays from multiple intent tools to configure several automations in one tx. trigger_lower_ratio and trigger_upper_ratio are independent — asymmetric configs are valid (e.g. trigger_lower_ratio=-50000, trigger_upper_ratio=0 means: trigger 5% of the tick range before the lower boundary is hit, but only trigger exactly at the upper boundary). Ratios represent tick distance, not price: a ratio of 50000 shifts the trigger by 5% of (tick_upper − tick_lower) ticks, which is not the same as 5% of price.

ParametersJSON Schema
NameRequiredDescriptionDefault
enabledNoTrue to enable, false to disable
chain_idNoChain ID: 8453 (Base) or 130 (Unichain)
dex_protocolYesDEX protocol of the LP position — used to resolve the correct asset manager address.
strategy_hookNoStrategy hook address. Defaults to minimal hook. Only override for custom hooks.
compound_leftoversNoWhat to reinvest after rebalance (default "all" = compound both)all
max_rebalance_timeNoMax seconds before forced rebalance (default 1e12 = effectively disabled)
min_rebalance_timeNoMin seconds between rebalances (default 3600 = 1 hour)
trigger_lower_ratioNoOffset from tick_lower, as a fraction of the position's tick range, scaled by 1e6. trigger_tick_lower = tick_lower - tick_range * ratio. 0 = trigger at the boundary. Positive (e.g. 50000 = 5% of tick range): trigger tick is outside the position — price must travel further beyond the range before rebalance fires (delayed). Negative (e.g. -50000 = -5%): trigger tick is inside the position — rebalance fires while price is still within range (preemptive).
trigger_upper_ratioNoOffset from tick_upper, as a fraction of the position's tick range, scaled by 1e6. trigger_tick_upper = tick_upper + tick_range * ratio. 0 = trigger at the boundary. Positive (e.g. 50000 = 5% of tick range): trigger tick is outside the position — price must travel further beyond the range before rebalance fires (delayed). Negative (e.g. -50000 = -5%): trigger tick is inside the position — rebalance fires while price is still within range (preemptive).
optimal_token0_ratioNoTarget token0 composition scaled by 1e6: 500000 = 50%, 750000 = 75%
write.asset_manager.yield_claimerInspect

Encode args for the standalone yield claimer automation. Periodically claims pending fees/emissions and sends them to a designated recipient (wallet, another account, or any address). Returns { asset_managers, statuses, datas } — pass to write.account.set_asset_managers. Combinable with other intent tools.

ParametersJSON Schema
NameRequiredDescriptionDefault
enabledNoTrue to enable, false to disable
chain_idNoChain ID: 8453 (Base) or 130 (Unichain)
dex_protocolYesDEX protocol of the LP position — used to resolve the correct asset manager address.
fee_recipientYesAddress to receive claimed fees (wallet address or any destination)
write.asset_manager.yield_claimer_cowswapInspect

Encode args for yield claimer coupled with CowSwap. Claims LP fees, then swaps the claimed tokens to a target token via CowSwap batch auctions (MEV-protected). For staked LPs, sell_tokens is the staking reward token list (e.g. [AERO_address]). For non-staked LPs, sell_tokens is all LP fee tokens except the buy_token — e.g. for a WETH/USDC LP claiming fees as USDC, use sell_tokens: [WETH_address], buy_token: USDC_address. Sets metadata on BOTH the CowSwapper and the Yield Claimer. Returns { asset_managers, statuses, datas } with 2 entries (cowswapper + yield_claimer). Base only. Combinable with other intent tools.

ParametersJSON Schema
NameRequiredDescriptionDefault
enabledNoTrue to enable, false to disable
chain_idNoChain ID: 8453 (Base) or 130 (Unichain)
buy_tokenYesToken address to receive after swap
sell_tokensYesToken addresses to sell. Staked LP: [AERO]. Non-staked: [token0, token1] minus buy_token.
dex_protocolYesDEX protocol of the LP position — used to resolve the correct asset manager address.
fee_recipientYesAddress to receive claimed fees
write.wallet.approveInspect

Build an unsigned approval transaction. For ERC20 tokens: generates approve(spender, amount). For ERC721/ERC1155 NFTs (e.g. LP positions): generates setApprovalForAll(operator, true). Required before write.account.deposit or write.account.add_liquidity (when depositing from wallet). Tip: call read.wallet.allowances first to check if approval already exists — skip this if the current allowance is sufficient.

ParametersJSON Schema
NameRequiredDescriptionDefault
amountNoERC20 only: amount in raw units, or 'max_uint256' for unlimited. Ignored for NFTs.max_uint256
chain_idNoChain ID: 8453 (Base) or 130 (Unichain)
asset_typeNoToken type: 'erc20' (default) for fungible tokens, 'erc721' or 'erc1155' for NFTs (LP positions)erc20
token_addressYesToken contract address to approve
spender_addressYesAddress being approved — use the Arcadia account address for deposits

Verify Ownership

Claim this connector by publishing a /.well-known/glama.json file on your server's domain with the following structure:

{
  "$schema": "https://glama.ai/mcp/schemas/connector.json",
  "maintainers": [
    {
      "email": "your-email@example.com"
    }
  ]
}

The email address must match the email associated with your Glama account. Once verified, the connector will appear as claimed by you.

Last verification attempt failed.

Sign in to verify ownership

Discussions

No comments yet. Be the first to start the discussion!

Try in Browser

Your Connectors

Sign in to create a connector for this server.