# Rhaios - Complete Machine Integration Reference Rhaios is a trusted execution engine for agent-native DeFi yield. MCP (Model Context Protocol) is the canonical integration interface. Rhaios is non-custodial. Your agent keeps its own keys. --- ## 1) Endpoints - App: https://staging.rhaios.com - MCP: https://mcp-staging.rhaios.com/mcp - Health: https://mcp-staging.rhaios.com/health - Agent card (JSON): https://staging.rhaios.com/agent-card.json - LLM summary: https://staging.rhaios.com/llms.txt - LLM full reference: https://staging.rhaios.com/llms-full.txt - Docs: https://docs.rhaios.com Staging reference: - MCP: https://staging.rhaios.com/mcp - Health: https://staging.rhaios.com/health - Chain: ethereum-sepolia (chainId: 11155111) Production transport is HTTP MCP (streamable HTTP), server-to-server. --- ## 2) Pricing | Tool | Cost | |------|------| | `yield_prepare` | Pricing policy ($0.001 via x402, currently not enforced on this deployment) | | `yield_execute` | Free (+ gas) | | `yield_status` | Free | | `yield_history` | Free | Staging reference price: $0.001 per `yield_prepare` call. --- ## 3) Supported Chains This deployment accepts: ethereum-sepolia. --- ## 4) Core MCP Flow 1. `yield_prepare` 2. If `needsSetup=true`: EIP-7702 setup transaction 3. Sign intent envelope 4. `yield_execute` 5. `yield_status` and `yield_history` for verification --- ## 5) Tool Reference ### yield_discover Discover and rank yield vaults by APY, risk, TVL, and Sharpe ratio. Returns scored candidates for agent-side selection. Input fields: - `chain` (string, optional) | enum: ethereum-sepolia | default: "ethereum-sepolia" - `asset` (string, optional) - `strategy` (string, optional) | enum: maximize_apy | minimize_risk | balanced | default: "balanced" - `riskTolerance` (string, optional) | enum: low | medium | high - `minApy` (number, optional) - `limit` (number, optional) | default: 5 Output fields: - `chain` (string) - `chainId` (number) - `strategy` (string) - `count` (number) - `vaults` (array) Example input: ```json { "chain": "base", "asset": "USDC", "strategy": "balanced", "minApy": 10, "limit": 3 } ``` Example output: ```json { "chain": "base", "chainId": 8453, "strategy": "balanced", "count": 3, "vaults": [ { "vaultId": "42", "vaultAddress": "0x1234567890abcdef1234567890abcdef12345678", "name": "Morpho Blue USDC", "protocol": "morpho", "asset": "USDC", "apy": { "now": 11.8, "week": 11.2, "month": 10.5 }, "risk": { "score": 0.15, "level": "low", "rating": "A" }, "sharpe": { "week": 2.1, "month": 1.8 }, "tvlUsd": 45000000, "tier": "S", "compositeScore": 87.3 } ] } ``` ### yield_prepare Strategy and execution-prep tool for deposit, redeem, and rebalance operations. Pricing policy exists and can be enforced via x402. Input fields: - `operation` (string, optional) | enum: deposit | redeem | rebalance | default: "deposit" - `asset` (string, optional) - `amount` (string, optional) - `chain` (string, optional) | enum: ethereum-sepolia | default: "ethereum-sepolia" - `agentAddress` (string, required) - `strategy` (string, optional) | enum: maximize_apy | minimize_risk | balanced | default: "balanced" - `riskTolerance` (string, optional) | enum: low | medium | high - `vaultId` (string, optional) - `shares` (string, optional) - `percentage` (number, optional) Output fields: - `operation` (string) - `intentId` (string) - `needsSetup` (boolean) - `strategy` (object) - `setup` (object) - `execution` (object) Example input: ```json { "operation": "deposit", "asset": "USDC", "amount": "1000", "chain": "base", "agentAddress": "0x1111111111111111111111111111111111111111", "strategy": "balanced" } ``` Example output: ```json { "operation": "deposit", "intentId": "f3ab8fb8-4adb-4f0f-bcff-f38165d55f58", "needsSetup": false, "strategy": { "vaultName": "Morpho Blue USDC", "expectedAPY": 0.162, "riskScore": "low" }, "execution": { "to": "0x1111111111111111111111111111111111111111", "calldata": "0x...", "estimatedGas": "300000" } } ``` ### yield_execute Validate and relay signed intent envelopes, then return receipt details. Input fields: - `intentEnvelope` (object, required) - `intentSignature` (string, required) - `intentId` (string, optional) Output fields: - `executionModel` (string) - `userOpHash` (string) - `txHash` (string) - `chainId` (number) - `chain` (string) - `receipt` (object) - `explorerUrl` (string) Example input: ```json { "intentEnvelope": { "version": "1", "intentId": "f3ab8fb8-4adb-4f0f-bcff-f38165d55f58", "chainId": 8453, "entryPoint": "0x0000000071727De22E5E9d8BAf0edAc6f37da032", "sender": "0x1111111111111111111111111111111111111111", "userOps": [ { "userOperation": { "sender": "0x1111111111111111111111111111111111111111", "nonce": "0x1", "callData": "0x...", "signature": "0x1234" } } ], "destinationExecutions": [], "expiry": 1739932000, "validAfter": 1739931100, "merkleRoot": "0x1111111111111111111111111111111111111111111111111111111111111111", "proofs": [ [] ] }, "intentSignature": "0x1234", "intentId": "f3ab8fb8-4adb-4f0f-bcff-f38165d55f58" } ``` Example output: ```json { "executionModel": "erc4337-validator-intent-v1", "userOpHash": "0x4f3e5a76d37bcfbfbd29652d4c26f20f39f84db4ec0d038df42f2f72e1e8b8a2", "txHash": "0x9c3ec6d6de7b3b4f0f6f19d9d8a73f0f9f77a17f5d5f3ea0c9f234569c0b8e72", "chainId": 8453, "chain": "base", "receipt": { "status": "success", "gasUsed": "241919", "blockNumber": 28430172 }, "explorerUrl": "https://basescan.org/tx/0x9c3ec6d6de7b3b4f0f6f19d9d8a73f0f9f77a17f5d5f3ea0c9f234569c0b8e72" } ``` ### yield_status Read current positions and aggregate portfolio performance. Input fields: - `userAddress` (string, required) Output fields: - `positions` (array) - `totalValueUsd` (number) - `totalDeposited` (number) - `totalYieldEarned` (number) - `positionCount` (number) Example input: ```json { "userAddress": "0x1111111111111111111111111111111111111111" } ``` Example output: ```json { "positionCount": 2, "totalValueUsd": 10243.67, "totalYieldEarned": 243.67 } ``` ### yield_history Return APY/TVL history for a vault over selectable time windows. Input fields: - `vaultId` (string, required) - `period` (string, optional) | enum: 1h | 24h | 7d | 30d | 90d | default: "7d" - `resolution` (string, optional) | enum: hourly | daily Output fields: - `vaultId` (string) - `period` (string) - `resolution` (string) - `data` (array) - `summary` (object) Example input: ```json { "vaultId": "42", "period": "30d", "resolution": "daily" } ``` Example output: ```json { "vaultId": "42", "period": "30d", "resolution": "daily", "summary": { "avgApy": 11.48, "maxApy": 15.72, "dataPoints": 30 } } ```