create_wallet
Generate new cryptocurrency wallets for managing digital assets, enabling secure storage and transaction capabilities within blockchain ecosystems.
Instructions
Create new wallets.
Expects a list of wallet names, returns a list of WalletInfo.
Input Schema
TableJSON Schema
| Name | Required | Description | Default |
|---|---|---|---|
| create_wallet_requests | Yes |
Implementation Reference
- armor_crypto_mcp/armor_mcp.py:274-287 (handler)The main MCP tool handler for 'create_wallet'. It is decorated with @mcp.tool(), receives a CreateWalletRequestContainer, checks authentication, calls armor_client.create_wallet(), and handles errors.@mcp.tool() async def create_wallet(create_wallet_requests: CreateWalletRequestContainer) -> List[WalletInfo]: """ Create new wallets. Expects a list of wallet names, returns a list of WalletInfo. """ if not armor_client: return [{"error": "Not logged in"}] try: result: List[WalletInfo] = await armor_client.create_wallet(create_wallet_requests) return result except Exception as e: return [{"error": str(e)}]
- Pydantic schema for a single CreateWalletRequest, defining the 'name' field for the wallet to create.class CreateWalletRequest(BaseModel): name: str = Field(description="Name of the wallet to create")
- Pydantic container schema wrapping a list of CreateWalletRequest for batch wallet creation.class CreateWalletRequestContainer(BaseModel): create_wallet_requests: List[CreateWalletRequest]
- Helper method in ArmorWalletAPIClient that performs the actual API call to create wallets by POSTing to '/wallets/' endpoint.async def create_wallet(self, data: CreateWalletRequestContainer) -> List[WalletInfo]: """Create new wallets given a list of wallet names.""" # payload = json.dumps([{"name": wallet_name} for wallet_name in data.wallet_names]) payload = data.model_dump(exclude_none=True)['create_wallet_requests'] return await self._api_call("POST", "wallets/", payload)
- Pydantic schema for WalletInfo, the return type of the create_wallet operations.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")