{"openapi":"3.1.0","info":{"title":"ELYX API","version":"1.0.0","summary":"The financial layer for autonomous agents.","description":"Financial infrastructure for autonomous agents on Elysium mainnet (Kinetiq Hyperliquid L2, EVM, chain id 99901, gas in HYPE). Agents submit structured intents; ELYX evaluates owner policies deterministically, simulates on Elysium, compares the result with the intent and signs only within on-chain spending limits enforced by the ELYX Safe module.\n\nAutonomous onboarding (no browser, no human): generate a secp256k1 owner key, fund its address with HYPE on Elysium, POST /api/v1/auth/challenge, personal_sign the EIP-4361 message, POST /api/v1/auth/token to get an owner token (eot_...), then create an account, deposit, create counterparties, create an agent and issue an agent session token (eas_...). Every endpoint that returns PreparedTransaction must be signed by the owner key and submitted to /api/v1/tx/{id}/submit.\n\nUnits: request amounts are decimal token strings; balances, intents and limits use base-unit integer strings; USD values are integer cents; fees are micro-USD integer strings; slippage is basis points.\n\nPractice safely: POST /api/v1/intents/preview runs the full policy evaluation and fee quote without creating or signing anything. There is no test network; everything settles on Elysium mainnet."},"servers":[{"url":"https://www.elyxsi.tech"}],"externalDocs":{"url":"https://www.elyxsi.tech/developers","description":"Developer guide"},"security":[{"bearer":[]}],"x-units":{"requestAmount":"decimal token string","baseUnits":"integer string, token smallest unit (USDC 6, HYPE 18 decimals)","usd":"integer cents","fees":"integer string micro-USD","slippage":"basis points"},"x-rate-limits":{"userPerMinute":120,"apiKeyPerMinute":600,"agentSessionPerMinute":"per token, default 30","organizationPerMinute":2000,"retry":"429 responses include a Retry-After header and error.retryAfterSeconds"},"tags":[{"name":"Auth"},{"name":"Discovery"},{"name":"Intents"},{"name":"Executions"},{"name":"Approvals"},{"name":"Payments"},{"name":"Accounts"},{"name":"Vaults"},{"name":"Agents"},{"name":"Policies"},{"name":"Counterparties"},{"name":"Transactions"},{"name":"Ledger"},{"name":"Developers"}],"paths":{"/api/v1/auth/challenge":{"post":{"tags":["Auth"],"summary":"Start programmatic sign-in for an owner key","responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"},"nonceToken":{"type":"string"},"expiresInSeconds":{"type":"integer"}}}}}},"4XX":{"description":"Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"security":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["address"],"properties":{"address":{"type":"string","description":"0x owner address."}}}}}}}},"/api/v1/auth/token":{"post":{"tags":["Auth"],"summary":"Exchange the signed challenge for an owner token (eot_...)","responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object","properties":{"token":{"type":"string"},"tokenType":{"const":"owner"},"expiresAt":{"type":"string"},"wallet":{"type":"string"},"organization":{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"}}}}}}}},"4XX":{"description":"Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"security":[],"description":"Signature is the 65-byte 0x EIP-191 personal_sign signature of the message (Sign-In with Ethereum, EIP-4361). Creates the organization on first sign-in. Each challenge can be used once. Tokens expire after 90 days.","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["address","message","signature","nonceToken"],"properties":{"address":{"type":"string"},"message":{"type":"string"},"signature":{"type":"string"},"nonceToken":{"type":"string"},"name":{"type":"string"},"organizationName":{"type":"string"}}}}}}}},"/api/v1/owner-tokens":{"get":{"tags":["Auth"],"summary":"List owner tokens in the organization (values are never returned)","responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object"}}}},"4XX":{"description":"Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/api/v1/owner-tokens/{id}":{"delete":{"tags":["Auth"],"summary":"Revoke an owner token, e.g. one an AI agent created","responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object"}}}},"4XX":{"description":"Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}}]}},"/api/v1/context":{"get":{"tags":["Discovery"],"summary":"Everything this credential needs before its first intent","responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Context"}}}},"4XX":{"description":"Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"description":"Agent session tokens get their agent, vault ids, allowed actions, allowance, on-chain limits with remaining amounts and payable counterparties. Owner tokens and API keys get all agents, vaults and counterparties. Always includes units and rate limits."}},"/api/v1/intents/preview":{"post":{"tags":["Intents"],"summary":"Dry run: policy decision, route and fees. Creates and signs nothing","responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Preview"}}}},"4XX":{"description":"Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/IntentRequest"},"example":{"agentId":"agt_...","action":"PAYMENT","asset":"USDC","amount":"25","counterpartyId":"cp_..."}}}}}},"/api/v1/intents":{"post":{"tags":["Intents"],"summary":"Submit a structured intent","responses":{"202":{"description":"Accepted. Poll GET /api/v1/executions/{id}.","content":{"application/json":{"schema":{"type":"object","properties":{"execution":{"$ref":"#/components/schemas/Execution"},"replayed":{"type":"boolean"}}}}}},"4XX":{"description":"Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"parameters":[{"name":"idempotency-key","in":"header","required":false,"schema":{"type":"string"},"description":"Same key and same body returns the original execution (200). Same key with a different body returns 409."}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/IntentRequest"},"example":{"agentId":"agt_...","action":"SWAP","asset":"HYPE","outputAsset":"USDC","amount":"0.5","maxSlippageBps":50}}}}}},"/api/v1/executions":{"get":{"tags":["Executions"],"summary":"List executions","responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/Execution"}}}}},"4XX":{"description":"Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"parameters":[{"name":"agentId","in":"query","schema":{"type":"string"}},{"name":"state","in":"query","schema":{"type":"string"}},{"name":"limit","in":"query","schema":{"type":"integer"}}]}},"/api/v1/executions/{id}":{"get":{"tags":["Executions"],"summary":"Get an execution (poll until terminal or AWAITING_APPROVAL)","responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Execution"}}}},"4XX":{"description":"Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}}]}},"/api/v1/approvals":{"get":{"tags":["Approvals"],"summary":"List approvals","responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/Approval"}}}}},"4XX":{"description":"Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"parameters":[{"name":"status","in":"query","schema":{"type":"string","enum":["PENDING","APPROVED","REJECTED","EXPIRED","CANCELLED"]}}]}},"/api/v1/approvals/{id}":{"get":{"tags":["Approvals"],"summary":"Get an approval","responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Approval"}}}},"4XX":{"description":"Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}}]}},"/api/v1/approvals/{id}/safe-typed-data":{"get":{"tags":["Approvals"],"summary":"EIP-712 typed data of the approval's Safe transaction (settlement.kind SAFE_TX or SAFE_CONFIG). Sign with eth_signTypedData_v4; no gas","responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object","properties":{"typedData":{"type":"object"},"safeTxHash":{"type":"string"}}}}}},"4XX":{"description":"Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}}]}},"/api/v1/approvals/{id}/safe-vote":{"post":{"tags":["Approvals"],"summary":"Record an owner's signature on a Safe transaction. APPROVE: EIP-712 signature over safe-typed-data. REJECT: personal_sign over POST /message {decision: REJECT}","responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Approval"}}}},"4XX":{"description":"Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["decision","signature"],"properties":{"decision":{"enum":["APPROVE","REJECT"]},"signature":{"type":"string","description":"65-byte 0x signature."}}}}}}}},"/api/v1/approvals/{id}/execute":{"post":{"tags":["Approvals"],"summary":"Execute an approved owner Safe transaction (agent configuration, withdrawal) once enough owners signed","responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PreparedTransaction"}}}},"4XX":{"description":"Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"description":"Returns an EIP-1559 transaction prepared and simulated on Elysium mainnet. Decode and check it, sign it with the owner key and POST the raw signed bytes to /api/v1/tx/{id}/submit. Nothing happens on-chain until then. On vaults whose threshold is above 1, owner Safe actions return {kind: \"AWAIT_OWNERS\", approvalId, safeTxHash, required} instead: owners sign it through the Approvals endpoints.","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}}]}},"/api/v1/approvals/{id}/message":{"post":{"tags":["Approvals"],"summary":"Message to sign for an off-chain vote (settlement.kind OFFCHAIN)","responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"}}}}}},"4XX":{"description":"Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"decision":{"enum":["APPROVE","REJECT"]}}}}}}}},"/api/v1/approvals/{id}/vote":{"post":{"tags":["Approvals"],"summary":"Submit an off-chain vote signed by the owner key","responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Approval"}}}},"4XX":{"description":"Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["decision","signature"],"properties":{"decision":{"enum":["APPROVE","REJECT"]},"signature":{"type":"string","description":"65-byte 0x EIP-191 personal_sign signature of the message."}}}}}}}},"/api/v1/payments":{"get":{"tags":["Payments"],"summary":"List payments","responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"array","items":{"type":"object"}}}}},"4XX":{"description":"Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}},"post":{"tags":["Payments"],"summary":"Create a payment from a vault to a counterparty (API key or owner token)","responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object","properties":{"paymentId":{"type":"string"},"execution":{"$ref":"#/components/schemas/Execution"}}}}}},"4XX":{"description":"Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["agentId","counterpartyId","asset","amount"],"properties":{"agentId":{"type":"string"},"vaultId":{"type":"string"},"counterpartyId":{"type":"string"},"asset":{"type":"string","enum":["HYPE","WHYPE","USDC","KNTQ"]},"amount":{"type":"string","pattern":"^\\d+(\\.\\d+)?$","description":"Decimal token amount, e.g. \"12.5\"."},"memo":{"type":"string"},"reference":{"type":"string"},"invoice":{"type":"string"},"justification":{"type":"string"}}}}}}}},"/api/v1/accounts":{"get":{"tags":["Accounts"],"summary":"List accounts (Safe smart accounts)","responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"array","items":{"type":"object"}}}}},"4XX":{"description":"Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}},"post":{"tags":["Accounts"],"summary":"Deploy a Safe account on Elysium (owner token). The owner key becomes an owner. Result: {accountId, vaultId, vaultAddress}. Deposit afterwards with /vaults/{id}/deposit","responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PreparedTransaction"}}}},"4XX":{"description":"Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"description":"Returns an EIP-1559 transaction prepared and simulated on Elysium mainnet. Decode and check it, sign it with the owner key and POST the raw signed bytes to /api/v1/tx/{id}/submit. Nothing happens on-chain until then. On vaults whose threshold is above 1, owner Safe actions return {kind: \"AWAIT_OWNERS\", approvalId, safeTxHash, required} instead: owners sign it through the Approvals endpoints.","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["name","type","threshold","vaults"],"properties":{"name":{"type":"string"},"type":{"enum":["PERSONAL","AGENT","TEAM","TREASURY","DEVELOPER"]},"coOwners":{"type":"array","items":{"type":"string"},"description":"Additional owner wallets, e.g. the human's wallet."},"threshold":{"type":"integer"},"vaults":{"type":"array","items":{"type":"object","properties":{"name":{"type":"string"},"type":{"enum":["TRADING","PAYMENT","TREASURY","OPERATING","STRATEGY","CUSTOM"]},"description":{"type":"string"}}}}}},"example":{"name":"Agent Operations","type":"AGENT","coOwners":[],"threshold":1,"vaults":[{"name":"Operating Vault","type":"OPERATING","description":""}]}}}}}},"/api/v1/accounts/{id}":{"get":{"tags":["Accounts"],"summary":"Account with vaults and on-chain configuration","responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object"}}}},"4XX":{"description":"Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}}]}},"/api/v1/vaults":{"get":{"tags":["Vaults"],"summary":"Vaults with live mainnet balances","responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/Vault"}}}}},"4XX":{"description":"Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}},"post":{"tags":["Vaults"],"summary":"Deploy a further vault: a new Safe with the account's owners and threshold","responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PreparedTransaction"}}}},"4XX":{"description":"Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"description":"Returns an EIP-1559 transaction prepared and simulated on Elysium mainnet. Decode and check it, sign it with the owner key and POST the raw signed bytes to /api/v1/tx/{id}/submit. Nothing happens on-chain until then. On vaults whose threshold is above 1, owner Safe actions return {kind: \"AWAIT_OWNERS\", approvalId, safeTxHash, required} instead: owners sign it through the Approvals endpoints.","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["accountId","name","type"],"properties":{"accountId":{"type":"string"},"name":{"type":"string"},"type":{"type":"string"},"description":{"type":"string"}}}}}}}},"/api/v1/vaults/{id}":{"get":{"tags":["Vaults"],"summary":"Vault with balances","responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Vault"}}}},"4XX":{"description":"Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}}]},"patch":{"tags":["Vaults"],"summary":"Freeze or unfreeze (ELYX stops signing for it immediately)","responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object"}}}},"4XX":{"description":"Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"status":{"enum":["ACTIVE","FROZEN"]}}}}}}}},"/api/v1/vaults/{id}/deposit":{"post":{"tags":["Vaults"],"summary":"Deposit from the owner wallet into the vault","responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PreparedTransaction"}}}},"4XX":{"description":"Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"description":"Returns an EIP-1559 transaction prepared and simulated on Elysium mainnet. Decode and check it, sign it with the owner key and POST the raw signed bytes to /api/v1/tx/{id}/submit. Nothing happens on-chain until then. On vaults whose threshold is above 1, owner Safe actions return {kind: \"AWAIT_OWNERS\", approvalId, safeTxHash, required} instead: owners sign it through the Approvals endpoints.","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["asset","amount"],"properties":{"asset":{"type":"string","enum":["HYPE","WHYPE","USDC","KNTQ"]},"amount":{"type":"string","pattern":"^\\d+(\\.\\d+)?$","description":"Decimal token amount, e.g. \"12.5\"."}}}}}},"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}}]}},"/api/v1/vaults/{id}/withdraw":{"post":{"tags":["Vaults"],"summary":"Owner withdrawal from the vault Safe. Threshold 1: one signed transaction. Higher thresholds: AWAIT_OWNERS","responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PreparedTransaction"}}}},"4XX":{"description":"Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"description":"Returns an EIP-1559 transaction prepared and simulated on Elysium mainnet. Decode and check it, sign it with the owner key and POST the raw signed bytes to /api/v1/tx/{id}/submit. Nothing happens on-chain until then. On vaults whose threshold is above 1, owner Safe actions return {kind: \"AWAIT_OWNERS\", approvalId, safeTxHash, required} instead: owners sign it through the Approvals endpoints.","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["asset","amount"],"properties":{"asset":{"type":"string","enum":["HYPE","WHYPE","USDC","KNTQ"]},"amount":{"type":"string","pattern":"^\\d+(\\.\\d+)?$","description":"Decimal token amount, e.g. \"12.5\"."},"destination":{"type":"string"}}}}}},"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}}]}},"/api/v1/agents":{"get":{"tags":["Agents"],"summary":"List agents","responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/Agent"}}}}},"4XX":{"description":"Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}},"post":{"tags":["Agents"],"summary":"Create and authorize an agent: enable the ELYX module on the vault Safe, set its limits and destinations, fund its executor with gas. The executor is never a Safe owner","responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PreparedTransaction"}}}},"4XX":{"description":"Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"description":"Returns an EIP-1559 transaction prepared and simulated on Elysium mainnet. Decode and check it, sign it with the owner key and POST the raw signed bytes to /api/v1/tx/{id}/submit. Nothing happens on-chain until then. On vaults whose threshold is above 1, owner Safe actions return {kind: \"AWAIT_OWNERS\", approvalId, safeTxHash, required} instead: owners sign it through the Approvals endpoints.","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["accountId","vaultId","name","kind","limits"],"properties":{"accountId":{"type":"string"},"vaultId":{"type":"string"},"name":{"type":"string"},"kind":{"enum":["TRADING","PAYMENT","RESEARCH","TREASURY","CUSTOM"]},"description":{"type":"string"},"limits":{"type":"array","minItems":1,"maxItems":2,"items":{"type":"object","properties":{"asset":{"enum":["USDC","HYPE"]},"amount":{"type":"string","pattern":"^\\d+(\\.\\d+)?$","description":"On-chain allowance per period, token units."}}}},"period":{"enum":["DAY","WEEK","MONTH"]},"counterpartyIds":{"type":"array","maxItems":4,"items":{"type":"string"},"description":"On-chain destinations the agent may pay without owner signatures."},"gasHype":{"type":"string","pattern":"^\\d+(\\.\\d+)?$","description":"HYPE sent from the vault to the executor for gas. Default 0.01."},"policy":{"type":"object","properties":{"dailyLimitUsd":{"type":"integer","description":"USD cents."},"maxTransactionUsd":{"type":"integer","description":"USD cents."},"approvalThresholdUsd":{"type":"integer","description":"USD cents."},"allowedAssets":{"type":"array","items":{"type":"string","enum":["HYPE","WHYPE","USDC","KNTQ"]}},"maxSlippageBps":{"type":"integer"}}}}},"example":{"accountId":"acc_...","vaultId":"vlt_...","name":"Atlas","kind":"PAYMENT","limits":[{"asset":"USDC","amount":"500"}],"period":"DAY","counterpartyIds":["cp_..."],"gasHype":"0.01","policy":{"approvalThresholdUsd":25000}}}}}}},"/api/v1/agents/{id}":{"get":{"tags":["Agents"],"summary":"Agent with on-chain limits, remaining allowance, wallet balances and gas","responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object"}}}},"4XX":{"description":"Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}}]},"patch":{"tags":["Agents"],"summary":"Pause or resume","responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object"}}}},"4XX":{"description":"Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"status":{"enum":["ACTIVE","PAUSED"]}}}}}}}},"/api/v1/agents/{id}/authorize":{"post":{"tags":["Agents"],"summary":"Retry authorization for an agent whose first signature never completed","responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PreparedTransaction"}}}},"4XX":{"description":"Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"description":"Returns an EIP-1559 transaction prepared and simulated on Elysium mainnet. Decode and check it, sign it with the owner key and POST the raw signed bytes to /api/v1/tx/{id}/submit. Nothing happens on-chain until then. On vaults whose threshold is above 1, owner Safe actions return {kind: \"AWAIT_OWNERS\", approvalId, safeTxHash, required} instead: owners sign it through the Approvals endpoints.","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}}]}},"/api/v1/agents/{id}/limits":{"post":{"tags":["Agents"],"summary":"Replace on-chain spending limits","responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PreparedTransaction"}}}},"4XX":{"description":"Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"description":"Returns an EIP-1559 transaction prepared and simulated on Elysium mainnet. Decode and check it, sign it with the owner key and POST the raw signed bytes to /api/v1/tx/{id}/submit. Nothing happens on-chain until then. On vaults whose threshold is above 1, owner Safe actions return {kind: \"AWAIT_OWNERS\", approvalId, safeTxHash, required} instead: owners sign it through the Approvals endpoints.","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"limits":{"type":"array","items":{"type":"object"}},"period":{"type":"string"},"counterpartyIds":{"type":"array","items":{"type":"string"}}}}}}},"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}}]}},"/api/v1/agents/{id}/topup":{"post":{"tags":["Agents"],"summary":"Send HYPE from the vault to the agent executor for gas","responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PreparedTransaction"}}}},"4XX":{"description":"Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"description":"Returns an EIP-1559 transaction prepared and simulated on Elysium mainnet. Decode and check it, sign it with the owner key and POST the raw signed bytes to /api/v1/tx/{id}/submit. Nothing happens on-chain until then. On vaults whose threshold is above 1, owner Safe actions return {kind: \"AWAIT_OWNERS\", approvalId, safeTxHash, required} instead: owners sign it through the Approvals endpoints.","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"hype":{"type":"string","pattern":"^\\d+(\\.\\d+)?$","description":"Decimal token amount, e.g. \"12.5\"."}}}}}},"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}}]}},"/api/v1/agents/{id}/revoke":{"post":{"tags":["Agents"],"summary":"Revoke on-chain: remove the executor's spending limits from the vault module","responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PreparedTransaction"}}}},"4XX":{"description":"Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"description":"Returns an EIP-1559 transaction prepared and simulated on Elysium mainnet. Decode and check it, sign it with the owner key and POST the raw signed bytes to /api/v1/tx/{id}/submit. Nothing happens on-chain until then. On vaults whose threshold is above 1, owner Safe actions return {kind: \"AWAIT_OWNERS\", approvalId, safeTxHash, required} instead: owners sign it through the Approvals endpoints.","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}}]}},"/api/v1/agents/{id}/requests":{"post":{"tags":["Agents"],"summary":"Agent asks owners for a change (creates a pending approval)","responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Approval"}}}},"4XX":{"description":"Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["type","title","requestedChange","justification"],"properties":{"type":{"enum":["POLICY_CHANGE","COUNTERPARTY","PROTOCOL","LIMIT_INCREASE","AGENT_PERMISSION"]},"title":{"type":"string"},"requestedChange":{"type":"string"},"currentRule":{"type":"string"},"justification":{"type":"string"}}}}}}}},"/api/v1/policies":{"get":{"tags":["Policies"],"summary":"List policies","responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/Policy"}}}}},"4XX":{"description":"Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}},"post":{"tags":["Policies"],"summary":"Create a policy (owner)","responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Policy"}}}},"4XX":{"description":"Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Policy"},"example":{"name":"Approval above $250","rule":{"kind":"APPROVAL_THRESHOLD","amountUsd":25000},"scope":{"agentIds":["agt_..."],"vaultIds":[]}}}}}}},"/api/v1/policies/{id}":{"patch":{"tags":["Policies"],"summary":"Update or disable a policy (owner)","responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Policy"}}}},"4XX":{"description":"Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object"}}}}}},"/api/v1/counterparties":{"get":{"tags":["Counterparties"],"summary":"List counterparties","responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/Counterparty"}}}}},"4XX":{"description":"Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}},"post":{"tags":["Counterparties"],"summary":"Add a counterparty","responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Counterparty"}}}},"4XX":{"description":"Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Counterparty"},"example":{"name":"Northwind Compute","type":"API_PROVIDER","address":"0x...","trust":"VERIFIED","approvedFor":["PAYMENT"]}}}}}},"/api/v1/counterparties/{id}":{"patch":{"tags":["Counterparties"],"summary":"Update a counterparty","responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Counterparty"}}}},"4XX":{"description":"Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object"}}}}}},"/api/v1/tx/{id}/submit":{"post":{"tags":["Transactions"],"summary":"Submit an owner-signed prepared transaction","responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object","properties":{"signature":{"type":"string"},"result":{"type":"object","description":"Effect result, e.g. {accountId} or {agentId, executed} or {next, transactionIndex}."}}}}}},"4XX":{"description":"Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}}],"description":"ELYX verifies the signed message is identical to what it prepared and that every signature is valid, broadcasts, waits for confirmation, then applies the effect. Responds after confirmation.","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["transaction"],"properties":{"transaction":{"type":"object","description":"Base64 signed transaction."}}}}}}}},"/api/v1/settlements":{"get":{"tags":["Ledger"],"summary":"Settled executions with signatures and fees","responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object"}}}},"4XX":{"description":"Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/api/v1/activity":{"get":{"tags":["Ledger"],"summary":"Append-only audit events","responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object"}}}},"4XX":{"description":"Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"parameters":[{"name":"before","in":"query","schema":{"type":"integer"}},{"name":"resourceId","in":"query","schema":{"type":"string"}}]}},"/api/v1/activity/verify":{"get":{"tags":["Ledger"],"summary":"Verify the hash-chained audit log","responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object","properties":{"checked":{"type":"integer"},"intact":{"type":"boolean"},"brokenAt":{"type":["string","null"]}}}}}},"4XX":{"description":"Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/api/v1/prices":{"get":{"tags":["Ledger"],"summary":"Current USD prices used for policy checks","responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object","additionalProperties":{"type":"number"}}}}},"4XX":{"description":"Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/api/v1/developers/keys":{"get":{"tags":["Developers"],"summary":"List API keys (owner)","responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object"}}}},"4XX":{"description":"Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}},"post":{"tags":["Developers"],"summary":"Create an API key (ek_live_...), returned once","responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"},"key":{"type":"string"}}}}}},"4XX":{"description":"Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"name":{"type":"string"}}}}}}}},"/api/v1/developers/keys/{id}":{"delete":{"tags":["Developers"],"summary":"Revoke an API key","responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object"}}}},"4XX":{"description":"Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}}]}},"/api/v1/developers/sessions":{"get":{"tags":["Developers"],"summary":"List agent session tokens","responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object"}}}},"4XX":{"description":"Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}},"post":{"tags":["Developers"],"summary":"Issue an agent session token (eas_...), returned once","responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object","properties":{"id":{"type":"string"},"token":{"type":"string"}}}}}},"4XX":{"description":"Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["agentId","allowedActions","spendingAllowanceUsd"],"properties":{"agentId":{"type":"string"},"allowedActions":{"type":"array","items":{"type":"string","enum":["SWAP","PAYMENT","TRANSFER","ALLOCATE","RETURN"]}},"spendingAllowanceUsd":{"type":"integer","description":"USD cents."},"rateLimitPerMinute":{"type":"integer"},"ttlHours":{"type":"integer"}}},"example":{"agentId":"agt_...","allowedActions":["PAYMENT","SWAP"],"spendingAllowanceUsd":100000,"rateLimitPerMinute":30,"ttlHours":168}}}}}},"/api/v1/developers/sessions/{id}":{"delete":{"tags":["Developers"],"summary":"Revoke an agent session token","responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object"}}}},"4XX":{"description":"Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}}]}},"/api/v1/webhooks":{"get":{"tags":["Developers"],"summary":"Webhook endpoints and recent deliveries","responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object"}}}},"4XX":{"description":"Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}},"post":{"tags":["Developers"],"summary":"Create a webhook endpoint (secret returned once)","responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object"}}}},"4XX":{"description":"Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["url","events"],"properties":{"url":{"type":"string"},"events":{"type":"array","items":{"type":"string"}}}}}}}}}},"components":{"securitySchemes":{"bearer":{"type":"http","scheme":"bearer","description":"eot_... owner token (programmatic owner, from /api/v1/auth/token), ek_live_... API key (organization), eas_... agent session token (one agent)."}},"schemas":{"Error":{"type":"object","properties":{"error":{"type":"object","properties":{"code":{"type":"string"},"message":{"type":"string"},"retryAfterSeconds":{"type":"integer"}}}}},"PreparedTransaction":{"type":"object","properties":{"id":{"type":"string"},"kind":{"type":"string"},"transaction":{"type":"object","description":"Unsigned EIP-1559 transaction: chainId, from, to, data, value, gas, maxFeePerGas, maxPriorityFeePerGas (decimal strings), nonce."},"description":{"type":"string"},"simulation":{"type":"object","properties":{"ok":{"type":"boolean"},"error":{"type":"string"},"logs":{"type":"array","items":{"type":"string"}}}}}},"IntentRequest":{"type":"object","required":["agentId","action","asset","amount"],"properties":{"agentId":{"type":"string"},"vaultId":{"type":"string"},"action":{"type":"string","enum":["SWAP","PAYMENT","TRANSFER","ALLOCATE","RETURN"]},"asset":{"type":"string","enum":["HYPE","WHYPE","USDC","KNTQ"]},"outputAsset":{"type":"string","enum":["HYPE","WHYPE","USDC","KNTQ"]},"amount":{"type":"string","pattern":"^\\d+(\\.\\d+)?$","description":"Decimal token amount, e.g. \"12.5\"."},"counterpartyId":{"type":"string"},"maxSlippageBps":{"type":"integer"},"memo":{"type":"string"},"justification":{"type":"string"},"idempotencyKey":{"type":"string"}}},"PolicyEvaluation":{"type":"object","properties":{"decision":{"enum":["ALLOW","BLOCK","REQUIRE_APPROVAL"]},"triggeredPolicies":{"type":"array","items":{"type":"object","properties":{"policyId":{"type":["string","null"]},"reason":{"type":"string"},"outcome":{"enum":["BLOCK","REQUIRE_APPROVAL"]},"message":{"type":"string"}}}},"approvalRequirement":{"type":["object","null"]}}},"Preview":{"type":"object","properties":{"amountUsd":{"type":"integer","description":"USD cents."},"evaluation":{"$ref":"#/components/schemas/PolicyEvaluation"},"fee":{"type":"object","properties":{"networkFee":{"type":"string","description":"USD micro-units (1e-6 USD) as an integer string."},"executionFee":{"type":"string","description":"USD micro-units (1e-6 USD) as an integer string."},"providerFee":{"type":"string","description":"USD micro-units (1e-6 USD) as an integer string."},"totalFee":{"type":"string","description":"USD micro-units (1e-6 USD) as an integer string."}}},"route":{"enum":["SPENDING_LIMIT","SAFE_TX","AGENT_WALLET","KYBER"]},"estimatedTime":{"type":"string"}}},"Execution":{"type":"object","properties":{"id":{"type":"string"},"agentId":{"type":"string"},"vaultId":{"type":"string"},"state":{"enum":["CREATED","VALIDATING","POLICY_CHECK","AWAITING_APPROVAL","APPROVED","SIMULATING","READY","SUBMITTED","CONFIRMED","SETTLED","BLOCKED","FAILED","CANCELLED"]},"intent":{"type":"object","properties":{"action":{"type":"string","enum":["SWAP","PAYMENT","TRANSFER","ALLOCATE","RETURN"]},"asset":{"type":"string","enum":["HYPE","WHYPE","USDC","KNTQ"]},"outputAsset":{"type":"string","enum":["HYPE","WHYPE","USDC","KNTQ"]},"amount":{"type":"string","pattern":"^\\d+$","description":"Integer amount in the token's smallest unit."},"amountUsd":{"type":"integer","description":"USD cents."},"counterpartyId":{"type":"string"},"idempotencyKey":{"type":"string"}}},"policy":{"$ref":"#/components/schemas/PolicyEvaluation"},"approvalId":{"type":"string"},"route":{"type":"string"},"simulation":{"type":"object","properties":{"ok":{"type":"boolean"},"matchesIntent":{"type":"boolean"},"mismatchReason":{"type":"string"},"programs":{"type":"array","items":{"type":"string"},"description":"Contracts called."},"balanceChanges":{"type":"array","items":{"type":"object","properties":{"token":{"type":"string"},"asset":{"type":"string"},"delta":{"type":"string"}}}}}},"feeQuote":{"type":"object","properties":{"networkFee":{"type":"string","description":"USD micro-units (1e-6 USD) as an integer string."},"executionFee":{"type":"string","description":"USD micro-units (1e-6 USD) as an integer string."},"providerFee":{"type":"string","description":"USD micro-units (1e-6 USD) as an integer string."},"totalFee":{"type":"string","description":"USD micro-units (1e-6 USD) as an integer string."}}},"signature":{"type":"string","description":"Elysium transaction hash."},"blockNumber":{"type":"integer"},"error":{"type":"string"},"fundsMayHaveMoved":{"type":"boolean"},"steps":{"type":"array","items":{"type":"object","properties":{"state":{"type":"string"},"at":{"type":"string"},"note":{"type":"string"}}}}}},"Approval":{"type":"object","properties":{"id":{"type":"string"},"type":{"type":"string"},"agentId":{"type":"string"},"title":{"type":"string"},"currentRule":{"type":"string"},"requestedChange":{"type":"string"},"justification":{"type":"string"},"executionId":{"type":"string"},"status":{"enum":["PENDING","APPROVED","REJECTED","EXPIRED","CANCELLED"]},"risk":{"enum":["LOW","MEDIUM","HIGH"]},"settlement":{"type":"object","properties":{"kind":{"enum":["OFFCHAIN","SAFE_TX","SAFE_CONFIG"]},"tx":{"type":"object","description":"SafeTxDraft: safe, to, value, data, operation, nonce, safeTxHash"},"signatures":{"type":"array","items":{"type":"object"}}}},"expiresAt":{"type":"string"}}},"Agent":{"type":"object","properties":{"id":{"type":"string"},"accountId":{"type":"string"},"name":{"type":"string"},"kind":{"type":"string"},"status":{"enum":["ACTIVE","PAUSED","OFFLINE","RESTRICTED"]},"chainStatus":{"enum":["PENDING","ACTIVE","REVOKED"]},"executor":{"type":"string"},"primaryVaultId":{"type":"string"}}},"Vault":{"type":"object","properties":{"id":{"type":"string"},"accountId":{"type":"string"},"name":{"type":"string"},"type":{"type":"string"},"address":{"type":"string"},"status":{"type":"string"},"authorizedAgentIds":{"type":"array","items":{"type":"string"}},"totalUsd":{"type":"integer","description":"USD cents."},"balances":{"type":"array","items":{"type":"object","properties":{"asset":{"type":"string","enum":["HYPE","WHYPE","USDC","KNTQ"]},"token":{"type":"string"},"amount":{"type":"string","pattern":"^\\d+$","description":"Integer amount in the token's smallest unit."},"decimals":{"type":"integer"},"usdValue":{"type":"integer","description":"USD cents."}}}}}},"Counterparty":{"type":"object","required":["name","type","address"],"properties":{"id":{"type":"string"},"name":{"type":"string"},"type":{"enum":["WALLET","BUSINESS","AGENT","PROTOCOL","API_PROVIDER","INTERNAL"]},"address":{"type":"string"},"trust":{"enum":["VERIFIED","APPROVED","UNVERIFIED","BLOCKED"]},"approvedFor":{"type":"array","items":{"type":"string","enum":["SWAP","PAYMENT","TRANSFER","ALLOCATE","RETURN"]}}}},"Policy":{"type":"object","required":["name","rule"],"properties":{"id":{"type":"string"},"name":{"type":"string"},"enabled":{"type":"boolean"},"priority":{"type":"integer"},"scope":{"type":"object","properties":{"agentIds":{"type":"array","items":{"type":"string"}},"vaultIds":{"type":"array","items":{"type":"string"}}}},"rule":{"description":"USD amounts in cents.","oneOf":[{"type":"object","properties":{"kind":{"const":"DAILY_LIMIT"},"amountUsd":{"type":"integer","description":"USD cents."}}},{"type":"object","properties":{"kind":{"const":"MAX_TRANSACTION"},"amountUsd":{"type":"integer","description":"USD cents."}}},{"type":"object","properties":{"kind":{"const":"APPROVAL_THRESHOLD"},"amountUsd":{"type":"integer","description":"USD cents."}}},{"type":"object","properties":{"kind":{"enum":["ALLOWED_ASSETS","BLOCKED_ASSETS"]},"assets":{"type":"array","items":{"type":"string","enum":["HYPE","WHYPE","USDC","KNTQ"]}}}},{"type":"object","properties":{"kind":{"enum":["ALLOWED_PROTOCOLS","BLOCKED_PROTOCOLS"]},"protocols":{"type":"array","items":{"type":"string"}}}},{"type":"object","properties":{"kind":{"enum":["ALLOWED_COUNTERPARTIES","BLOCKED_COUNTERPARTIES"]},"counterpartyIds":{"type":"array","items":{"type":"string"}}}},{"type":"object","properties":{"kind":{"const":"ALLOWED_ACTIONS"},"actions":{"type":"array","items":{"type":"string","enum":["SWAP","PAYMENT","TRANSFER","ALLOCATE","RETURN"]}}}},{"type":"object","properties":{"kind":{"const":"TIME_WINDOW"},"startHourUtc":{"type":"integer"},"endHourUtc":{"type":"integer"},"days":{"type":"array","items":{"type":"integer"}}}},{"type":"object","properties":{"kind":{"const":"EXECUTION_FREQUENCY"},"maxPerHour":{"type":"integer"}}},{"type":"object","properties":{"kind":{"const":"MAX_SLIPPAGE"},"bps":{"type":"integer"}}},{"type":"object","properties":{"kind":{"const":"COUNTERPARTY_DAILY_LIMIT"},"asset":{"type":"string","enum":["HYPE","WHYPE","USDC","KNTQ"]},"amountUsd":{"type":"integer","description":"USD cents."}}}]}}},"Context":{"type":"object","description":"See GET /api/v1/context.","properties":{"principal":{"enum":["agent","member","apiKey"]},"network":{"type":"string"},"organization":{"type":"object"},"agent":{"$ref":"#/components/schemas/Agent"},"session":{"type":"object"},"vaults":{"type":"array","items":{"type":"object"}},"onchainLimits":{"type":"array","items":{"type":"object"}},"counterparties":{"type":"array","items":{"type":"object"}},"units":{"type":"object"},"rateLimits":{"type":"object"},"ready":{"type":"boolean"}}}}}}