Skip to main content
Glama

write_account_deposit

Idempotent

Creates an unsigned transaction for depositing ERC20 tokens or ERC721 NFTs into an Arcadia account as collateral; verify wallet allowances and approve before use.

Instructions

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).

Input Schema

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

Output Schema

NameRequiredDescriptionDefault
descriptionYes
transactionYes
predicted_account_addressNo

Schema Changelog

Changes observed during successful MCP inspections.

  1. Addedv0.6.0

TDQS

A4.6/5.0
Behavior4/5

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

Annotations already declare readOnlyHint=false, idempotentHint=true and destructiveHint=false, yet the description adds real context: the output is an *unsigned* transaction (nothing is broadcast), allowances must be in place or the call fails downstream, and account version is auto-detected on-chain with an override. It does not cover what to do with the returned unsigned tx (sign/broadcast, e.g. via dev_send) or failure modes, so not a 5.

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?

Four tight sentences, front-loaded with the core action, then exclusions, then prerequisites, then an edge case. No sentence is redundant with the title or schema.

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

Completeness4/5

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

For a 7-parameter mutation with 100% schema coverage, annotations and an output schema, the description covers prerequisites, the sibling alternative, and version handling. The remaining gap is the lifecycle after building the unsigned tx — an agent must infer that it needs a separate signing/broadcast step.

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

Parameters4/5

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

Schema coverage is 100%, so 3 is the baseline; the description still adds meaning by framing the asset arrays as ERC20 tokens vs ERC721 NFT LP positions and by explaining the account_version auto-detect/override behavior. It leaves the asset_ids/asset_types/asset_amounts alignment rules entirely to the schema.

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?

States a specific verb and resource: 'Build an unsigned transaction to deposit assets into an Arcadia account as collateral', plus the supported asset classes. It also explicitly distinguishes itself from the sibling write_account_add_liquidity, so an agent can route without opening schemas.

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?

Gives an explicit negative condition ('NOT needed before write_account_add_liquidity: that tool deposits from wallet atomically') and a concrete prerequisite chain naming the exact tools to call first (read_wallet_allowances, then write_wallet_approve). This is when/when-not/alternatives all in one.

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