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
defi
yield
eip-7702
base
ethereum
agent-execution
rest-api
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.