Skip to main content
Glama

write_account_remove_liquidity

Idempotent

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.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
asset_idYesNFT token ID
chain_idNoChain ID: 8453 (Base), 130 (Unichain), 10 (Optimism), or 4663 (Robinhood)
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

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
afterNo
beforeNo
descriptionNo
transactionYes
tenderly_sim_urlNo
tenderly_sim_statusNo
expected_value_changeNo

TDQS

A4.7/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Beyond the annotations, the description adds meaningful behavioral context: the calldata is time-sensitive and must be broadcast within 30 seconds, failed transactions should be rebuilt and retried at least once, and the response includes tenderly_sim_url and tenderly_sim_status for pre-broadcast validation. These details materially change how an agent should execute the call. No contradiction with annotations detected.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is front-loaded with the core action, then moves to the key alternative, then to execution-critical guidance. Every sentence adds operational value, including the 30-second window, retry instruction, and tenderly simulation note. The length is justified by the tool's time-sensitive and failure-prone nature.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The definition is complete for a transaction-builder tool: it covers what the tool does, when to use it vs. the sibling, the partial-exit behavior, time sensitivity, retry handling, and pre-broadcast validation. An output schema exists, so return-value details need not be restated, and the description adds the operational context an agent needs to call and act on the result correctly.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the schema already documents all five parameters in detail. The description reinforces the partial-vs-full distinction relevant to the adjustment parameter, but it does not add significant new parameter-level semantics beyond what the schema provides. Baseline 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a specific verb and resource: 'PARTIALLY decreases liquidity from an LP position.' It also clarifies the resulting state ('position remains open with reduced liquidity; underlying tokens stay in the account') and explicitly contrasts itself with the full-exit sibling write_account_close, making the tool's identity unambiguous.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description gives an explicit when-to-use signal: use this tool for partial removal, and for full position exit use write_account_close instead, noting that it 'batches everything into one atomic transaction.' This directly routes an agent to the correct sibling without leaving the decision to inference.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

TDQS

A4.2/5.0
Disambiguation5/5

Each tool targets a distinct resource and action, with clear read/write separation and detailed descriptions that specify exact use cases. Overlapping tools like write_account_deposit vs write_account_add_liquidity explicitly cross-reference to avoid misuse, and the asset-manager variants are clearly differentiated by staking/compounding/CowSwap behaviors.

Naming Consistency5/5

All tools follow a consistent read_* / write_* prefix with snake_case resource and action naming. Subgroup patterns are uniform (e.g., write_account_*, write_asset_manager_*), and the only outlier, dev_send, is intentionally marked as a dev-only exception.

Tool Count2/5

Forty tools is a very large surface, well above the typical 3-15 range for a well-scoped server. The seven separate write_asset_manager_* intent tools are highly granular and could likely be consolidated into a single parameterized automation tool, reducing cognitive load.

Completeness5/5

The tool set covers the full Arcadia lifecycle: account creation, collateral deposit/withdrawal, borrowing/repayment, LP add/remove/close, staking, automations, lending pool deposits/redeems, and comprehensive read operations. No obvious workflow dead ends exist, and all necessary supporting reads (prices, allowances, balances) are present.