Pyrimid Protocol
Onchain affiliate distribution for AI agents on Base — agents discover products, earn USDC commissions via smart contracts, and settle instantly.
Pyrimid Protocol
Onchain affiliate distribution for AI agents on Base.
Website · Documentation · SDK on npm · Contracts
What is Pyrimid?
Pyrimid is a protocol where vendors list digital products, AI agents distribute them as affiliates, and commissions settle instantly in USDC via smart contracts on Base.
Agent discovers a product → purchases via x402 → smart contract splits payment:
1% → Protocol treasury
0–50% → Affiliate agent (set by vendor)
Remainder → Vendor
No affiliate? Vendor gets 99%. Vendors only pay for distribution that drives real sales. One layer only — no MLM, no pyramids. Just clean, transparent commission splitting onchain.
Why Pyrimid?
| Problem | Pyrimid's Solution |
|---|---|
| Agents can't monetize recommendations | Earn commissions by recommending products to users |
| Vendors can't reach agents at scale | List once, get discovered by every agent on the network |
| Commission payments are slow & opaque | Instant USDC settlement via smart contracts — fully auditable |
| No standard for agent commerce | x402 payments + MCP tools + onchain registry = open standard |
Quick Start
Install the SDK
npm install @pyrimid/sdk
For Agents — Find & Recommend Products
import { PyrimidResolver } from '@pyrimid/sdk';
const resolver = new PyrimidResolver({ affiliateId: 'af_your_id' });
// Search the catalog
const product = await resolver.findProduct("trading signals");
// Purchase with x402 payment (auto-splits commissions)
if (product) {
const receipt = await resolver.purchase(product, agentWallet);
console.log(`Earned: $${receipt.affiliate_earned / 1_000_000} USDC`);
}
For Vendors — List Your Product
import { pyrimidMiddleware } from '@pyrimid/sdk';
// 10 lines to activate affiliate distribution
app.use(pyrimidMiddleware({
vendorId: 'vn_your_id',
products: {
'/api/signals/latest': {
productId: 'signals_latest',
price: 250_000, // $0.25 USDC
affiliateBps: 1000, // 10% to affiliates
},
},
}));
For Frameworks — Embed as Default Layer
import { createPyrimidMcpServer } from '@pyrimid/sdk';
// Deploy an MCP server — agents connect, browse, buy
const server = createPyrimidMcpServer({
affiliateId: 'af_your_id',
serverName: 'my-recommender',
});
Three Integration Paths
| Path | Who | Effort | Leverage |
|---|---|---|---|
| Embedded Resolver | Agent frameworks & toolkits | 3 lines | Every agent on your stack earns you commissions |
| MCP Server | Agent infrastructure providers | 5 lines | Agents connect to your server to discover products |
| Vendor Middleware | API & product builders | 10 lines | Activate affiliate distribution on your product |
Smart Contracts (Base Mainnet)
All contracts are deployed and verified on Base. ERC-1967 upgradeable proxy pattern.
| Contract | Address | Purpose |
|---|---|---|
| Registry | 0x34e22fc2...389 | Affiliate & vendor registration, ERC-8004 identity linking |
| Catalog | 0xC935d6B7...908 | Product listings with pricing & commission rates |
| Router | 0xc949AEa3...68B | Commission splitting engine with maxPrice slippage protection |
| Treasury | 0x74A512F4...12C | Protocol operations fund |
API Reference
The Pyrimid API is free to read, rate-limited (60 req/min), and returns JSON.
| Endpoint | Method | Description |
|---|---|---|
/api/v1/catalog | GET | Full product catalog with search, filters, pagination |
/api/v1/stats | GET | Protocol-level stats (volume, transactions, affiliates) |
/api/v1/stats?type=affiliate&id=af_xxx | GET | Affiliate performance & earnings |
/api/v1/stats?type=vendor&id=vn_xxx | GET | Vendor analytics |
/api/mcp | POST | MCP JSON-RPC 2.0 endpoint (Streamable HTTP) |
/api/mcp | GET | Server info & tool definitions |
MCP Tools
| Tool | Description |
|---|---|
pyrimid_browse | Search catalog by query, price, category, verified status |
pyrimid_buy | Purchase a product via x402 with affiliate attribution |
pyrimid_preview | Preview the commission split before buying |
pyrimid_categories | List all product categories with counts |
pyrimid_register_affiliate | Instructions to register as an affiliate onchain |
Architecture
pyrimid/
├── app/ # Next.js 15 (Vercel, region: bom1)
│ ├── page.tsx # Landing page
│ ├── dashboard/ # Protocol dashboard
│ └── api/
│ ├── v1/catalog/ # Aggregated product catalog (92+ products)
│ ├── v1/stats/ # Protocol & affiliate analytics
│ └── mcp/ # MCP JSON-RPC endpoint
├── sdk/ # @pyrimid/sdk (published to npm)
│ └── src/
│ ├── resolver.ts # PyrimidResolver — search, purchase, stats
│ ├── mcp-server.ts # MCP server factory
│ ├── middleware.ts # Vendor payment middleware + calculateSplit()
│ └── types.ts # ABIs, addresses, interfaces
├── subgraph/ # The Graph indexer (Base)
│ ├── schema.graphql # PaymentRouted, Affiliate, Vendor entities
│ ├── subgraph.yaml # 4 data sources
│ └── src/mapping.ts # Event handlers
├── middleware.ts # Edge rate limiting (60/min API, 120/min MCP)
└── public/docs/ # Developer documentation
Development
# Clone & install
git clone https://github.com/pyrimid/protocol.git
cd protocol
npm install
# Run locally
cp .env.example .env
npm run dev
# SDK development
cd sdk
npm run build # TypeScript → dist/
npm run dev # Watch mode
Deploy
# Website + API
npx vercel --prod
# SDK to npm
cd sdk && npm publish --access public
# Subgraph to The Graph
cd subgraph && npx graph deploy pyrimid --studio
Security
- Payment verification: Real onchain verification via viem — checks
PaymentRoutedevents + USDC transfers with 5-minute expiry - Rate limiting: Edge middleware, 60 req/min per IP on catalog/stats, 120/min on MCP
- BigInt safety:
calculateSplit()handles bothNumberandBigIntinputs from web3 libraries - Contract pattern: ERC-1967 upgradeable proxies with verified source on BaseScan
Roadmap
- Core contracts deployed on Base
- SDK v0.2.3 with full catalog pagination
- MCP server with 5 tools
- x402 Bazaar aggregation (92+ products)
- Subgraph indexing on The Graph
- Rate limiting & security hardening
- ERC-8004 identity verification for vendors
- Multi-network support (Arbitrum, Optimism)
- Revenue dashboard for affiliates
- Vendor self-service registration portal
Links
| Resource | URL |
|---|---|
| Website | pyrimid.ai |
| Documentation | pyrimid.ai/docs |
| SDK | npmjs.com/package/@pyrimid/sdk |
| Subgraph | thegraph.com/studio/subgraph/pyrimid |
| Registry | BaseScan |
| Router | BaseScan |
Built on Base · Payments via x402 · Settlement in USDC
Related Servers
Remote MCP Server (Authless)
A remote MCP server without authentication, deployable on Cloudflare Workers.
MCP Weather Server Demo
Fetches weather data for any city using the Open-Meteo API.
Pronunciation Assessment
AI-powered English pronunciation scoring at phoneme level. 17MB model, sub-300ms, returns IPA/ARPAbet notation with per-phoneme scores.
Alibaba Cloud OPS
A server for managing Alibaba Cloud services, requiring an Access Key ID and Secret for authentication.
Elementary
Expose data observability, lineage, test results & incidents to AI agents via MCP
GCP Tools MCP Server
Automate Google Cloud Platform infrastructure setup and GitHub repository configuration for cloud-native projects.
CData QuickBooks Time
Access and manage QuickBooks Time data through the CData MCP Server, powered by the CData JDBC Driver.
Hoist
Domain registration, DNS management, and code deployment for AI agents. Register domains and deploy in one command.
MCP Gemini Server
An MCP server that exposes Google's Gemini model capabilities as tools using the @google/genai SDK.
Google Cloud Healthcare API (FHIR)
Provides healthcare tools for interacting with FHIR resources on Google Cloud Healthcare API and public medical research APIs like PubMed.