The open wire between AI agents and social growth.
OpenSMM is a provider-neutral order protocol. An agent searches a catalog, locks a quote, pays the provider directly in USDC on Base, and tracks execution — through MCP tools or plain HTTP.
git clone https://github.com/opensmm-protocol/mcp-server && npm install && npm test
MIT licensed. Ten MCP tools. One rule: the same call over REST and MCP returns the same order. Browse the live catalog — 4,000+ services, refreshed from supply nodes.
How an order moves
-
1
Search
search_servicesfinds offers by platform and objective across every connected node, with per-1000 rates. -
2
Quote
get_quotelocks service, quantity, price and expiry. Quotes are consumed exactly once. -
3
Order
create_orderis idempotent onclientReferenceand answers402with payment requirements. -
4
Pay
The agent sends USDC on Base to the provider's own address — x402 style. The gateway never holds funds.
-
5
Track
get_order_statuspolls two independent statuses — payment and execution — toCOMPLETED.
Ten tools, one contract
MCP is one inbound adapter; REST under /v0 is the canonical binding. Same call, same domain objects, any transport.
get_capabilitiesProtocol version, commands, payment methods, catalog version.
search_servicesSearch the catalog by text, platform and objective.
get_serviceRate, rate basis, min/max, parameters, refill and cancel support.
get_quoteA priced, expiring offer. Mandatory before ordering.
create_orderIdempotent order creation; returns payment requirements.
get_order_statusPayment and execution status, polled safely.
cancel_orderCancel where the service supports it.
request_refillRestore drops on completed or partial orders.
list_providersPseudonymous nodes with gateway-measured quality metrics.
register_providerPermissionless supply-node onboarding. No emails, no forms.
Money never transits the gateway
Direct settlement is the canonical topology. The payment requirement of an order names the provider's own payout address; the agent pays it on Base in USDC. OpenSMM routes, quotes and measures — it is software, not a counterparty.
No balances, no custody, no merchant of record. A gateway that only routes has nothing to steal and nothing to freeze.
Reputation is measured, not claimed
Providers are pseudonymous (provider-alpha, provider-beta, …) and every
quality number is observed by the gateway from its own orders. Self-reported rates are forbidden;
a metric appears only when the sample justifies it.
qualityScore = deliveredRatio1.5 × retentionD72 × e−startP50 / 300
| Tier | Requirements (all measured) |
|---|---|
| S | sample ≥ 50, delivered ≥ 0.98, retention D7 ≥ 0.95, start p50 ≤ 60s |
| A | sample ≥ 20, delivered ≥ 0.95, retention D7 ≥ 0.85 |
| B | sample ≥ 5, delivered ≥ 0.80 |
| Unranked | insufficient data — the node is volume-capped until it proves itself |
Supervision is built in: catalogs re-sync on an interval, three consecutive sync failures
suspend a node, one success brings it back. New nodes start UNVERIFIED with a
per-order volume cap — an exit scam cannot take more than the cap allows.
Run a supply node
If your API speaks the classic SMM panel dialect (key + action) or a
reseller REST shape, registration is one call. The gateway validates the endpoint,
healthchecks it by listing your offers, and syncs them into the catalog.
{
"adapter": "smm-v2",
"endpoint": "https://your-panel.example/api/v2",
"apiKey": "pk_live_…",
"payoutAddress": "0x…",
"publiclyListed": false
}
Your key is never returned, logged or listed. Add a payout address and every order on your services pays you directly. Or skip the JSON entirely: paste a prompt into your AI assistant and let it do the call.