Monetize your MCP server, two ways
MCPize gives you two ways to charge for your MCP server: monthly subscriptions and pay-per-call payments in USDC. You can use one, the other, or both on the same server. This guide walks through how each works, when to pick it, and how to set up.
What you'll learn
Why monetize? Two ways at a glance
If your MCP server delivers real value — an integration, a dataset, a model wrapper — you should be paid for it. MCPize handles the billing plumbing so you can focus on the code.
Subscriptions
Charge a recurring monthly or yearly fee. Best when usage is steady, the consumer is a person or product team, and predictability matters.
- Predictable MRR you can forecast
- Familiar Stripe billing UX for buyers
- Includes usage quotas and overage rates
Pay-per-call (x402)
Charge agents per tool call in USDC. Best for high-variance traffic, autonomous agents, or anyone who doesn't want to sign up.
- No signup, no API key — pay and go
- Instant USDC settlement on Base
- You set per-tool prices
Subscriptions — predictable monthly revenue
Subscriptions are the classic SaaS billing model: a buyer picks a plan, gets an API key, and pays a fixed amount each month for included usage. MCPize handles Stripe Connect integration, plan management, billing retries, and tax compliance.
How it works
- Define your plans in the dashboard: name, price, included usage, overage rate, features.
- A consumer signs up, picks a plan, and completes Stripe Checkout.
- They receive an API key tied to their subscription. Their requests flow through the MCPize gateway, which counts usage and enforces quotas.
- On the first of every month, your payout lands in your Stripe Connect account.
Pay-per-call with x402 — agent-native pricing
x402 is an open protocol for charging on a per-request basis with cryptocurrency. When an agent calls a priced tool, it attaches a signed USDC payment on Base. MCPize verifies the payment with a facilitator, settles to your wallet, then runs the tool. There's no intermediary holding funds, no chargebacks, and no signup for the consumer.
When to pick pay-per-call
- Your consumers are autonomous agents, not humans signing in
- Usage is bursty — long quiet periods, then a flurry of calls
- Different tools deliver very different value (cheap lookups vs expensive generation)
- You don't want to manage subscribers, API keys, or quotas
Setup in three steps
- Get a Base wallet. Any wallet that can receive USDC on Base — Coinbase Wallet, Rabby, MetaMask with Base added. You control the keys; MCPize never custodies funds.
- Open the Payments tab in your server dashboard. Paste your wallet address, pick a network (start with Base Sepolia to test for free), and set a price per tool.
- Save. The pricing is live the moment you hit save. Agents that include a valid payment header in their request get the tool response back. Agents without one get an HTTP 402 with the price they should pay.
Testnet first
Always test on Base Sepolia before flipping to mainnet. Testnet USDC is free (faucets list at faucet.circle.com and Coinbase's developer portal). Once your flow works end-to-end on Sepolia, switch the network field to base in your dashboard or YAML, and you're live.
Platform fee and Founding Member rate
The platform fee covers payment processing (Stripe), tax compliance, hosting infrastructure, customer support, fraud prevention, and platform promotion (SEO, marketplace discovery, growth).
Founding Member rate is still open
Servers that turn on monetization before June 10, 2026 are permanently pinned at the higher Founding Member share — locked in for the lifetime of your server. Window closes in 18 days.
Configuring pricing in mcpize.yaml
Pay-per-call pricing lives under a top-level pricing: block in your mcpize.yaml. Commit the file to your repo so the dashboard and your config stay in sync. (You can also edit prices directly from the Payments tab — if the two drift, MCPize shows a banner with a downloadable updated YAML.)
Example mcpize.yaml snippet
pricing:
protocol: x402
network: base-sepolia # use base for production
recipient: "0xfB6916095ca1df60bB79Ce92cE3Ea74c37c5d359"
asset: usdc
tools:
- name: search
price: "0.01"
description: Performs a search
- name: translate
price: "0.05"
description: Translates text
protocol— alwaysx402today.network— start withbase-sepoliafor testing, switch tobasefor production.recipient— your wallet address. Use EIP-55 checksummed casing (any address explorer will give you this).asset— currentlyusdc.tools[].price— a string between 0.01 and 100 USDC with up to 6 decimals.
FAQ
Ready to start charging?
Open the Payments tab on any server in your dashboard to set a wallet and per-tool prices.