Agent Contract

Rhaios Agent Card

A machine-readable capability document that AI systems can ingest to discover tools, schemas, and endpoints.

Rhaios

v1.1.0

Yield intelligence agent for DeFi. Rhaios discovers the best vaults, curates strategies, prepares intents, and relays execution.

mixed

Raw JSON

{
  "name": "Rhaios",
  "version": "1.1.0",
  "description": "Yield intelligence agent for DeFi. Rhaios discovers the best vaults, curates strategies, prepares intents, and relays execution.",
  "capabilities": [
    {
      "tool": "yield_discover",
      "description": "Discover and rank yield vaults by APY, risk, TVL, and Sharpe ratio. Returns scored candidates for agent-side selection.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "chain": {
            "type": "string",
            "enum": [
              "base",
              "ethereum"
            ],
            "default": "base"
          },
          "asset": {
            "type": "string"
          },
          "strategy": {
            "type": "string",
            "enum": [
              "maximize_apy",
              "minimize_risk",
              "balanced"
            ],
            "default": "balanced"
          },
          "riskTolerance": {
            "type": "string",
            "enum": [
              "low",
              "medium",
              "high"
            ]
          },
          "minApy": {
            "type": "number",
            "minimum": 0
          },
          "limit": {
            "type": "number",
            "minimum": 1,
            "maximum": 20,
            "default": 5
          }
        }
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "chain": {
            "type": "string"
          },
          "chainId": {
            "type": "number"
          },
          "strategy": {
            "type": "string"
          },
          "count": {
            "type": "number"
          },
          "vaults": {
            "type": "array"
          }
        }
      },
      "examples": [
        {
          "description": "Discover USDC vaults on Base above 10% APY",
          "input": {
            "chain": "base",
            "asset": "USDC",
            "strategy": "balanced",
            "minApy": 10,
            "limit": 3
          },
          "output": {
            "chain": "base",
            "chainId": 8453,
            "strategy": "balanced",
            "count": 3,
            "vaults": [
              {
                "vaultId": "42",
                "vaultAddress": "0x1234567890abcdef1234567890abcdef12345678",
                "name": "Aave V3 USDC",
                "protocol": "aave",
                "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
              }
            ]
          }
        }
      ]
    },
    {
      "tool": "yield_prepare",
      "description": "Prepare execution calldata for deposit, redeem, and rebalance operations. Requires a vaultId from yield_discover. Pricing policy exists and can be enforced via x402.",
      "inputSchema": {
        "type": "object",
        "required": [
          "agentAddress",
          "vaultId"
        ],
        "properties": {
          "operation": {
            "type": "string",
            "enum": [
              "deposit",
              "redeem",
              "rebalance"
            ],
            "default": "deposit"
          },
          "asset": {
            "type": "string"
          },
          "amount": {
            "type": "string"
          },
          "chain": {
            "type": "string",
            "enum": [
              "base",
              "ethereum"
            ],
            "default": "base"
          },
          "agentAddress": {
            "type": "string",
            "pattern": "^0x[a-fA-F0-9]{40}$"
          },
          "vaultId": {
            "type": "string",
            "pattern": "^[0-9]+$"
          },
          "shares": {
            "type": "string",
            "pattern": "^[1-9][0-9]*$"
          },
          "percentage": {
            "type": "number",
            "minimum": 0,
            "maximum": 100
          }
        }
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "operation": {
            "type": "string"
          },
          "intentId": {
            "type": "string"
          },
          "needsSetup": {
            "type": "boolean"
          },
          "strategy": {
            "type": "object"
          },
          "setup": {
            "type": "object"
          },
          "execution": {
            "type": "object"
          }
        }
      },
      "examples": [
        {
          "description": "Prepare a deposit intent for USDC on Base",
          "input": {
            "operation": "deposit",
            "asset": "USDC",
            "amount": "1000",
            "chain": "base",
            "agentAddress": "0x1111111111111111111111111111111111111111",
            "vaultId": "42"
          },
          "output": {
            "operation": "deposit",
            "intentId": "f3ab8fb8-4adb-4f0f-bcff-f38165d55f58",
            "needsSetup": false,
            "strategy": {
              "vaultName": "Aave V3 USDC",
              "expectedAPY": 0.162,
              "riskScore": "low"
            },
            "execution": {
              "to": "0x1111111111111111111111111111111111111111",
              "calldata": "0x...",
              "estimatedGas": "300000"
            }
          }
        }
      ]
    },
    {
      "tool": "yield_execute",
      "description": "Validate and relay signed intent envelopes, then return receipt details.",
      "inputSchema": {
        "type": "object",
        "required": [
          "intentEnvelope",
          "intentSignature"
        ],
        "properties": {
          "intentEnvelope": {
            "type": "object",
            "required": [
              "version",
              "intentId",
              "chainId",
              "entryPoint",
              "sender",
              "userOps",
              "merkleRoot",
              "proofs"
            ],
            "properties": {
              "version": {
                "type": "string"
              },
              "intentId": {
                "type": "string"
              },
              "chainId": {
                "type": "number"
              },
              "entryPoint": {
                "type": "string"
              },
              "sender": {
                "type": "string"
              },
              "userOps": {
                "type": "array"
              },
              "merkleRoot": {
                "type": "string"
              },
              "proofs": {
                "type": "array"
              }
            }
          },
          "intentSignature": {
            "type": "string"
          },
          "intentId": {
            "type": "string"
          }
        }
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "executionModel": {
            "type": "string"
          },
          "userOpHash": {
            "type": "string"
          },
          "txHash": {
            "type": "string"
          },
          "chainId": {
            "type": "number"
          },
          "chain": {
            "type": "string"
          },
          "receipt": {
            "type": "object"
          },
          "explorerUrl": {
            "type": "string"
          }
        }
      },
      "examples": [
        {
          "description": "Execute signed intent envelope",
          "input": {
            "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"
          },
          "output": {
            "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"
          }
        }
      ]
    },
    {
      "tool": "yield_status",
      "description": "Read current positions and aggregate portfolio performance.",
      "inputSchema": {
        "type": "object",
        "required": [
          "userAddress"
        ],
        "properties": {
          "userAddress": {
            "type": "string",
            "pattern": "^0x[a-fA-F0-9]{40}$"
          }
        }
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "positions": {
            "type": "array"
          },
          "totalValueUsd": {
            "type": "number"
          },
          "totalDeposited": {
            "type": "number"
          },
          "totalYieldEarned": {
            "type": "number"
          },
          "positionCount": {
            "type": "number"
          }
        }
      },
      "examples": [
        {
          "description": "Fetch portfolio status for a user",
          "input": {
            "userAddress": "0x1111111111111111111111111111111111111111"
          },
          "output": {
            "positionCount": 2,
            "totalValueUsd": 10243.67,
            "totalYieldEarned": 243.67
          }
        }
      ]
    },
    {
      "tool": "yield_setup_relay",
      "description": "Relay a signed EIP-7702 setup transaction for first-time wallet delegation. Required when yield_prepare returns needsSetup: true.",
      "inputSchema": {
        "type": "object",
        "required": [
          "setupTicket",
          "signedRawTx"
        ],
        "properties": {
          "setupTicket": {
            "type": "object",
            "description": "Setup ticket returned by yield_prepare when needsSetup is true.",
            "required": [
              "version",
              "walletAddress",
              "chainId",
              "implementation",
              "initCalldataHash",
              "setupType",
              "expiresAt"
            ],
            "properties": {
              "version": {
                "type": "string"
              },
              "walletAddress": {
                "type": "string"
              },
              "chainId": {
                "type": "number"
              },
              "implementation": {
                "type": "string"
              },
              "initCalldataHash": {
                "type": "string"
              },
              "setupType": {
                "type": "string",
                "enum": [
                  "full",
                  "modules"
                ]
              },
              "expiresAt": {
                "type": "string"
              }
            }
          },
          "signedRawTx": {
            "type": "string",
            "description": "Signed raw transaction hex (0x...). Type-4 for full setup, Type-2 for modules."
          },
          "confirmations": {
            "type": "number",
            "minimum": 1,
            "maximum": 10,
            "default": 2
          }
        }
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "txHash": {
            "type": "string"
          },
          "receiptStatus": {
            "type": "string"
          },
          "blockNumber": {
            "type": "string"
          },
          "relayMode": {
            "type": "string"
          },
          "setupType": {
            "type": "string"
          },
          "delegationVerified": {
            "type": "boolean"
          },
          "modulesVerified": {
            "type": "boolean"
          },
          "verifiedImplementation": {
            "type": "string"
          },
          "setupRequired": {
            "type": "string"
          },
          "verificationChecks": {
            "type": "array"
          }
        }
      },
      "examples": [
        {
          "description": "Relay a full EIP-7702 setup transaction",
          "input": {
            "setupTicket": {
              "version": "1",
              "walletAddress": "0x1111111111111111111111111111111111111111",
              "chainId": 8453,
              "implementation": "0x000000004F43C49e93C970E84001853a70923B03",
              "initCalldataHash": "0xabcdef...",
              "setupType": "full",
              "expiresAt": "2026-03-12T00:00:00Z"
            },
            "signedRawTx": "0x04f8..."
          },
          "output": {
            "txHash": "0x9c3ec6d6de7b3b4f0f6f19d9d8a73f0f9f77a17f5d5f3ea0c9f234569c0b8e72",
            "receiptStatus": "success",
            "blockNumber": "28430172",
            "relayMode": "fork-only",
            "setupType": "full",
            "delegationVerified": true,
            "modulesVerified": true,
            "verifiedImplementation": "0x000000004F43C49e93C970E84001853a70923B03",
            "setupRequired": "none",
            "verificationChecks": [
              "ticket-not-expired",
              "chain-active",
              "implementation-match",
              "tx-type-valid",
              "signer-match",
              "tx-broadcast",
              "receipt-success",
              "delegation-verified"
            ]
          }
        }
      ]
    },
    {
      "tool": "yield_history",
      "description": "Return APY/TVL history for a vault over selectable time windows.",
      "inputSchema": {
        "type": "object",
        "required": [
          "vaultId"
        ],
        "properties": {
          "vaultId": {
            "type": "string"
          },
          "period": {
            "type": "string",
            "enum": [
              "1h",
              "24h",
              "7d",
              "30d",
              "90d"
            ],
            "default": "7d"
          },
          "resolution": {
            "type": "string",
            "enum": [
              "hourly",
              "daily"
            ]
          }
        }
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "vaultId": {
            "type": "string"
          },
          "period": {
            "type": "string"
          },
          "resolution": {
            "type": "string"
          },
          "data": {
            "type": "array"
          },
          "summary": {
            "type": "object"
          }
        }
      },
      "examples": [
        {
          "description": "Get daily history for 30 days",
          "input": {
            "vaultId": "42",
            "period": "30d",
            "resolution": "daily"
          },
          "output": {
            "vaultId": "42",
            "period": "30d",
            "resolution": "daily",
            "summary": {
              "avgApy": 11.48,
              "maxApy": 15.72,
              "dataPoints": 30
            }
          }
        }
      ]
    },
    {
      "tool": "testing_fund_wallet",
      "description": "Fund a wallet with test ETH and USDC on a managed test RPC fork. Only available when testing tools are enabled.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "chain": {
            "type": "string",
            "enum": [
              "ethereum",
              "base"
            ]
          },
          "walletAddress": {
            "type": "string",
            "pattern": "^0x[a-fA-F0-9]{40}$"
          },
          "ethWei": {
            "type": "string",
            "description": "ETH to mint in wei. Max 20000000000000000 (0.02 ETH)."
          },
          "usdcAmount": {
            "type": "string",
            "description": "USDC to mint in base units (6 decimals). Max 50000000 (50 USDC)."
          }
        }
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "success": {
            "type": "boolean"
          },
          "environment": {
            "type": "string"
          },
          "chain": {
            "type": "string"
          },
          "chainId": {
            "type": "number"
          },
          "walletAddress": {
            "type": "string"
          },
          "funded": {
            "type": "object"
          },
          "limits": {
            "type": "object"
          }
        }
      },
      "examples": [
        {
          "description": "Fund a wallet with 5 USDC on Base test fork",
          "input": {
            "chain": "base",
            "walletAddress": "0x1111111111111111111111111111111111111111",
            "usdcAmount": "5000000"
          },
          "output": {
            "success": true,
            "environment": "staging",
            "chain": "base",
            "chainId": 8453,
            "walletAddress": "0x1111111111111111111111111111111111111111",
            "funded": {
              "usdc": {
                "tokenAddress": "0x833589fcd6edb6e08f4c7c32d4f71b54bda02913",
                "requestedAmountBaseUnits": "5000000",
                "resultingBalanceBaseUnits": "5000000"
              }
            },
            "limits": {
              "maxEthWeiPerCall": "20000000000000000",
              "maxUsdcBaseUnitsPerCall": "50000000"
            }
          }
        }
      ]
    },
    {
      "tool": "testing_fork_status",
      "description": "Check test RPC health, active forks, and testing policy limits. Only available when testing tools are enabled.",
      "inputSchema": {
        "type": "object",
        "properties": {}
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "success": {
            "type": "boolean"
          },
          "environment": {
            "type": "string"
          },
          "limits": {
            "type": "object"
          },
          "supportedTokens": {
            "type": "array"
          },
          "health": {
            "type": "object"
          },
          "activeForks": {
            "type": "object"
          }
        }
      },
      "examples": [
        {
          "description": "Check test RPC fork status",
          "input": {},
          "output": {
            "success": true,
            "environment": "staging",
            "limits": {
              "maxEthWeiPerCall": "20000000000000000",
              "maxUsdcBaseUnitsPerCall": "50000000"
            },
            "health": {
              "status": "healthy",
              "activeForks": 2
            }
          }
        }
      ]
    }
  ],
  "pricing": {
    "model": "mixed",
    "currency": "USD",
    "note": "Pricing policy is $0.01 per yield_discover and yield_prepare call when x402 is enabled. Current deployment keeps x402 disabled.",
    "tools": [
      {
        "tool": "yield_discover",
        "type": "per-call",
        "price": 0.01,
        "paymentMethod": "x402"
      },
      {
        "tool": "yield_prepare",
        "type": "per-call",
        "price": 0.01,
        "paymentMethod": "x402"
      },
      {
        "tool": "yield_execute",
        "type": "free"
      },
      {
        "tool": "yield_setup_relay",
        "type": "free"
      },
      {
        "tool": "yield_status",
        "type": "free"
      },
      {
        "tool": "yield_history",
        "type": "free"
      },
      {
        "tool": "testing_fund_wallet",
        "type": "free"
      },
      {
        "tool": "testing_fork_status",
        "type": "free"
      }
    ]
  },
  "endpoints": {
    "api": "https://api.staging.rhaios.com/v1",
    "health": "https://api.staging.rhaios.com/health",
    "docs": "https://docs.rhaios.com",
    "agentCard": "https://rhaios.com/agent-card.json"
  },
  "llms": {
    "summary": "https://rhaios.com/llms.txt",
    "full": "https://rhaios.com/llms-full.txt"
  },
  "environments": {
    "production": {
      "app": "https://rhaios.com",
      "api": "https://api.staging.rhaios.com"
    },
    "staging": {
      "app": "https://staging.rhaios.com",
      "api": "https://staging.rhaios.com",
      "chains": [
        "base",
        "ethereum"
      ],
      "yieldPreparePrice": 0.01
    }
  },
  "metadata": {
    "author": "Rhaios Team",
    "tags": [
      "defi",
      "yield",
      "eip-7702",
      "base",
      "ethereum",
      "agent-execution",
      "rest-api"
    ],
    "created": "2026-02-17T00:00:00Z",
    "updated": "2026-02-25T00:00:00Z"
  }
}

API Tool Explorer

8 tools

Expand any tool to inspect input/output schemas and ready-to-run examples.