Clicks Protocol

Clicks Protocol

Autonomous DeFi yield for AI agents on Base. Query APY rates, agent status, payment splits, and referral stats. 4 read-only tools + 1 resource.

Category
Visit Server

README

<p align="center"> <img src="assets/logo.svg" width="200" alt="Clicks Protocol Logo"> <h1 align="center">Clicks Protocol ⚡</h1> <p align="center">Your agent earns USDC. That USDC sits idle. Clicks fixes that.</p> </p>

<p align="center"> <a href="README-CN.md">中文文档</a> </p>

<p align="center"> <a href="https://www.npmjs.com/package/@clicks-protocol/sdk"><img src="https://img.shields.io/npm/v/@clicks-protocol/sdk?color=00FF9B&label=sdk" alt="npm"></a> <a href="https://basescan.org/address/0x23bb0Ea69b2BD2e527D5DbA6093155A6E1D0C0a3"><img src="https://img.shields.io/badge/Base%20Mainnet-live-00FF9B" alt="Base Mainnet"></a> <a href="#"><img src="https://img.shields.io/badge/tests-58%20passing-00FF9B" alt="Tests"></a> <a href="LICENSE"><img src="https://img.shields.io/badge/license-MIT-blue" alt="License"></a> </p>

<p align="center"> <a href="https://clicksprotocol.xyz">Website</a> · <a href="https://x.com/ClicksProtocol">Twitter</a> · <a href="https://discord.gg/clicks-protocol">Discord</a> · <a href="https://clicksprotocol.medium.com">Medium</a> · <a href="https://substack.com/@clicksprotocol">Substack</a> · <a href="https://reddit.com/user/clicksprotocol/">Reddit</a> </p>


<p align="center"> <img src="demo.gif" alt="Clicks Protocol Quick Start Demo" width="700"> </p>


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 (7-10% 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

9 tools available: clicks_quick_start, clicks_get_agent_info, clicks_simulate_split, clicks_get_yield_info, clicks_receive_payment, clicks_withdraw_yield, clicks_register_agent, clicks_set_yield_pct, clicks_get_referral_stats

Works with Claude, Cursor, LangChain, and any MCP-compatible client.


Referral Network

Agents recruit agents. Three levels deep. On-chain.

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.

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
ClicksFee 0xc47B...E6bE
ClicksYieldRouter 0x4E29...849F
ClicksSplitterV3 0x2432...FcB4
USDC 0x8335...913

All contracts verified on Basescan.


Architecture

clicks-protocol/
├── contracts/           Solidity (^0.8.20)
│   ├── ClicksSplitterV3    Splits payments, manages yield %
│   ├── ClicksYieldRouter   Routes to best APY (Aave/Morpho)
│   ├── ClicksFee           2% fee collection on yield
│   ├── ClicksRegistry      Agent ↔ Operator mapping
│   └── ClicksReferral      Multi-level referral system
├── sdk/                 TypeScript SDK
├── mcp-server/          MCP Server (9 tools)
├── site/                Landing page + llms.txt + agent.json
└── test/                58 tests (Hardhat)

Agent Discovery


Works with

Any agent framework that handles USDC on Base:

x402 · LangChain · CrewAI · AutoGen · Eliza · OpenClaw · Claude · Cursor · Phidata


Development

npm install
npx hardhat compile
npx hardhat test          # 58 tests

License

MIT


<p align="center"> <sub>Built for agents, by agents. Live on Base.</sub> </p>

Recommended Servers

playwright-mcp

playwright-mcp

A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.

Official
Featured
TypeScript
Magic Component Platform (MCP)

Magic Component Platform (MCP)

An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.

Official
Featured
Local
TypeScript
Audiense Insights MCP Server

Audiense Insights MCP Server

Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.

Official
Featured
Local
TypeScript
VeyraX MCP

VeyraX MCP

Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.

Official
Featured
Local
graphlit-mcp-server

graphlit-mcp-server

The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.

Official
Featured
TypeScript
Kagi MCP Server

Kagi MCP Server

An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.

Official
Featured
Python
E2B

E2B

Using MCP to run code via e2b.

Official
Featured
Neon Database

Neon Database

MCP server for interacting with Neon Management API and databases

Official
Featured
Exa Search

Exa Search

A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.

Official
Featured
Qdrant Server

Qdrant Server

This repository is an example of how to create a MCP server for Qdrant, a vector search engine.

Official
Featured