Pricing
ICME uses pay-per-use pricing settled in USDC on Base. There are no subscriptions, no seats, no monthly minimums, and no credit card required. You pay for what you use, when you use it.
What things cost
Compile a policy (/v1/makeRules)
300 credits
$3.00 one-time per policy
Check an action (/v1/checkIt)
5 credits
$0.05 per check
Check without an account (/v1/verifyPaid)
—
$0.10 USDC per check
Third-party check against your policy
—
$0.10 USDC per check (paid by the requester)
1 credit = $0.01 USDC.
Policy compilation is a one-time cost. Once your policy is compiled, you pay only per check, the compiled policy is reusable indefinitely.
Cost at scale
100
$0.15
1,000
$1.50
10,000
$15.00
100,000
$150.00
1,000,000
$1,500.00
Excludes one-time policy compilation cost of $3.00 per policy.
Why not just use an LLM to check actions?
Most teams start by prompting a model to evaluate whether an agent's action is safe. It works in demos. In production, it has three problems.
It's probabilistic, not provable. The same action can pass one run and fail the next. You can't unit test it, cache it reliably, or audit it. There is no mathematical guarantee, only a confidence score.
It's gameable. A sufficiently crafted input can convince an LLM judge that a policy-violating action is acceptable. Formal verification doesn't have this surface area. The SMT solver either finds a satisfying assignment or it doesn't. There is no prompt that makes UNSAT return SAT.
It produces no receipt. When an autonomous agent executes a transaction, you may need to prove after the fact that the action was authorized. An LLM returning "approved" is not an audit trail. A zero-knowledge proof is.
ICME costs $0.05 per check. A GPT-4o-mini call for guardrail evaluation costs roughly $0.001–$0.005, ICME is more expensive. The question is whether you need a proof or a prediction.
How payment works: x402
ICME uses the x402 payment protocol, an emerging standard for machine-native payments built on HTTP. If you've never used it before, here's how it works:
You make an API call
If you have no credits, the server responds with HTTP
402 Payment Requiredand apayToaddressYou send the required USDC to that address on Base
You retry the request, the payment is confirmed on-chain and the request completes
For account holders, credits are pre-loaded so the 402 flow only appears when your balance runs low. For no-account checks via /v1/verifyPaid, the 402 flow runs on every call.
Why x402? Because your agents can handle it natively. An AI agent calling the ICME API can detect a 402 response, execute the payment, and retry, without any human involvement. This is what makes ICME compatible with fully autonomous agentic workflows. The API can pay for itself.
What is USDC?
USDC (USD Coin) is a stablecoin pegged 1:1 to the US dollar. $1.00 USDC is always worth $1.00 USD. It is issued by Circle and is one of the most widely used digital currencies for developer payments and API tooling.
Unlike volatile cryptocurrencies, USDC doesn't fluctuate in value. When you send $3.00 USDC to compile a policy, you're sending exactly $3.00.
What is Base?
Base is a blockchain network built by Coinbase. It is fast, cheap, and designed for everyday transactions, sending $0.05 USDC on Base costs a fraction of a cent in gas fees, compared to several dollars on Ethereum mainnet.
ICME uses Base because it makes micropayments practical. Paying $0.05 per guardrail check only makes sense if the transaction fee to send that $0.05 doesn't exceed the cost of the check itself. On Base, it doesn't.
How to get USDC on Base
Option 1: Coinbase (easiest)
Create an account at coinbase.com
Buy USDC directly with a bank transfer or debit card
In Coinbase, send USDC to your wallet address and select Base as the network
USDC arrives in your Base wallet within minutes
Option 2: Bridge from another network If you already hold USDC on Ethereum mainnet or another chain, use the Base Bridge to move it to Base. Takes ~5 minutes with a small gas fee on the source chain.
Option 3: Exchange withdrawal Most major exchanges (Kraken, Binance, Bybit) support withdrawals directly to Base. Buy USDC and withdraw to the Base network, it arrives ready to use.
What wallet do I need? Any Ethereum-compatible wallet works: MetaMask, Coinbase Wallet, Rainbow, or any wallet that supports Base network. For programmatic integration, any library that supports Base works — viem, ethers.js, web3.py, or the Coinbase Developer Platform SDK.
Loading your account
When you create an account, ICME returns a payTo address specific to your account. Send USDC on Base to this address to load credits.
Minimum deposit: $5.00 USDC (500 credits).
bash
Response:
json
Send $5.00 USDC (or more) to the payTo address on Base. Once confirmed on-chain, call the same endpoint with your stripe_payment_intent_id to activate your account and receive your API key.
Why not traditional billing?
Most developer APIs charge via credit card on a monthly or usage-based invoicing cycle. We deliberately didn't do that.
Agents don't have credit cards. If your AI agent needs to check an action against a policy, it should be able to pay for that check autonomously, without a human having to top up a billing account. The x402 + USDC model makes this native. Your agent detects a 402, executes the payment, and retries. No human in the loop.
No lock-in. You're not committed to a monthly plan. Load credits when you need them, use them when you need them. If you stop using ICME, you stop paying.
Consistent with our trust model. ICME is built on the premise that you shouldn't have to trust a provider, you should be able to verify. Blockchain-settled payments are transparent and auditable, and don't require trusting our billing infrastructure any more than you have to.
Try before you deposit
You don't need an account to try ICME. Use /v1/verifyPaid with the live demo policy, pay $0.10 USDC per check, no registration required.
bash
This runs a live check against a real compiled policy and returns a real SAT/UNSAT result with a cryptographic proof.
Last updated

