Most of the writing about agent payments right now is written by people who haven't shipped them. It compares protocols in the abstract, treats two-week-old standards as equals, and stops before the part that actually matters: what does a single API call cost to settle, and which rail is worth using when the call is worth a tenth of a cent?
We sell creator intelligence as an API. A profile lookup costs $0.001. A YouTube search result costs $0.005. An email resolution costs $0.05. When the buyer is an agent inside a campaign workflow, not a developer at a pricing page, the payment has to happen mid-loop or the workflow stalls. So we wired up three ways to pay for the same endpoints, and one of us ended up writing a piece of the x402 protocol's framework support to do it.
This is the practitioner version. What we built, what it costs, and when each rail is the right call.
The three rails, in one paragraph
Influship's endpoints accept payment three ways on the same URL. An API key is the default for production traffic: cheapest per call, tied to an account, integrated with the dashboard. x402 lets a client pay per request in USDC on Base without an account: it hits the endpoint with no key, gets a 402 Payment Required, signs a payment, and retries. MPP (Stripe's Machine Payments Protocol) does the same handshake with a Stripe-backed Shared Payment Token or USDC on Tempo, reading the supported methods off a WWW-Authenticate: Payment header. A single 402 can advertise both the x402 and the MPP challenge at once, and the client picks whichever its framework already speaks.
That's the whole shape. The rest of this is why, how, and what it costs.
Why an API needs more than an API key now
Every API was built around a human onboarding flow. A developer signs up, adds a card, picks a plan, generates a key, reads the docs, writes the integration. That works, and for steady production traffic it's still the right model.
Agents break the assumption in the middle. An agent inside a campaign-planning workflow doesn't have a card on file with your service. If it hits your endpoint and the only path forward is “pause, prompt a human to register a new vendor, resume,” most agents never get past step one. The agent needs to find the service, read the price, pay, and use the response without breaking the loop.
The shift underneath: once an API is machine-discoverable and machine-payable, you stop distributing it through a sales motion and start distributing it through the software that calls it. That's a different go-to-market, and it only works if paying for one call is as cheap and fast as making the call.
The 402 handshake, with real code
The mechanic is the oldest unused status code on the web. HTTP 402 Payment Required was reserved in the original spec and sat dormant for thirty years. x402 turns it on.
A client hits a paid endpoint with no payment attached:
curl -i https://api.influship.com/v1/profiles/instagram/some_creatorThe server responds 402 with a machine-readable challenge describing what to pay, in what asset, to which address, on which network:
HTTP/1.1 402 Payment Required
WWW-Authenticate: Payment
{
"x402": {
"scheme": "exact",
"network": "base",
"asset": "USDC",
"amount": "1000",
"payTo": "0xInfluship...",
"resource": "/v1/profiles/instagram/some_creator"
},
"mpp": {
"methods": ["stripe_spt", "usdc_tempo"],
"amount": "0.001",
"currency": "usd"
}
}The client signs a payment, attaches the proof to the retry, and gets the data:
curl https://api.influship.com/v1/profiles/instagram/some_creator \
-H "X-PAYMENT: <signed-x402-payment-payload>"Start to finish, that's about two seconds. No account, no key, no invoice. From the API provider's side, the work is comparable to adding an API-key check: middleware that reads the request, returns a 402 if there's no valid payment, verifies settlement through a facilitator, and otherwise passes through. Roughly the complexity of an auth guard.
The detail people miss: both challenges live on the same 402. We don't run an x402 endpoint and a separate MPP endpoint. One URL advertises both, and the client reads whichever it understands. A stablecoin-native agent pays x402. A team already on Stripe pays MPP. Neither has to wait for the ecosystem to crown a single standard.
The part we had to build ourselves
Influship's external API runs on Fastify. When we went to add x402, the protocol had official middleware for Express and Hono, but not for Fastify. So rather than hack around it, our CTO wrote the Fastify adapter and contributed it upstream to the x402 Foundation repo. It ships the middleware itself, an example server, and test coverage for settlement, response handling, and the edge cases a real Fastify service hits in traffic: malformed paths, settlement byte preservation, resource URL handling.
We wrote it because we needed it, and once it existed there was no reason to keep it private. Agentic payments only become real infrastructure when the frameworks developers already use have working adapters. An ecosystem where the protocol works in a demo but not in your actual web framework stays a demo. (Background on why, in this thread.)
The takeaway for anyone evaluating x402 for their own API: check whether your framework has an adapter before you budget the work. Express and Hono were covered; Fastify wasn't until we did it. Yours might be a weekend or might be already done.
The economics nobody publishes
Here is the part the comparison posts skip. The right rail depends on what a single call is worth, and the failure mode is using a rail whose overhead is bigger than the thing you're selling.
A profile lookup on our API is $0.001 on prepaid credits via an API key. The same lookup over x402 is listed at $0.01, ten times more. That gap isn't a markup; it's physics. Settling a tenth of a cent on-chain isn't economical, so per-request crypto rails have a practical floor around a cent. You can see our live per-endpoint x402 pricing on our x402scan listing: profile and creator lookups at $0.01, match scoring at $0.02, lookalike search from $0.02 up to $0.45 depending on depth.

