Ava
by getava.xyz in Onchain & crypto
Coding agents run multi-leg cross-chain DeFi. Legs re-derived from your sentence before signing.
https://api.getava.xyz/mcp
Last 30 days
- Uptime
- 100%
- Response time
- 383 ms typical, 383 ms slowest 5%
- Last check
- 22 min ago
- Next check
- in 6 h
How to call it
Add it to any MCP client that supports remote servers.
{
"mcpServers": {
"ava": {
"type": "http",
"url": "https://api.getava.xyz/mcp"
}
}
}15 tools
- ava_copilot_turn
Natural-language copilot turn: message → intent → plan → testnet quote. Example: Swap 10 USDC to SUI on sui with 50 bps slip. Returns actions with approve_execute + executionId. Optional agentId/agentCredential for KYA gate (fail closed on reject). Does NOT fill until ava_approve
- ava_approve_execute
Human-in-the-loop approve: the one call that actually settles a plan from ava_copilot_turn. It is gated by the bound mandate's status and constraints and by server-side policy limits, and it CAN REFUSE (e.g. mandate paused/cancelled, a policy violation, a stale preview hash); a r
- ava_lend_execute
Execute a REAL lend against one of your mandates. Routes Ava has already settled a mainnet transaction on: Morpho Blue on Base, and Aave v3 on Monad, BNB Chain and Avalanche. Aave v3 on Arbitrum One is wired through the identical pipeline and address-verified, but nothing has eve
- ava_portfolio
Simulated testnet portfolio for a userId (same data as GET /v1/portfolio): seeded balances, fills, optional portal. Requires userId. Does not invent live chain balances.
- ava_session
Create or resume a human/org identity (userId), the first call in the loop. One human can own many agent instances (Claude + Cursor + OpenClaw + Ava-hosted). Moves no money and provisions no wallet by itself; call once and reuse the returned userId on every other tool.
- ava_create_agent
Register an agent instance under userId, before it has a wallet or a mandate. Mode A (multi-agent): agentId=byo-external + label (e.g. claude-workspace, cursor-arb) for a coding agent that already exists elsewhere. Mode B (hosted): agentId=defi-lend|defi-swap|defi-perp|portfolio
- ava_provision_wallet
Provision a Turnkey-custodied wallet address for this userId, scoped to one chain family (evm | solana | sui). Requires ava_session first. Returns the address for funding and later signing; it does not fund the wallet and does not move any money. If Turnkey is not configured serv
- ava_preview_tx
Pre-sign preview: build the exact venue artifact (CoW EIP-712 order or unsigned Solana transaction) for a pending plan against the provisioned Turnkey wallet, simulate it where supported, and return it UNSIGNED. Nothing is signed or submitted. Show the artifact to the human, then
- ava_plan_workflow
Turn ONE natural-language DeFi request into the dependent actions it actually contains, across one chain or several. Example: "Supply 300 USDC to Morpho on Base, bridge no more than 200 to Avalanche, then supply what arrives to Aave" returns three legs with the third depending on
- ava_plan_standing
Turn a request for REPEATED autonomous action into an envelope of bounds the user signs once. Use this instead of ava_plan_workflow when the request describes a cadence: "every hour, rotate my USDC into the best yield on Base using Aave and Morpho, never move more than 200 per ro
- ava_create_mandate
Create a capital mandate: the objective, capital and constraints an agent is allowed to act under, optionally scoped to an agentInstanceId. Example: "Earn on 500 USDC on Base, max 5% drawdown". Or pass structured capital {asset,amount,chain}. Creating a mandate moves no money by
- ava_list_mandates
List capital mandates for a userId (optional filter by agentInstanceId).
- ava_eval_mandate
Read-only: check a mandate's exit conditions against a market snapshot and record the result. Omit snapshot to pull a live CoinGecko price for the condition asset. Never executes and never moves money; ava_approve_execute is the only tool that does.
- ava_agent_record
Read an agent's track record before delegating capital to it. Returns mandates held, executions attempted, refusals by typed code, and receipts with their proof standing. Distinguishes CLAIMED from PROVEN: receiptsProven counts only chain-confirmed receipts; unconfirmed receipts
- ava_get_receipt
Retrieve the receipt for a prior ava_approve_execute by executionId, the loop's final step. Returns the stored receipt plus its honest proof.standing: none (nothing submitted), unconfirmed (an identifier exists but nothing independent confirmed it), chain-confirmed (the declared
Security scan
- No findings. We scan names, descriptions and tool definitions for hidden instructions and other prompt-injection patterns.
Recent checks
| When | Result | HTTP | Time |
|---|---|---|---|
| 22 min ago | Passed | 200 | 352 ms |
| 10 h ago | Passed | 200 | 502 ms |
| 21 h ago | Passed | 200 | 383 ms |