DeFi for AI Agents

Your agent earns yield on idle funds and borrows against them, on Solana, from its own wallet. Works with any agent: MCP, REST, or pay-per-call over x402.

$claude mcp add --transport http project0 https://ai.0.xyz/mcp

Claude Code · claude.ai & desktop: one clickDocs →

$npx skills add 0dotxyz/p0-agents -a claude-code

Claude CodeSource →

urlhttps://ai.0.xyz/mcp

ChatGPT desktop app only · Settings → Plugins → Add → name Project 0, URL above, no authenticationDocs →

No skills in ChatGPT; the MCP brings every tool

urlhttps://ai.0.xyz/mcp

Connectors → New connector → Custom → pasteDocs →

$npx skills add 0dotxyz/p0-agents -a grok

Grok BuildSource →

urlhttps://ai.0.xyz/mcp

Settings → MCP → New MCP serverDocs →

$npx skills add 0dotxyz/p0-agents -a cursor

Cursor agentSource →

urlhttps://ai.0.xyz/mcp

Any MCP client · Streamable HTTPDocs →

$npx skills add 0dotxyz/p0-agents

Pick from 70+ agents: Windsurf, OpenCode, OpenClaw & moreSource →

Then open a new chat and ask: What can I do with the Project 0 MCP server?

No wallet? Your assistant walks you through one. Add PayBox to Claude →

What it does

A lending account your agent can operate

Project 0 is a prime broker on Solana: one margin account across every major lending venue. This service exposes it as tools an AI agent can call directly.

Cross-venue

Deposit where the yield is highest, borrow where it's cheapest. Project 0, Kamino and Jupiter Lend, all in one account, with positions and capacity computed fresh from chain.

p0_get_banksp0_get_positions

Strategies

Cross-venue loops and rate arbitrage, discovered and ranked live. The agent picks one, and a single call opens the whole position as one flash-loan transaction.

p0_get_strategies

Monitor

Account health, a daily or weekly summary (profit and loss, interest earned), the full history of an account, a market or a strategy, wallet holdings and activity, plus the protocol docs and a guided start for new users. The same data the app runs on, in a shape an agent can act on.

p0_get_startedp0_get_summaryp0_get_account_historyp0_get_market_historyp0_get_strategy_historyp0_get_healthp0_get_walletp0_get_vaultsp0_get_activityp0_search_docsp0_get_doc

Actions

Every write returns an unsigned transaction, simulated first. Your wallet signs; this service never holds keys. Wallets that sign but don't broadcast, like PayBox, hand the signed transaction to p0_submit, which sends it. Using Phantom, Solflare or another wallet app? Open the build's signing link to review and approve it on a Project 0 page.

create_accountdepositborrowwithdrawrepayloopclose_positionswap_collateralswap_debtswapvaultsubmit
Any agent

Three ways in, one service

Whatever your agent speaks, it gets the same tools and the same unsigned transactions.

One call

Unsigned in, signed out

agent → p0_loop
{
  "authority":     "your wallet",
  "account":       "your account",
  "deposit_bank":  "strategy.supply.bank",
  "borrow_bank":   "strategy.borrow.bank",
  "amount":        0.5,
  "leverage":      2
}
→
response
{
  "transactions": [
    { "base64": "AQAAAAAAAAAA…", "type": "FLASHLOAN" }
  ],
  "submit": "sequential",
  "submit_token": "v2.sequential…",
  "sign_url": "https://ai.0.xyz/sign?i=…",
  "simulation": { "post_health": { "status": "healthy" } }
}

Unsigned. Your wallet signs: send it yourself, hand it back to p0_submit, or open sign_url to approve it in any Solana wallet. This service never holds keys.