Run the rails against a single profile lookup:
| Rail | Price to the buyer | Why | Needs signup? |
|---|---|---|---|
| API key (prepaid credits) | $0.001 | Settled in bulk, so the price can be a fraction of a cent | Yes |
| x402 (USDC on Base) | ~$0.01 | On-chain settlement has a per-tx floor near a cent | No |
| MPP (USDC on Tempo / Stripe SPT) | ~$0.001–0.01 | Sessions amortize settlement across many calls | No (per-session auth) |
| Raw Stripe card | unsellable | 2.9% + $0.30 fee dwarfs any micro-priced call | Yes |
Three things fall out of that table.
A raw card charge is a non-starter for micro-priced calls. The $0.30 fixed fee alone is 300 times the credit price of a profile lookup. Anyone telling you to “just use Stripe” for per-request API billing hasn't done this arithmetic. That's not what MPP is, either. MPP solves exactly this by streaming micropayments against a pre-authorized session instead of charging a card per call.
The API key is cheapest, and it's not close. Because you settle credits in bulk, you can price a call below what any per-request on-chain rail can match. This is the concrete reason to keep an API key for production traffic and reach for x402 only where signup is the dealbreaker.
The rails aren't competitors; they're a spectrum by call value and buyer type. API key for known, high-volume production traffic. x402 for the long tail of one-off agent calls where signing up makes no sense. MPP when the buyer is already in the Stripe world or wants session-level spending control. Most serious consumers will end up using two of the three.
A worked example: what one agent task actually costs
Concrete numbers make this land. Say an agent is building a creator shortlist for a campaign and runs this sequence against our API. Here's the same task on two different rails.
The calls:
- One semantic search returning 30 ranked creators.
- 30 profile lookups to pull metrics on the results.
- 8 match-scoring calls to vet the strongest candidates against the brief.
- 5 post lookups to verify recent content.
Paying per call with x402 (using our live listed prices): 30 lookups × $0.01 + 8 match calls × $0.02 + 5 post lookups × $0.01 ≈ $0.51, plus a few cents of L2 gas across the ~44 calls. The agent paid all of it mid-loop, signed each payment from its wallet, and never created an account.
The same task on an API key (prepaid credits): the per-call prices drop to $0.001 for lookups and similar fractions elsewhere, landing the data cost near $0.05, roughly ten times cheaper. That's the price of skipping signup: convenience for the agent, a premium over the bulk rate.
The same task on a raw card: ~44 calls × ($0.30 + 2.9%) is over $13 in fees to move 50 cents of value. That's the entire reason a payment rail built for micro-calls has to exist. x402's overhead is rounding error; a card's overhead is 26× the product. MPP closes the gap by authorizing the whole task as one session and streaming the micropayments against it, so you pay session overhead once, not per call.
When to use which: the decision framework
Strip away the protocol politics and the choice is about the buyer and the call.
Use an API key when the caller is your own product, a known customer, or steady production traffic. It's the cheapest per call, gives you account-level rate limits and analytics, and integrates with the dashboard. If a human signs up once and then makes a million calls, a key is correct. Don't make your paying customers do a 402 dance on every request.
Use x402 when the caller is an autonomous agent making a handful of calls, or a developer who wants to try one endpoint without committing to an account. No signup, settlement in seconds, fractions of a cent in overhead. This is the rail for discovery, experimentation, and the long tail: the agent that needs one creator profile mid-workflow and will never call you again.
Use MPP when the buyer is already on Stripe and wants Stripe's compliance stack, or when an agent should authorize a spending limit up front and stream many calls against it without a separate settlement per request. Sessions amortize the per-call overhead, which makes MPP fit higher-frequency agent workloads better than one-on-chain-tx-per-call.
You don't have to choose one forever. Because all three hit the same endpoints, a consumer can start on x402 to evaluate, move to an API key once the integration is in production, and never change the URL.
Paying for API calls is not paying creators
One distinction worth stating plainly, because it trips people up. Everything above is about an agent paying your API for data. It is not about paying creators for campaigns.
Creator payments are a different problem: flat-fee contracts, 50% deposits, milestone releases, W9s and W8-BENs, 1099-NEC reporting at year end. Those run on Stripe Connect, PayPal Mass Payouts, or Wise, and they should stay human-initiated for compliance and dispute reasons. An agent autonomously wiring four figures to a creator's bank account is not a thing you want yet.
Agentic payments are for machine-to-machine API consumption: small, frequent, programmatic. We walk through where both fit inside a real workflow in the automated influencer pipeline guide. Don't conflate the two; they use different rails for good reasons.
What's still unsolved
Honest about the gaps, because the field is early:
Spending limits agents can't blow past. x402 today will sign whatever the agent's wallet authorizes. Per-task budgets that a user grants and an agent physically cannot exceed are still maturing. MPP sessions help here, with an upfront authorized ceiling.
Receipts and refunds that work like humans expect. If an agent pays for a call that errors, the refund story is not as clean as a card chargeback. Settlement is instant and on-chain; reversal is not automatic.
Funding. Agents need USDC to spend USDC. How an agent acquires and tops up on-chain balance in production is its own operational problem that most write-ups skip entirely.
Disputes. When the data was wrong or the call half-failed, there's no card network to arbitrate. For now that's a support conversation, not a protocol feature.
None of this makes the direction wrong. Agents are going to keep buying things from software, and the APIs they call need a way to charge them without routing every buyer through a signup form. It does mean you should ship agentic payments alongside your API key, not instead of it.
Where this leaves you
If you run an API and you're wondering whether to add agent payments: do it as an additional rail, not a replacement. Keep the API key for production. Add x402 for the agent long tail. Add MPP if your buyers live on Stripe. Check whether your web framework has an adapter before you scope the work, and if it doesn't, the protocol's repo takes contributions.
For Influship specifically, all three rails are live on the same endpoints today. The x402 protocol itself is governed by the x402 Foundation, and our live server (every endpoint, its price, and its recent transaction activity) is publicly indexed on x402scan, the explorer for x402 traffic. An agent can discover those endpoints, pay per call, and never create an account. A production team can generate a key and get cheaper per-call pricing. Same data, same URLs, different doors.
The deeper write-up of our launch is in Influship adds x402 and MPP support. The end-to-end workflow that uses these calls is in the automated influencer pipeline guide. And the rest of the developer guides (MCP server, creator API, Apify actors) live in influencer marketing for AI agents and developers.
Get started: the API docs, or generate a key and make your first call.

