stake_transaction
Execute cryptocurrency staking operations to earn rewards by locking assets, converting stake requests into transaction-ready containers for blockchain processing.
Instructions
Execute a stake transaction.
Expects a StakeTransactionRequestContainer, returns a SwapTransactionRequestContainer.
Input Schema
TableJSON Schema
| Name | Required | Description | Default |
|---|---|---|---|
| stake_transaction_requests | Yes |
Implementation Reference
- armor_crypto_mcp/armor_mcp.py:530-543 (handler)MCP tool handler function that executes the stake transaction by calling the armor_client's stake_transaction method, with error handling for authentication.@mcp.tool() async def stake_transaction(stake_transaction_requests: StakeTransactionRequestContainer) -> SwapTransactionRequestContainer: """ Execute a stake transaction. Expects a StakeTransactionRequestContainer, returns a SwapTransactionRequestContainer. """ if not armor_client: return [{"error": "Not logged in"}] try: result: SwapTransactionRequestContainer = await armor_client.stake_transaction(stake_transaction_requests) return result except Exception as e: return [{"error": str(e)}]
- Pydantic model for a single StakeTransactionRequest, containing the transaction_id from the prior stake quote.class StakeTransactionRequest(BaseModel): transaction_id: str = Field(description="unique id of the generated stake quote")
- Container Pydantic model holding a list of StakeTransactionRequest for batch processing.class StakeTransactionRequestContainer(BaseModel): stake_transaction_requests: List[StakeTransactionRequest]
- Helper method in ArmorWalletAPIClient that sends the stake transaction request to the API endpoint /transactions/swap/.async def stake_transaction(self, data: StakeTransactionRequestContainer) -> StakeTransactionRequestContainer: """Execute the stake transactions.""" payload = data.model_dump(exclude_none=True)['stake_transaction_requests'] return await self._api_call("POST", "transactions/swap/", payload)
- armor_crypto_mcp/armor_mcp.py:530-530 (registration)FastMCP decorator that registers the stake_transaction function as an MCP tool.@mcp.tool()