get_all_wallets
Retrieve a list of wallets and their associated assets, including balances, for blockchain operations. Specify whether to include archived wallets.
Instructions
Retrieve all wallets with balances.
Returns a list of Wallets and asssets
Input Schema
TableJSON Schema
| Name | Required | Description | Default |
|---|---|---|---|
| get_all_wallets_requests | Yes |
Implementation Reference
- armor_crypto_mcp/armor_mcp.py:176-189 (handler)MCP tool handler for get_all_wallets, decorated with @mcp.tool() for registration. Checks login and delegates to ArmorClient.@mcp.tool() async def get_all_wallets(get_all_wallets_requests: ListWalletsRequest) -> List[Wallet]: """ Retrieve all wallets with balances. Returns a list of Wallets and asssets """ if not armor_client: return [{"error": "Not logged in"}] try: result: List[Wallet] = await armor_client.get_all_wallets(get_all_wallets_requests) return result except Exception as e: return [{"error": str(e)}]
- Output schemas: WalletBalance, WalletInfo, and Wallet (inherits WalletInfo with balances list). Input uses ListWalletsRequest below.class WalletBalance(BaseModel): mint_address: str = Field(description="public mint address of output token. To get the address from a token symbol use `get_token_details`") name: str = Field(description="name of the token") symbol: str = Field(description="symbol of the token") decimals: int = Field(description="number of decimals of the token") amount: float = Field(description="balance of the token") usd_price: str = Field(description="price of the token in USD") usd_amount: float = Field(description="balance of the token in USD") class WalletInfo(BaseModel): id: str = Field(description="wallet id") name: str = Field(description="wallet name") is_archived: bool = Field(description="whether the wallet is archived") public_address: str = Field(description="public address of the wallet") class Wallet(WalletInfo): balances: List[WalletBalance] = Field(description="list of balances of the wallet")
- Input schema: ListWalletsRequest Pydantic model defining the is_archived parameter.class ListWalletsRequest(BaseModel): is_archived: bool = Field(default=False, description="whether to include archived wallets")
- Core helper method in ArmorClient that performs the API GET call to retrieve wallets based on is_archived flag.async def get_all_wallets(self, data: ListWalletsRequest) -> List[Wallet]: """Return all wallets with balances.""" return await self._api_call("GET", f"wallets/?is_archived={data.is_archived}")
- armor_crypto_mcp/armor_mcp.py:176-176 (registration)@mcp.tool() decorator registers the get_all_wallets function as an MCP tool.@mcp.tool()