Server
FreeNot checkedAutonomous DeFi yield for AI agents on Base. Query APY, simulate splits, manage treasury.
About
Autonomous DeFi yield for AI agents on Base. Query APY, simulate splits, manage treasury.
README
Clicks Protocol ⚡
Agent commerce settlement routing for USDC flows on Base.
Website · Twitter · Discord · Medium · Substack · Reddit · Treasury Lab · mcpservers.org
One call. Yield starts.
import { ClicksClient } from '@clicks-protocol/sdk';
const clicks = new ClicksClient(signer);
await clicks.quickStart('100', agentAddress);
// 80 USDC → agent wallet (instant)
// 20 USDC → DeFi yield (4-8% APY, automatic)
That's it. No config. No dashboard. No human required.
What Clicks does
Every USDC payment your agent receives gets auto-split:
Payment in
├── 80% → Agent Wallet (liquid, instant)
└── 20% → DeFi Yield (Aave V3 or Morpho, auto-routed to best APY)
│
└── Withdraw anytime → Agent gets principal + yield (minus 2% fee on yield only)
- No lockup. Withdraw anytime.
- No manual steps. Fully autonomous.
- 2% fee on yield only. Never on principal.
- Auto-rebalances between Aave V3 and Morpho for best APY.
Install
npm install @clicks-protocol/sdk ethers@^6
x402 + Coinbase Agentic Wallets
Clicks works natively with the x402 payment protocol and Coinbase Agentic Wallets on Base.
Your agent holds USDC for x402 payments? Make it earn yield between transactions:
import { ClicksClient } from '@clicks-protocol/sdk';
import { CoinbaseWalletSDK } from '@coinbase/wallet-sdk';
const wallet = new CoinbaseWalletSDK({ appName: 'YourAgent' });
const signer = wallet.makeWeb3Provider().getSigner();
const clicks = new ClicksClient(signer);
await clicks.quickStart('1000', agentAddress);
// Your agent now earns yield on idle USDC
// 80% liquid for instant x402 payments
// 20% earning 4-8% APY via Morpho
- Same chain (Base), same USDC contract
- 80% liquid for instant x402 payments
- 20% earning 4-8% APY via Morpho
- No lockup, withdraw anytime
SDK
Quick Start (recommended)
One call: registers agent, approves USDC, splits first payment.
const result = await clicks.quickStart('100', agentAddress);
// result.registered → true (skips if already done)
// result.approved → true (skips if allowance sufficient)
// result.paymentSplit → true
Individual operations
// Register
await clicks.registerAgent(agentAddress);
// Approve USDC spending
await clicks.approveUSDC('max');
// Receive payment (auto-splits)
await clicks.receivePayment('500', agentAddress);
// Check yield info
const info = await clicks.getYieldInfo();
// { activeProtocol: 'Morpho', aaveAPY: 700, morphoAPY: 950, ... }
// Withdraw everything
await clicks.withdrawYield(agentAddress);
// Custom yield split (5-50%)
await clicks.setOperatorYieldPct(30); // 30% to yield, 70% liquid
Read-only (no signer needed)
const clicks = new ClicksClient(provider); // provider, not signer
const agent = await clicks.getAgentInfo(agentAddress);
// { isRegistered: true, deposited: 1000000n, yieldPct: 20n }
const split = await clicks.simulateSplit('100', agentAddress);
// { liquid: 80000000n, toYield: 20000000n }
MCP Server
AI agents can discover and use Clicks via MCP:
npm install @clicks-protocol/mcp-server
CLICKS_PRIVATE_KEY=0x... clicks-mcp
11 tools available: clicks_quick_start, clicks_register_referral, clicks_get_agent_info, clicks_simulate_split, clicks_get_yield_info, clicks_get_referral_stats, clicks_receive_payment, clicks_withdraw_yield, clicks_register_agent, clicks_set_yield_pct, clicks_explain
Works with Claude, Cursor, LangChain, and any MCP-compatible client.
Referral Network
Referral contracts exist on-chain. Treat them as a separate attribution layer from the current SDK quickStart() helper.
| Level | Share of protocol fee |
|---|---|
| L1 (direct referral) | 40% |
| L2 | 20% |
| L3 | 10% |
| Treasury | 30% |
The referred agent pays nothing extra. Rewards come from the 2% protocol fee once referral attribution has been registered through a dedicated flow.
Recommended flow:
const deadline = BigInt(Math.floor(Date.now() / 1000) + 3600);
const signature = await clicks.signReferralApproval(agentAddress, referrerAddress, deadline);
const result = await clicks.quickStartWithReferral(
'100',
agentAddress,
referrerAddress,
deadline,
signature,
);
Important:
quickStart()handles treasury setup.registerReferralWithSig()handles explicit attribution.quickStartWithReferral()is a convenience wrapper over those two steps, not an atomic one-shot contract call.
Economics per $10k deposit at 7% APY:
| Your tree | Passive income/year |
|---|---|
| 10 agents | $56 |
| 100 agents | $560 |
| 1,000 agents | $9,800 |
| 10,000 agents | $98,000 |
Agent Teams
Form squads, hit TVL milestones, earn bonus yield:
| Tier | TVL threshold | Bonus yield |
|---|---|---|
| 🥉 Bronze | $50k | +0.20% |
| 🥈 Silver | $250k | +0.50% |
| 🥇 Gold | $1M | +1.00% |
| 💎 Diamond | $5M | +2.00% |
Contracts (Base Mainnet)
| Contract | Address |
|---|---|
| ClicksRegistry | 0x23bb...0C0a3 |
| ClicksSplitterV4 | 0xB7E0...f3C8 |
| ClicksYieldRouter | 0x0531...EECD |
| ClicksFeeV2 | 0x8C4E...0fb5 |
| ClicksReferral | 0x1E5A...4ccC |
| Safe Multisig (Owner) | 0xaD82...D6A9 |
| USDC | 0x8335...913 |
All contracts verified on Basescan. Owned by Gnosis Safe multisig — single-key compromise is not possible.
ERC-8004 Trustless Agent
Clicks is registered on the ERC-8004 Identity Registry on Base as agentId 45074. On-chain reputation accrues per completed agent job. Attestors who follow the Clicks Attestor Schema V1 become eligible for the reputation-aware fee multiplier (shipping in V5).
- Manifest: /.well-known/agent-registration.json
- Schema V1: clicksprotocol.xyz/strategy/ATTESTOR-SCHEMA-V1.md
Architecture
clicks-protocol/
├── contracts/ Solidity (^0.8.20)
│ ├── ClicksSplitterV4 Splits payments, manages yield %
│ ├── ClicksYieldRouter Routes to best APY (Aave/Morpho)
│ ├── ClicksFeeV2 2% fee collection on yield
│ ├── ClicksRegistry Agent ↔ Operator mapping
│ └── ClicksReferral Multi-level referral system
├── sdk/ TypeScript SDK
├── mcp-server/ MCP Server (11 tools)
├── site/ Landing page + llms.txt + agent.json
└── test/ 227 tests (Hardhat)
Agent Discovery
- llms.txt: clicksprotocol.xyz/llms.txt — full protocol docs for LLMs
- agent.json: clicksprotocol.xyz/.well-known/agent.json — agent manifest
- MCP:
@clicks-protocol/mcp-server— tool discovery for MCP clients
Connect Your AI Agent
The Clicks MCP server is live at https://mcp.clicksprotocol.xyz/mcp — connect any MCP-compatible client in seconds.
Claude Desktop
Add to your claude_desktop_config.json:
{
"mcpServers": {
"clicks-protocol": {
"url": "https://mcp.clicksprotocol.xyz/mcp"
}
}
}
OpenClaw
openclaw mcp set clicks-protocol --url https://mcp.clicksprotocol.xyz/mcp
Codex CLI
Add to .codex/config.json:
{
"mcpServers": {
"clicks-protocol": {
"type": "url",
"url": "https://mcp.clicksprotocol.xyz/mcp"
}
}
}
Gemini CLI
{
"mcpServers": {
"clicks-protocol": {
"url": "https://mcp.clicksprotocol.xyz/mcp"
}
}
}
Available MCP Tools
| Tool | Description |
|---|---|
get_protocol_stats |
TVL, APY, agent count |
get_agent_info |
Check if an agent is registered |
get_yield_info |
Yield balance for an agent |
simulate_yield |
Project earnings over time |
clicks://protocol/overview |
Resource: protocol overview |
See examples/integrations/ for ready-to-use config files.
Works with
Any agent framework that handles USDC on Base:
x402 · LangChain · CrewAI · AutoGen · Eliza · OpenClaw · Claude · Cursor · Codex · Gemini · Hummingbot · Phidata
Development
npm install
npx hardhat compile
npx hardhat test # 227 tests
License
MIT
Built for agents, by agents. Live on Base.
Install Server in Claude Desktop, Claude Code & Cursor
unyly install io-github-clicksprotocolInstalls into Claude Desktop, Claude Code, Cursor & VS Code — handles npx, uvx and build-from-source repos for you.
First time? Get the CLI: curl -fsSL https://unyly.org/install | sh
Or configure manually
Run in your terminal:
claude mcp add io-github-clicksprotocol -- npx -y @clicks-protocol/mcp-serverFAQ
Is Server MCP free?
Yes, Server MCP is free — one-click install via Unyly at no cost.
Does Server need an API key?
No, Server runs without API keys or environment variables.
Is Server hosted or self-hosted?
Self-hosted: the server runs locally on your machine via the install command above.
How do I install Server in Claude Desktop, Claude Code or Cursor?
Open Server on unyly.org, pick your client tab (Claude Desktop, Claude Code, Cursor) and press Install — the config is generated automatically, no JSON editing.
Related MCPs
Fetch
Web content fetching and conversion for efficient LLM usage.
AWS KB Retrieval
Retrieval from AWS Knowledge Base using Bedrock Agent Runtime.
by modelcontextprotocolSpring AI MCP Server
Provides auto-configuration for setting up an MCP server in Spring Boot applications.
llm-analysis-assistant
A very streamlined mcp client that supports calling and monitoring stdio/sse/streamableHttp, and can also view request responses through the /logs page. It also
by xuzexin-hzCompare Server with
Not sure what to pick?
Find your stack in 60 seconds
Author?
Embed badge for your README
Browse similar
All ai MCPs
