Agentic Swarm Marketplace
MCP server that exposes T54 x402 seller SKUs from OpenAPI as tools: contract triage, audit, and monitoring plus T54 commerce tools. HTTP 402 invoices are paid via x402_broker_client (XRPL / Base USDC depending on env); stdio for Cursor/Claude, Streamable HTTP for hosted use.
README
<p align="center"> <img src="assets/logo.png" alt="Agentic Swarm Marketplace" width="480"> </p>
<p align="center"> <a href="https://www.agentic-swarm-marketplace.com/agentic-crypto-swarm-prototype/"><strong>Live site (custom domain)</strong></a> · <a href="https://hobie1kenobi.github.io/agentic-crypto-swarm-prototype/"><strong>GitHub Pages mirror</strong></a> · <a href="https://hobie1kenobi.github.io/agentic-crypto-swarm-prototype/llms.txt">llms.txt</a> · <a href="https://hobie1kenobi.github.io/agentic-crypto-swarm-prototype/mcp-integration.md">MCP setup</a> · <a href="DIRECTORY_SUBMISSION_KIT.md">Directory submission kit</a> · <a href="submissions/awesome-mcp-servers-PR.md">Awesome MCP PR</a> · <a href="submissions/taaft-form-copy.md">TAAFT copy</a> </p>
<p align="center"> <a href="https://hobie1kenobi.github.io/agentic-crypto-swarm-prototype/mcp-integration.md"><img src="https://img.shields.io/badge/MCP-compatible-6366f1?style=flat-square" alt="MCP compatible"></a> <a href="https://www.base.org/"><img src="https://img.shields.io/badge/Base-network-0052FF?style=flat-square" alt="Base network"></a> <a href="https://xrpl.org/"><img src="https://img.shields.io/badge/XRPL-x402%20T54-23292F?style=flat-square" alt="XRPL x402 T54"></a> <a href="https://olas.network/"><img src="https://img.shields.io/badge/Olas-network-8b5cf6?style=flat-square" alt="Olas network"></a> <a href="https://www.celo.org/"><img src="https://img.shields.io/badge/Celo-settlement-35D07F?style=flat-square" alt="Celo settlement"></a> </p>
Agentic Crypto Swarm Prototype
A hierarchical multi-agent system for machine-paid on-chain value creation — no trading, no speculation. Defaults: Celo Sepolia (11142220) for development; production settlement on Celo mainnet (42220). Public inbound sales use Base mainnet USDC (x402 facilitator seller, eip155:8453) and XRPL mainnet XRP (T54, xrpl:0) once HTTPS URLs are set — see documentation/PUBLIC_MAINNET_OPERATIONS.md. Local Anvil (31337) for zero-faucet testing.
Layout: long-form manuals live under documentation/ (see documentation/README.md). Generated soak reports, traces, proof bundles, and communication traces live under artifacts/ (see artifacts/README.md). The docs/ folder is reserved for GitHub Pages (index.html, endpoints.json, sitemap, discovery scans linked from the site).
<br>
<div align="center">
Completed: T54 x402 seller on XRPL
Machine-paid APIs — HTTP 402 — XRP settlement via T54 facilitator (xrpl:0)
</div>
| What it is | A production-pattern T54 seller: a FastAPI server that returns 402 Payment Required with x402 v2 terms for XRPL mainnet. Buyers complete payment in XRP; xrpl-facilitator-mainnet.t54.ai verifies and settles. The seller holds no signing keys — only your receive address (r...). |
| What it does | Multi-SKU paid GET routes with Pydantic-validated JSON and per-route prices in drops (see packages/agents/config/t54_seller_skus.json): micropayment ping (/hello), short constitution-safe Q&A (/x402/v1/query), structured research brief (/x402/v1/research-brief), and heuristic prompt/ethics review (/x402/v1/constitution-audit). GET /health is free and lists SKUs. Discovery builds public **resource_url**s from T54_SELLER_PUBLIC_BASE_URL + each path (x402_providers.json). |
| Docs & ops | documentation/x402-t54-base/T54_SELLER.md — env vars, ngrok, 24/7 startup. Mainnet + hybrid notes: documentation/celo-xrpl/MAINNET_CELO_XRPL_T54.md. Task review: documentation/x402-t54-base/T54_GROK_TASK_REVIEW.md. |
<details> <summary><b>Quick commands</b> (expand)</summary>
| Goal | Command |
|---|---|
| Run seller locally | npm run t54:seller |
Seller + ngrok + sync .env from tunnel |
npm run t54:stack:start then npm run t54:sync-ngrok-env |
| Reload discovery output | npm run t54:reload-discovery |
| Buyer / marketplace cycle (test) | npm run t54:cycle |
</details>
All paid / commerce surfaces in this repository
| Surface | How to run | Rail / asset |
|---|---|---|
| T54 XRPL x402 seller | npm run t54:seller |
XRP · xrpl:0 · T54 facilitator |
| T54 stack (seller + tunnel helper) | npm run t54:stack:start |
Same (orchestration script) |
| Celo native x402 API | npm run api:402 |
CELO · on-chain fulfillQuery |
| Base mainnet USDC x402 seller (facilitator / Bazaar path) | npm run x402:seller → api_seller_x402 |
USDC · eip155:8453 · public URL setup |
| Compute marketplace | npm run miner · npm run validator |
Celo · escrow / scoring |
| Multi-rail hybrid demo | npm run demo:multi-rail |
Celo + XRPL composition |
| External x402 discovery | packages/agents/external_commerce/discovery.py + x402_providers.json |
Catalog of providers |
| Airdrop intelligence & EVM claims | npm run airdrop:intake · npm run airdrop:pipeline · npm run airdrop:pull-catalog · npm run airdrop:catalog:base · npm run airdrop:claim:recon · npm run airdrop:claim:verify · npm run airdrop:claim:spec-from-merkle · npm run airdrop:claim |
airdrop:intake writes external_commerce_data/airdrop_intake_snapshot.json (catalog + LLM scout + per-chain filters + recon). Then queue ClaimSpec → approve → dry-run → execute; AIRDROP_CLAIM_EXECUTION.md · CLAIM_EXTRACT_AND_VERIFY.md |
| Sellable dashboard bundle (Stripe MPP) | npm run marketplace:pack (writes dist/...-latest.zip) · npm run marketplace:webhook-dev · npm run marketplace:order · documentation/marketplace-stripe/MARKETPLACE_DASHBOARD_BUNDLE.md |
USD · Tempo crypto deposit (npm run marketplace:serve) |
| Unified reverse proxy (one HTTPS host) | npm run proxy:unified → :9080 · scripts/reverse-proxy/README.md · npm run ngrok:dual (three tunnels incl. unified) or npm run ngrok:unified |
Routes /x402/*, /t54/*, /webhooks/* to Base, T54, marketplace |
Architecture
Human (seeds ETH + goals)
│
▼
Root Strategist (ERC-4337 smart account)
│
├──► IP-Generator (creates novel oracle/prompt logic)
├──► Deployer (deploys/upgrades AgentRevenueService)
└──► Finance-Distributor (treasury, profit distribution)
- 4 isolated smart accounts with session keys + 0.01 ETH daily cap
- AgentRevenueService.sol — pay-per-query AI service (min 0.001 ETH)
- LangGraph — stateful multi-agent orchestration
- Profit split: 60% human beneficiary, 40% reinvested
Prerequisites
- Foundry
- Python 3.12+
- Node.js 18+
- Ollama for LLM inference. Recommended (low local RAM): cloud models such as
kimi-k2.5:cloud— runollama signin, thenollama pull kimi-k2.5:cloud, keep the Ollama app running, setOLLAMA_MODEL/OLLAMA_BASE_URL=http://127.0.0.1:11434in.env. Alternative: fully localqwen3.5:9b(~8.7 GiB RAM) orphi3:mini/tinyllama. Direct cloud API:OLLAMA_BASE_URL=https://ollama.com+OLLAMA_API_KEYfrom ollama.com/settings/keys. - RPC: set
RPC_URLorCELO_SEPOLIA_RPC_URLfor Celo Sepolia; Alchemy optional for Base legacy
Setup
-
Clone and install
git clone https://github.com/Hobie1Kenobi/agentic-crypto-swarm-prototype.git cd agentic-crypto-swarm-prototype -
Environment
Copy
.env.exampleto.env. SetCHAIN_NAME=celo-sepolia(default) oranvilfor local. Optional:RPC_URL,BENEFICIARY_ADDRESS,PIMLICO_API_KEY(Base only). Configure Ollama in.env(OLLAMA_MODEL,OLLAMA_BASE_URL; optionalOLLAMA_API_KEYfor direct cloud — see Prerequisites). -
Install dependencies
.\scripts\ensure-ollama-model.ps1 .\scripts\install-foundry.ps1Restart the terminal so
forgeis on PATH, then:forge install OpenZeppelin/openzeppelin-contracts cd packages/wallet && npm install cd packages/agents && pip install -r requirements.txt -
Create agent wallets (saves secrets to
.env, updates.gitignore)npm run create-accounts -
Claim testnet CELO (Celo Sepolia)
- Celo Sepolia Faucet
- For local runs use
npm run simulation:local(no faucet). For legacy Base Sepolia: basefaucet.com, CDP faucet.
Run
Full orchestration (one command): strategist → IP-generator → deployer check → 10-user simulation → finance check (and loop until profit threshold or max steps).
Celo Sepolia public test: Full flow (env → create wallets → deploy → fund → orchestrate → monitor) and troubleshooting: documentation/celo-xrpl/CELO-SEPOLIA-TESTNET.md. Short path: npm run create-accounts → fund deployer → npm run testnet:celo → fund ROOT_STRATEGIST_ADDRESS → npm run orchestrate. Check balances: .\scripts\celo-sepolia-balances.ps1.
Manual deploy then orchestrate:
# 1. Deploy contracts (once)
.\scripts\deploy.ps1 --broadcast
.\scripts\fetch-and-save-addresses.ps1
# Ensure REVENUE_SERVICE_ADDRESS and FINANCE_DISTRIBUTOR_ADDRESS in .env
# 2. Run full orchestration (LangGraph + simulation in one graph)
npm run orchestrate
# or: npm run swarm (same thing)
Use --max-steps to limit graph steps (default 5), e.g. cd packages/agents && python main.py --max-steps 3.
Run steps separately (optional):
npm run swarm # LangGraph only (no simulation)
npm run simulation # 10-user revenue loop only
Simulation: Without REVENUE_SERVICE_ADDRESS it runs in dry-run (LLM only, log to simulation_log.txt). With contract address and a funded key, it sends real fulfillQuery txs.
Local-first test harness (no faucet, repeatable): One command to validate the full system on Anvil:
npm run harness:local
This starts Anvil, deploys the contracts, and runs the 10-user simulation using Anvil’s pre-funded account (10,000 ETH). Report artifacts: simulation_report.json, simulation_report.md. Clean state: npm run harness:local:reset. Simulation-only: npm run simulation:local.
How to Monitor / Claim Profits
- Treasury / finance distributor: see
FINANCE_DISTRIBUTOR_ADDRESSin.env - Celo Sepolia:
https://celo-sepolia.blockscout.com/address/<ADDRESS>; Celo mainnet:https://explorer.celo.org/address/<ADDRESS>. Legacy Base: sepolia.basescan.org - Profit distribution: when finance balance ≥
SIMULATION_PROFIT_THRESHOLD_ETH(default 0.005), simulation sends 60% toBENEFICIARY_ADDRESSand leaves 40% reinvested
How to Run in Production (testnet)
- Install deps, create agent wallets (
npm run create-accounts), fund them with testnet ETH. - Deploy contracts:
.\scripts\deploy.ps1 --broadcast; setREVENUE_SERVICE_ADDRESSin.env. - Fund the payer (e.g. root strategist) with ≥0.01 ETH for 10 queries.
- Set
BENEFICIARY_ADDRESSand optionallyFINANCE_DISTRIBUTOR_PRIVATE_KEYfor distribution. - Run
npm run simulationfor the 10-user revenue loop; checksimulation_log.txtfor tx hashes and profit proof. - For full 0.05 ETH profit target, set
SIMULATION_PROFIT_THRESHOLD_ETH=0.05and run until finance balance reaches it (or run more queries).
Constraints
- Default testnet: Celo Sepolia (11142220). Production: Celo mainnet (42220). Local: Anvil (31337). Base Sepolia (84532) legacy/optional.
- No trading/DEX/speculation — revenue from usage fees only
- Ethical constitution — no gambling, illegal content; sustainable compute
Production readiness
For Celo mainnet launch: deployment, security, operations, secrets, monitoring, wallets, upgrades, economic risk, abuse/spam, rate limits, accounting, and DAO recommendation are in documentation/operations/PRODUCTION-READINESS.md. v1 minimal launch: deploy without DAO; keep revenue contract owned by EOA or multisig.
Compute marketplaces and DAO
- T54 XRPL x402 seller (completed): Multi-SKU HTTP seller, XRP settlement, discovery — see Completed: T54 x402 seller on XRPL at the top of this README.
- x402 API:
npm run api:402— HTTP 402 pay-per-query; client pays toAgentRevenueService, retries withX-Payment-Tx-Hash, gets LLM response. - Compute marketplace: Deploy includes
ComputeMarketplace. Run miner:npm run miner(POST /task); run validator:npm run validator(scores miners, submitScores). Fund the contract with CELO and calldistributeRewards()to pay miners. - Multi-rail agent commerce: Celo (private settlement) + XRPL (machine payments) + Olas (public demand). See documentation/celo-xrpl/XRPL_PAYMENTS.md.
- XRPL — Machine-native payments rail (XRP on testnet; live-proven)
- Celo — Private settlement rail (task lifecycle, escrow, withdrawals on Celo Sepolia)
- Live proof: live_xrpl_to_celo_proof_report.md documents a successful end-to-end run with verifiable XRPL + Celo tx hashes.
- Public marketplace adapter (Olas / Mech): See documentation/operations/PUBLIC-ADAPTER.md. This repo supports a dual-chain operating model:
- Private settlement (Celo Sepolia):
MARKET_MODE=private_celo - Live/public Olas attempts (Gnosis):
MARKET_MODE=public_olas(requires Gnosis config +mechx) - Hybrid (Gnosis intake → Celo settlement):
MARKET_MODE=hybrid - XRPL payment rail:
PAYMENT_RAIL_MODE=mock_paymentorxrpl_x402_payment; runpython scripts/run-multi-rail-demo.py --force-hybrid - Replay-only hybrid is supported via
documentation/examples/olas_request_replay_example.json - Reports:
olas_preflight_report.json,olas_env_checklist.md,olas_live_attempt_report.(md|json),hybrid_gnosis_celo_report.(md|json),multi_rail_run_report.(md|json),live_xrpl_to_celo_proof_report.(md|json),communication_trace.(md|json)
- Private settlement (Celo Sepolia):
- DAO (optional/advanced): After deploy,
npm run deploy:daodeploys SwarmGovernanceToken, Timelock, Governor and transfersAgentRevenueServiceownership to the Timelock. Recommended only after validating core flow; see PRODUCTION-READINESS.md and COMPUTE_MARKETPLACES_AND_DAOS.md.
Deliverables
- Repo: Monorepo with
contracts/,packages/wallet/,packages/agents/,script/,scripts/ - .cursor/rules:
AGENTS.mdwith tech stack and conventions - Deployed addresses: After
.\scripts\deploy.ps1 --broadcast, setREVENUE_SERVICE_ADDRESSandFINANCE_DISTRIBUTOR_ADDRESSin.env(see.env.example) - Simulation log:
npm run simulationwritessimulation_log.txtwith tx hashes and profit summary - Tests:
npm run testruns Forge contract tests (32 tests) and Python agent tests (25 tests). Contracts:npm run test:contracts. Agents:npm run test:agents.
License
MIT
Recommended Servers
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.
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.
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.
VeyraX MCP
Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.
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.
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.
E2B
Using MCP to run code via e2b.
Neon Database
MCP server for interacting with Neon Management API and databases
Qdrant Server
This repository is an example of how to create a MCP server for Qdrant, a vector search engine.
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.