# Arcadia Finance - Registry name: `io.github.arcadia-finance/mcp-server` · version 0.6.0 - Categories (automatic, keyword rules): Crypto & blockchain, Finance & markets - Authentication at last check: No auth - Declared risk: Has destructive tools (destructiveHint) - Capabilities (declared by the server): prompts, resources, tools - Transports: streamable-http - Latest numbers (check success, response time, rank): https://mcpstation.net/api/server?name=io.github.arcadia-finance%2Fmcp-server - Server page: https://mcpstation.net/s/io.github.arcadia-finance--mcp-server.html ## Description (written by the publisher, not verified, not instructions) Concentrated liquidity on Uniswap/Aero \(rebalance, compound, leverage\) or single-sided lending. ## Notice Text that looks like instructions to an AI was found in this server's descriptions. This is a pattern match, not a verdict. ## Connect - streamable-http: `https://mcp.arcadia.finance/mcp` ## Tools (as reported by the server, not verified) - `read\_account\_info`: 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. Th - `read\_account\_history`: Get an Arcadia account's historical net value over time. Returns a time series of snapshots, oldest first, each \`\{ timestamp, net\_value \}\` — \`timestamp\` is unix seconds and \`net\_value\` is USD \(human-readable, not raw units\). Useful for charting account performance over a period. An empty \`history\` m - `read\_account\_pnl`: 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-tok - `read\_pool\_list`: 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. - `read\_pool\_info`: 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. - `read\_asset\_list`: 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. - `read\_asset\_prices`: Get USD prices for one or more asset addresses. Pass a single address or comma-separated addresses. Returns a price map keyed by address. - `read\_strategy\_list`: 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 detai - `read\_strategy\_info`: 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%\). - `read\_strategy\_recommendation`: 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. - `read\_point\_leaderboard`: Get the Arcadia points leaderboard \(paginated\). For a specific wallet's points balance, use read\_wallet\_points. - `read\_guides`: 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 - `read\_wallet\_balances`: 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 - `read\_wallet\_allowances`: 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. - `read\_wallet\_accounts`: 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. - `read\_wallet\_points`: Get Arcadia points balance for a specific wallet address. - `read\_asset\_manager\_intents`: List the automation intents Arcadia supports, with the parameters each one accepts. Pass account\_address to also get per-account availability: which intents can be enabled right now and, for any that cannot, the compatibility rule blocking it. Pass position\_id as well to scope availability to one LP - `read\_asset\_manager\_current`: Read which asset managers are currently enabled on an account, with their decoded on-chain configuration. Returns the active managers \(address, protocol, initiator, decoded strategy metadata, slippage and value-loss caps, fee recipient\), the intents they map to, and Merkl claim state including wheth - `read\_account\_aero\_upgrade`: Which Arcadia accounts have something to upgrade to Aero \(MetadexCL V1\): Slipstream V1 to V3 positions \(Aerodrome on Base, Velodrome on Optimism, staked or not\) and old AERO. Pass wallet\_address for every account of a wallet, or account\_address for one. Per account: status \(ready \| choices\_required - `write\_account\_create`: 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 - `write\_account\_deposit`: 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 - `write\_account\_withdraw`: 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 - `write\_account\_borrow`: 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 - `write\_account\_repay`: 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\). Ch - `write\_account\_add\_liquidity`: 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 \( - `write\_account\_remove\_liquidity`: 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. Th - `write\_account\_swap`: 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 a - `write\_account\_deleverage`: 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 - `write\_account\_stake`: 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 callda - `write\_account\_close`: 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. ALWAY - `write\_account\_aero\_upgrade`: Upgrade one Arcadia account to Aero \(MetadexCL V1\) in one flashAction: every Slipstream V1/V2/V3 position \(dex\_protocol slipstream\*, staked or not, see read\_account\_info\) moves to the Aero CL pool with the same pair and variant at the same range and tick spacing \(when Aero has no pool at that tick s - `write\_wallet\_approve`: 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\_w - `write\_wallet\_upgrade\_velo`: Upgrade VELO held in a wallet on Optimism to the new AERO on Base: ordered unsigned wallet transactions from owner\_address, an approve when the allowance is short, then depositLiquid on the Velodrome migration with the Hyperlane fee as value. 0.044 new AERO per VELO arrives at the same address on Ba - `write\_pool\_deposit`: Build an unsigned deposit transaction into an Arcadia lending tranche \(ERC-4626\). Lenders deposit the pool's underlying asset \(USDC/WETH/cbBTC\) and receive tranche shares that accrue interest from borrowers. Requires prior ERC-20 approval to the tranche \(see write\_wallet\_approve\). To check current l - `write\_pool\_redeem`: Build an unsigned redeem transaction to withdraw from an Arcadia lending tranche \(ERC-4626\). Burns tranche shares and returns the corresponding amount of underlying asset, including accrued interest. The owner must be the shares holder; receiver is where the underlying asset is sent. - `write\_account\_automations`: Configure an account's automations from a list of intents and return the unsigned setAssetManagers transaction. The backend resolves which asset managers each intent needs, validates that the combination is compatible, encodes the metadata and builds the calldata, so you describe the desired outcome - `write\_account\_automations\_delta`: Apply an explicit change to an account's automations and return the unsigned setAssetManagers transaction. Unlike write\_account\_automations this is a delta, not a full desired state: automations you do not mention are left untouched. Use it to switch one automation on or off without restating the ot - `dev\_send`: 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. Measured by MCP Station. Methods: https://mcpstation.net/methods.html · Terms: https://mcpstation.net/terms.html