x402 isn’t good (yet) — Jan Curn, Apify
Read the talk
x402 Isn’t Good Yet: Paying for Agent Tools Without Leaving the Seller Exposed
Jan Curn explains what Apify learned while adding agent payments: signatures do not reserve money, metered jobs need more than a spending ceiling, and a prepaid token can connect new payment protocols to an established API.
From a talk by Jan Curn
At a glance
Ideas worth remembering
Payment authorization, price flexibility and secured funds solve different problems. Curn says a verified signature leaves money spendable elsewhere, and an up to authorization such as $5 changes the allowed charge without closing that exposure.
Settling before costly work protects the provider, but collecting upfront creates delivery and refund obligations. Apify’s charge-and-refund approach requires two blockchain transactions and buyer trust that unused funds will be returned.
Protocols become difficult to combine when both require the same response field. Curn’s proposed header-based payment option would address the 402-versus-401 conflict without making the payment method determine the service hostname.
Escrow-backed batch settlement could spread blockchain overhead across many off-chain purchases. Curn describes a deposit, cryptographic vouchers, accumulated microtransactions and eventual settlement, but Apify had not completed the implementation or reported results.
A prepaid token separates a changing payment integration from established execution interfaces. Apify’s Markdown purchasing interface lets agents obtain a token for its normal API or MCP, although the attempted live demonstration did not establish a successful purchase.
Curn’s adoption forecast rests on agents finding external services economical to buy. His closing estimate of about $1 million in monthly transaction volume describes an early market; the predicted expansion depends partly on the end of token subsidies changing build-or-buy decisions.
A promising protocol can still have rough edges
Jan Curn opens by recalling David Cramer’s earlier presentation about MCP at AI Engineer World’s Fair. Its argument was that an exciting technology could deserve experimentation while still demanding modest expectations. Curn praises the MCP server Sentry subsequently built and describes MCP’s adoption through connectors and apps in major AI products. He uses that progression as the premise for his own talk: criticism can come from someone who wants a protocol to succeed and intends to build a strong integration.
Suggest correction
This note stays in this page until you copy or download it. Nothing is submitted; reloading clears the draft.
Why a tool marketplace wants agents to have budgets
Curn introduces himself as Apify’s founder and CEO. He says its marketplace contains about 45,000 tools, called actors, covering data extraction from social media, e-commerce, hospitality, travel, search engines and maps, along with agents and automations. Apify builds some actors, while community developers build others. In the marketplace model he describes, Apify sells their tools and passes revenue back to developers; community payouts exceed $1 million per month.
Agent payments matter to that business because Apify wants agents to reach its tools wherever they run and whatever protocol they use. Curn reports launching the x402 integration with Coinbase two days before the talk and receiving about 1 million views. He says the available x402 catalog had contained about 2,000 tools and Apify added another 20,000, which he describes as a tenfold expansion. Those figures explain his enthusiasm: payment support makes an existing inventory of useful services available to a new kind of buyer.
His broader argument is that autonomous work requires purchasing power. An agent carrying out a longer job without human intervention may need paid services along the way. Giving it a budget could therefore let it complete more complex tasks, provided it can be trusted with money. Curn’s prediction that agents will conduct most economic activity within a few years is a forecast, while the immediate engineering requirement is more concrete: agents need a way to buy resources as part of doing their work.
That prospect has attracted payment and finance companies. Curn describes a growing collection of standards competing for a share of future agent transactions. For a service provider, the opportunity comes with an integration problem: many organizations want to define how agents pay, and supporting the emerging market means following several changing protocols.
Suggest correction
This note stays in this page until you copy or download it. Nothing is submitted; reloading clears the draft.
A crowded standards landscape
Curn starts his survey with L402, which he places in mid-2020, and moves through offerings from card networks, payment companies and AI companies. Examples include Mastercard Agent Pay and ACP from OpenAI and Stripe. The purpose of the list is to show how crowded the field has become. He calls agent commerce a heated battleground and acknowledges that keeping track of its standards and technologies is difficult.
Suggest correction
This note stays in this page until you copy or download it. Nothing is submitted; reloading clears the draft.
The seller’s case for crypto payments
After a brief joke about presentation imagery and crypto’s familiar uses, Curn explains why agent commerce changed his otherwise skeptical view. His first argument concerns transaction economics. He regards credit cards, PayPal, ACH and bank debit as expensive or ineffective for microtransactions. If agents buy many small units of service, payment overhead can make those purchases impractical.
His second argument is about disputes. A buyer can consume an online service and then contest the payment through a bank, creating costs for the seller. Conventional commerce has trust signals and fraud-prevention services, but Curn says agent identity remains unclear despite standards under development. His preferred response is a one-way payment that protects the provider from a later dispute. This is a seller-oriented design choice: the reason he values that finality is the difficulty of knowing who is buying and assessing the buyer’s trustworthiness.
He also values the possibility of a public payment standard without a single company controlling it. His argument is conditional: a blockchain must actually be decentralized, with no company holding a majority of the network’s vote. Under that condition, he expects less opportunity for a dominant intermediary to extract fees. Decentralization is therefore part of his case for crypto, rather than a property he establishes for every system discussed.
Curn identifies Coinbase’s x402 and Stripe’s Machine Payments Protocol, or MPP, as the two largest crypto payment options in this area. He reports that statistics he checked the previous day showed x402 at about 20 times MPP’s transaction count and volume. That reported lead explains why Apify implemented x402 first, although it added MPP during the process as well. The comparison is a snapshot informing an implementation decision, not a permanent ranking.
Suggest correction
This note stays in this page until you copy or download it. Nothing is submitted; reloading clears the draft.
Verification leaves a window before settlement
x402 builds on HTTP 402, Payment Required, a status code Curn describes as having waited almost 30 years for practical use. In his walkthrough, a client first sends an API request. The server returns 402, which he says the specification requires, and the client responds with a payment signature. The server then asks a facilitator, such as Coinbase, to verify that payment. In the sequence he presents, the server performs the requested work after verification and only afterward asks the facilitator to settle.
Settlement is the step that transfers money into the seller’s wallet through a blockchain operation. The distinction matters because, in Curn’s account, verifying the signature does not reserve the funds. Before the transaction reaches the blockchain, the buyer can use the same wallet balance for another transaction. His example is a client creating 1,000 signatures and sending 1,000 requests against the same money. Several providers could start work on apparently valid payments even though that balance cannot pay them all.
The buyer might never receive a result, but withholding the result does not recover resources already spent producing it. Curn distinguishes a simple API call with zero marginal cost from substantial work or a job that requires paying an external service. A provider may tolerate doing the first kind of work before settlement. For the second kind, discovering afterward that the money is gone means the provider has incurred costs without being paid.
His workaround changes the order: settle the payment before doing the work, then return the result with 200 OK and the payment response. This protects the seller from beginning a costly job against funds that remain spendable elsewhere. It also makes successful delivery especially important. Once the client has paid, a failed job leaves the client dissatisfied; collecting first does not eliminate the obligation to complete the service.
Suggest correction
This note stays in this page until you copy or download it. Nothing is submitted; reloading clears the draft.
Payment and authentication compete for the status code
Curn next describes a composition problem between x402 and MCP authentication. In the initial response he discusses, x402 requires HTTP 402 while MCP authentication requires HTTP 401. A single HTTP response cannot carry both status codes. The conflict is therefore about two protocols demanding control of the same response field.
He says companies often resolve this by creating dedicated hostnames for payment gateways, MCP and other payment protocols. Each host can then follow its own response requirements. Curn considers that duplication an antipattern because the payment method starts determining where a client must access the service. His analogy is having 20 different Amazons for different credit cards: the seller’s offering is the same, but the buyer is routed to a different storefront according to how it pays.
His proposed improvement is to allow payment requirements to be conveyed entirely through headers without requiring status 402. A payment-required header could carry the payment information while the response status serves another protocol’s needs. He acknowledges the marketing appeal of 402, but argues that the protocol should offer a way around the status-code dependency. He presents this as a desired change, rather than an available solution he demonstrates.
Suggest correction
This note stays in this page until you copy or download it. Nothing is submitted; reloading clears the draft.
A spending ceiling does not secure a metered job
The original exact payment scheme charges a fixed amount per call. Curn regards that as a good fit for simple APIs with known prices. Apify actors create a different billing problem: they can run for a few seconds or a few hours and consume resources along the way. Their pay-as-you-go, metered billing depends on the work actually performed, so a fixed per-call charge does not naturally express the final cost.
Curn places the introduction of exact payments in May 2025 and the announcement of an up to scheme in December 2025. He says the latter took almost another half-year to become available, arriving two or three months before the talk. Apify was excited because a maximum authorized amount seemed to offer a way to support its variable-cost services.
The improvement did not solve the problem Apify needed solved. In Curn’s example, a client authorizes a maximum of $5 and the server may charge any amount up to $5. That flexibility lets the charge reflect usage, but he says the same double-spending exposure remains. A ceiling controls how much the seller may collect; it does not ensure that the authorized money will still be available after the seller has performed the job.
Suggest correction
This note stays in this page until you copy or download it. Nothing is submitted; reloading clears the draft.
Collect first, refund later—and consider escrow
Apify’s working approach uses exact payments to collect a fixed amount upfront, performs the job, and refunds the unused money to the client’s wallet afterward. This lets a fixed initial payment support a final charge based on actual consumption. Curn says it worked, but identifies the cost of the workaround: a charge followed by a refund requires two blockchain transactions, with settlement time and possible fees for each.
It also requires the buyer to trust the server to return the remainder. The client hands over money before knowing the final charge and relies on the provider’s refund. Curn treats that trust requirement as a relatively minor issue, yet finds the overall arrangement clunky. His objection is that support for variable usage should be built into the payment protocol rather than requiring providers to assemble a charge-and-refund workaround.
Batch settlement looks more promising to him. In the mechanism he outlines, a client first makes an actual blockchain deposit into escrow. The server returns a cryptographic voucher that the client can use to sign microtransactions within the batch. The important change is that the arrangement starts with money deposited on-chain, rather than relying only on a signature against a wallet balance.
Individual requests, such as API calls or purchases of individual tokens, then use voucher-backed payments off-chain. Curn describes these payments as cryptographically guaranteed locally, avoiding a blockchain write for every small purchase. The provider accumulates them and settles a batch on-chain. It can repeat that process and eventually release the escrow’s remaining money. The intended benefit is to spread blockchain overhead across many purchases. Apify had not completed this implementation at the time of the talk, so Curn’s enthusiasm is prospective; he does not report operational results or establish the details of its guarantees.
Suggest correction
This note stays in this page until you copy or download it. Nothing is submitted; reloading clears the draft.
Buy a prepaid token, then use the established tools
Curn returns to the constraints shaping Apify’s integration. The company wanted to avoid separate service endpoints for every payment method and awkward adaptations of variable usage. It also had tens of thousands of customers depending on its existing API. Reworking that API whenever a new agent payment standard appeared would put a mature service contract under continual pressure.
His alternative is an agent general interface, abbreviated AGI. It is a simple website containing one Markdown document that explains how agents can buy from Apify using x402 or MPP. Curn argues that this interface can change quickly because agents can read updated instructions, whereas a conventional API must remain compatible with existing integrations. The design rests on an expectation of agent flexibility: the agent interprets the current purchasing instructions instead of depending entirely on a fixed programmatic contract.
The purchase itself is deliberately narrow. An agent supplies money—$5 in his example—and receives a prepaid Apify token. It then uses that token through Apify’s normal API or MCP to run jobs and services. This separates obtaining prepaid access from executing the tools: new payment protocols handle the purchase, while the existing interfaces continue to handle the work. Curn says an agent can pick up the instructions simply by being pointed to the page, without a separate skill.
Suggest correction
This note stays in this page until you copy or download it. Nothing is submitted; reloading clears the draft.
The attempted purchase exposes an early ecosystem
For the demonstration, Curn says Apify had to build its own local wallet tool. It creates a local cryptographic key and supports funding the wallet and displaying a QR code. He presents the need to supply this tooling as evidence that the ecosystem remains very early. A payment protocol alone is insufficient for an agent purchase if the agent lacks practical wallet creation, funding and signing tools.
He begins with $10 in a local wallet and requests a token funded with $1. He reports receiving 402 Payment Required and describes a long payment-required payload, then uses a client to sign the payment. The demonstration does not finish as expected. Curn acknowledges the failure and moves on because only a minute remains. The sequence illustrates the intended request-and-sign flow, but it does not establish a completed payment or a successfully issued prepaid token.
Suggest correction
This note stays in this page until you copy or download it. Nothing is submitted; reloading clears the draft.
The growth argument depends on the economics of buying
Curn closes by encouraging experimentation. He says crypto terminology had made the system seem complicated before he tried it, but that getting started was simpler than expected and could take about 10 minutes. That is his account of initial experimentation, rather than a claim that a production integration is equally quick. He also estimates transaction volume at about $1 million per month, emphasizing how small the market still is relative to the wider economy.
His expected growth driver is a change in the build-or-buy calculation. If token subsidies end and users must pay for the tokens their agents consume, building a capability from scratch may become less attractive than buying an external service. In that scenario, agent payments become a practical part of choosing the cheaper way to accomplish a task. He predicts rapid growth and suggests agent commerce might overtake ordinary commerce, but the argument remains conditional on those economic changes and on agents choosing to purchase services.
He ends by thanking the audience, inviting them to Apify’s booth and mentioning another talk about MCP and CLI two hours later on Expo stage two. The presentation closes with applause.
Suggest correction
This note stays in this page until you copy or download it. Nothing is submitted; reloading clears the draft.
Read the complete timestamped transcript
- 0:01
[music]
- 0:12
>> Hello everyone.
- 0:14
Uh last year here at AI Engineer World
- 0:16
Fair, uh David Cramer from Sentry had a
- 0:18
mildly provocative talk called MCP isn't
- 0:21
good yet. And back then, MCP was the new
- 0:23
kid on the block, right? Uh it was like
- 0:25
a lot of hype around it. People were,
- 0:26
you know, were excited about it. But
- 0:28
also like it wasn't really developed
- 0:30
back then very much and it was very
- 0:32
clunky. And in this talk, David argued,
- 0:34
"Hey, like this technology is cool, but
- 0:36
it has like a lot of rough edges, right?
- 0:38
So just you know, go play with it, but
- 0:39
you know, have your expectations low,
- 0:41
right?"
- 0:42
By the way,
- 0:43
they went on and actually built one of
- 0:45
the best MCP servers on the market,
- 0:46
right? Like Sentry MCP is is is really
- 0:48
like very well-designed server, like
- 0:50
nice nice design and so on.
- 0:52
And actually over the the last year, uh
- 0:54
MCP became like a standard that's
- 0:56
actually widely adopted, you know,
- 0:57
across the industry. Like the top AI
- 0:59
engines like Claude and ChatGPT,
- 1:01
actually uh Claude offers MCP
- 1:03
connectors, right? So you can plug tools
- 1:05
into your AI agents. Uh
- 1:07
uh ChatGPT calls it MC calls it apps,
- 1:10
but you can also like, you know,
- 1:12
directory of different services you can
- 1:13
plug into your Claude. And it actually
- 1:15
became a standard thing for
- 1:17
agent-to-agent interaction, right? And
- 1:19
uh
- 1:20
uh despite a little little hate also
- 1:22
about MCP, you know, I have yet to see
- 1:25
CI connectors in any of these agents,
- 1:27
right? So MCP won.
- 1:29
And so, inspired by David's talk, uh
- 1:32
today uh I have a similar talk uh which
- 1:34
is called X 402 isn't good
- 1:37
yet.
- 1:38
And in that talk, I would like to argue,
- 1:39
you know, that uh while X 402 is very
- 1:41
exciting technology, it has also still
- 1:43
some rough edges, you know. And perhaps
- 1:45
if I do it as well, we'll also build one
- 1:47
of the best integrations with our X 402
- 1:50
on the market like Sentry did with MCP.
- 1:53
My name is Jan Černý. I'm the founder
- 1:54
and CEO of Apify. And uh for those who
- 1:57
don't know, Apify is the largest
- 1:59
marketplace of tools for AI.
- 2:01
Uh
- 2:02
we have about 45,000 of these tools. Uh
- 2:05
we call them actors.
- 2:06
And they are spending use cases like,
- 2:08
you know, extraction of data from social
- 2:09
media sites, e-commerce, hospitality,
- 2:12
travel, search engines, maps, but over
- 2:14
time also like
- 2:16
AI agents or agentic use cases, you
- 2:17
know, different automations and so on,
- 2:19
right?
- 2:21
And some of these tools, some of these
- 2:23
actors are built by our community, some
- 2:25
are built by us, and our community is is
- 2:28
making now more than $1 million per
- 2:30
month on on payouts by selling these
- 2:32
tools, right? So
- 2:34
they build the tools, we sell them to to
- 2:36
to users, and you know, we pass the
- 2:38
money to them. And so it's a thriving
- 2:39
marketplace.
- 2:40
And I guess by now everybody understands
- 2:42
like why we are so excited about agentic
- 2:44
payments, right? Because we really want
- 2:46
our tools to be easily accessible to
- 2:48
agents, like wherever they are, with
- 2:50
whatever protocol is out there.
- 2:53
Uh just 2 days ago we launched uh
- 2:55
together with with Coinbase our our XYO
- 2:58
2 integration.
- 2:59
Uh I would say the the launch went
- 3:01
pretty viral. We got like 1 million
- 3:03
views.
- 3:04
Uh
- 3:05
and
- 3:07
before before this launch, there were
- 3:09
about like 2,000 tools available on the
- 3:12
on the agentic uh
- 3:14
market uh basically on XYO XYO 2.
- 3:18
We brought another 20,000 tools. So
- 3:19
basically we 10X 10X the size of the of
- 3:21
the agentic market uh on XYO XYO 2. So
- 3:24
this is very exciting for us and I I we
- 3:26
we believe also for the community.
- 3:29
And actually we're very excited about
- 3:31
this topic like long term. So actually
- 3:33
last year here at AI Engineer World's
- 3:34
Fair, I was the only one talking about
- 3:36
the agentic commerce and agentic economy
- 3:38
in general.
- 3:39
And really argued that that like in a
- 3:41
couple of years, like the most most of
- 3:43
the economic economic activity in the
- 3:45
world will be done autonomously between
- 3:46
agents.
- 3:47
And actually it looks like uh
- 3:49
uh
- 3:50
really
- 3:51
uh
- 3:52
it picked up. Uh I think like now
- 3:54
everybody understands that agents, in
- 3:56
order to get work done or like longer
- 3:58
jobs without human intervention, they
- 4:00
will actually need to have budget as
- 4:02
well, right? It's It's not like
- 4:05
you can do a lot of things in this world
- 4:06
without without money. And once agents,
- 4:09
you know, can be trusted with money,
- 4:11
they will complete like far longer and,
- 4:13
you know, more complex tasks than they
- 4:15
can do now. So, obviously, a lot of
- 4:17
people understand this
- 4:19
across the industry.
- 4:20
So, over the past year or so, we saw a
- 4:23
lot of new standards or agentic payments
- 4:25
protocol coming to the market because,
- 4:26
obviously, every player in finance or or
- 4:30
payments is very excited about this
- 4:31
opportunity because everybody wants to
- 4:33
get a part of this of this like huge
- 4:35
future
- 4:37
agentic economy and
- 4:39
and transaction volume.
- 4:41
So, first was L402.
- 4:43
It was like in mid 2020.
- 4:46
But then, MasterCard Agent Pay, we have
- 4:49
X242 like Coinbase in my last year, KY
- 4:52
Pay from Skyfire with Visa,
- 4:55
API 2 by Google, ACP by OpenAI and
- 4:58
Stripe, Tab by Visa,
- 5:00
UCP by Google and Shopify, ACTP by
- 5:02
Alipay, MPP by Stripe and Tempol, AMP by
- 5:05
Alipay, Apple by UnionPay, APP by OKX,
- 5:09
and finally, Agent Pay for Machines by
- 5:11
MasterCard. You can see this is really
- 5:13
becoming a heated battleground
- 5:15
and for the future of the agentic
- 5:17
commerce.
- 5:18
And [snorts]
- 5:20
it's really hard to sort of keep track
- 5:21
of all the standards
- 5:23
and all the technologies. We're trying
- 5:24
to.
- 5:25
But, I would say for crypto world,
- 5:28
actually, Swix asked all the speakers
- 5:30
not to use sloppy AI-generated images in
- 5:32
presentations, but I couldn't resist
- 5:34
myself here. Um
- 5:36
I think for crypto world, like the
- 5:38
agentic commerce has been like super
- 5:39
exciting news like because finally,
- 5:41
there is like really solid use case for
- 5:43
crypto except for like trading trading
- 5:45
and gambling, buying illegal substances
- 5:49
on marketplaces and hiding money away
- 5:50
from your spouses, right? So, finally,
- 5:53
agentic commerce really brings the like
- 5:55
long-sought like use case for crypto
- 5:57
that that I actually think is is pretty
- 5:58
solid. And I'm not like a crypto bro
- 6:00
myself. I I'm not holding anything.
- 6:02
Actually, I was fairly skeptical to
- 6:04
crypto all the time.
- 6:05
But I feel that crypto is really well
- 6:07
suited for agentic commerce or agentic
- 6:10
uh payments. Why? Because the
- 6:12
traditional payment methods
- 6:14
uh designed for people are super
- 6:16
expensive, right? And you know,
- 6:19
uh like credit cards, PayPal, or you
- 6:21
know, ACH and bank debit, they cannot be
- 6:23
used for microtransactions. They are
- 6:24
just very ineffective uh as we saw in
- 6:26
previous presentation as well.
- 6:28
So, but there's another problem.
- 6:31
There are buyer disputes. Like anybody
- 6:33
who's selling things online,
- 6:35
you know that uh there are some people
- 6:37
who sort of like buy certain services
- 6:39
from your website and then dispute the
- 6:40
payment and ask for refund, you know, or
- 6:43
or dispute it through their bank and you
- 6:44
have to pay for that. Like
- 6:47
in like traditional like well, human
- 6:48
economy,
- 6:50
there are some trust signals you can you
- 6:51
you can do with the credit credit cards,
- 6:53
you know, uh
- 6:54
like Stripe and and others have
- 6:55
different services to prevent fraud and
- 6:57
so on.
- 6:58
But in agentic interaction, like you
- 7:01
really have no idea who the agent is.
- 7:02
Like there's no agent identity. I mean,
- 7:04
there are some standards being
- 7:05
developed, but it's really not clear uh
- 7:07
who are you transacting with. So, you
- 7:09
just can't allow
- 7:11
them to dispute the payments. You really
- 7:13
need it it needs to be a one-way
- 7:14
transaction and it needs to be like safe
- 7:16
for you.
- 7:17
Right? So, I think uh
- 7:19
crypto is is is a super position for
- 7:20
that. But also, there's important part
- 7:23
uh
- 7:24
crypto, if done well, is like truly
- 7:26
decentralized blockchain where where no
- 7:28
company has like majority of of, you
- 7:30
know, of the of the of the of the vote
- 7:31
in the network,
- 7:33
it can be really decentralized and it
- 7:35
can be like a public standard, you know,
- 7:37
not owned by a single company who, for
- 7:39
example, like Visa or MasterCard, sort
- 7:41
of would abuse their dominant power, you
- 7:43
know, to to extract fees from the from
- 7:44
the from the system.
- 7:46
So, I am I'm very very bullish on crypto
- 7:48
in this in this space and uh
- 7:51
there are basically like currently two
- 7:53
largest uh crypto payment uh providers
- 7:56
for any payments. One is XRO2 from from
- 7:58
Coinbase and second was in this MPP,
- 8:00
machine payments protocol from Stripe.
- 8:02
Looking at the stats uh just yesterday,
- 8:05
uh XRO2 is like 20 times larger in the
- 8:08
number of transactions and the the the
- 8:10
the volume.
- 8:11
Uh so, obviously, we went first with
- 8:14
implementation of XRO2, but we added in
- 8:16
MPP in the process as well. And today,
- 8:18
I'm going to share like a bit of our
- 8:19
experience. This was also presented in
- 8:21
the slide before. Uh
- 8:23
XRO2 builds on the
- 8:25
uh status code introduced like more like
- 8:27
almost 30 years ago in the original HTTP
- 8:29
specification uh called 402 payment
- 8:31
required. So, this status code was
- 8:33
waiting for 30 years patiently
- 8:35
for someone to pick it up. And
- 8:36
obviously, Coinbase took that
- 8:37
opportunity because obviously, it's
- 8:39
great for marketing, you know, we're
- 8:40
finally make uh internet money work.
- 8:43
It's awesome.
- 8:44
So, how it works? I'll just go quickly
- 8:46
because we saw it in the last
- 8:47
presentation as well. So, first, the
- 8:48
client initiates like calls server with
- 8:51
some API request. The server responds
- 8:53
and actually, this is important part.
- 8:54
Specification enforces the server to
- 8:56
respond 402 payment required. There is
- 8:58
no other way to do that. It it needs to
- 9:00
use the 402.
- 9:02
Then, you know, the client creates a
- 9:03
signature uh by basically withdrawing
- 9:05
money from the wallet uh or you know,
- 9:08
allocating the budget from from from the
- 9:09
wallet. Sends uh the signature to the to
- 9:12
the server.
- 9:13
Oh, the server verifies with a
- 9:15
facilitator, which can be like Coinbase,
- 9:17
for example, whether the transaction is
- 9:18
correct. It gets uh confirmation that
- 9:21
the transaction is is right.
- 9:23
And then, it's supposed to do the work,
- 9:25
right? But there is a problem there.
- 9:28
I'll get to that uh in a second.
- 9:30
And after the work is done, uh
- 9:33
you send a transaction you send a
- 9:34
request to the facilitator to settle,
- 9:36
which means like, you know, physically
- 9:37
transfer the money to to your own
- 9:39
wallet.
- 9:41
And then facilitator performs operation
- 9:43
on the blockchain, transaction is
- 9:44
confirmed, everything is settled, all
- 9:46
good. But there is a problem here.
- 9:49
In this moment, like until until the
- 9:52
transaction is is actually submitted to
- 9:53
the blockchain,
- 9:55
the buyer can use the same wallet and
- 9:57
same money to other transaction.
- 9:59
Basically, there is like nothing
- 10:01
preventing the the client from double
- 10:02
spending. So, you know, uh
- 10:05
it can just create like 1,000 signatures
- 10:07
like that, send it to 1,000 requests,
- 10:10
and then, you know, like um
- 10:12
maybe it will not get the result, but
- 10:14
let's say if it's like a simple API
- 10:15
call,
- 10:16
you know, where there is like a like
- 10:18
zero marginal cost for you as a
- 10:19
provider, you can do it. You can do the
- 10:21
work, you know, before uh you settle.
- 10:24
But imagine there is like some
- 10:25
non-trivial work, or maybe you have to
- 10:27
pay external service, and then you
- 10:29
realize, "Oh, the money is gone, right?"
- 10:31
Uh
- 10:32
the the the client skipped out on the
- 10:34
bill, which is not great. So,
- 10:36
there is a work around that. You can
- 10:38
actually uh just do the work after the
- 10:40
transaction is settled. You just need to
- 10:42
make sure you actually get the work
- 10:43
done, you don't fail, and so on, because
- 10:45
then the clients would be pretty angry,
- 10:47
I guess.
- 10:48
But there is a work around for this, and
- 10:49
then you send like 200 OK and payment
- 10:52
response, all good.
- 10:54
So,
- 10:56
there is a problem though. Like um
- 10:58
as I showed before, like uh the standard
- 11:00
requires HTTP 402 uh as a first response
- 11:03
from the server.
- 11:04
But MCP Alt requires HTTP 401.
- 11:08
So, there are like two conflicts in the
- 11:10
standards, and you know, each of them
- 11:12
are actually enforcing it, and you
- 11:13
cannot like sort of like, you know,
- 11:15
return two error codes or two status
- 11:17
codes at the same time.
- 11:19
So, how do you companies resolve that?
- 11:21
Well, quite often they create a
- 11:23
dedicated like hostname host uh like
- 11:25
let's say x402.alchema.com
- 11:28
to serve just the agentic payments
- 11:29
gateway. So, they implement basically a
- 11:32
new API host just to serve the the HTTP
- 11:36
payments and then they have like
- 11:38
Sorry, mcp.alchemy.com
- 11:40
and maybe mpp.alchemy.com, right? But it
- 11:42
sounds like anti-pattern. Why would you
- 11:44
have to duplicate like your
- 11:47
API host for different payment
- 11:49
providers? It's like
- 11:50
imagine like you had to like amazon.com
- 11:51
for different like credit cards. You had
- 11:53
like 20 different Amazons. Like it
- 11:54
doesn't make sense, right? So
- 11:56
So,
- 11:57
I think it is like one of the
- 11:57
weaknesses. It's like I I understand
- 11:59
like using HTTP 402 is great for
- 12:01
marketing, but
- 12:03
I think there should be in protocol some
- 12:04
way to circumvent that and use use just
- 12:06
purely headers, you know? So for
- 12:08
example, the payment payment required
- 12:10
header without the the the status code.
- 12:14
And then
- 12:16
originally when X-Request-ID was
- 12:18
created, it was designed for
- 12:21
like fixed payments. Uh
- 12:24
The the first payment scheme they
- 12:25
introduced
- 12:27
was called exact and it's like for
- 12:29
simple API calls. Like there's like a
- 12:30
fixed fee per transaction, fixed fee per
- 12:32
per call, which is great for I don't
- 12:34
know simple APIs. But unfortunately,
- 12:36
Apify actors are tools on the
- 12:38
marketplace. They typically perform bad
- 12:40
jobs and you know, they can run for, you
- 12:42
know, a few seconds, but they can also
- 12:43
run for a few hours and consume a lot of
- 12:45
resources on the way. They are like
- 12:48
typically like built
- 12:49
as-you-go kind of like meter billing.
- 12:52
So how to do that? Like how to put this
- 12:53
on X-Request-ID 2? So in May 2025,
- 12:56
Coinbase introduced
- 12:58
X-Request-ID 2 with exact payment
- 12:59
scheme. In December 2025, they announced
- 13:03
the version two of the protocol, which
- 13:05
was promising the up to payments payment
- 13:06
scheme to kind of fix this problem of
- 13:08
like meter billing.
- 13:10
But it it took actually another like
- 13:12
half a year almost
- 13:13
to release the the up to finally. It was
- 13:15
just like two or three months ago. So we
- 13:17
were super excited about that. We were
- 13:19
like finally
- 13:21
we can make this work for our services.
- 13:24
But then we realized actually the same
- 13:26
double spending problem which is on on
- 13:28
on exact is also with with up to. I
- 13:30
mean, up to it was just a small sort of
- 13:33
like improvement to the protocol where
- 13:35
when you, you know, call the tool, you
- 13:37
say, "Oh, my maximum is $5." And then
- 13:39
the the the server can charge anything
- 13:41
up to $5. But it doesn't prevent the
- 13:43
double-spending problem. So, basically,
- 13:44
we are sort of stuck again. So, you
- 13:47
know, we have to go back to the drawing
- 13:48
boards and figure like how to do that.
- 13:51
And so, one way we we did it was we just
- 13:55
use exact payment scheme to kind of like
- 13:57
fixed
- 13:58
uh like charge a fixed payment. And then
- 14:02
after the the the the job is done, we we
- 14:04
would like refund the the the wallet
- 14:06
with the with the leftover money,
- 14:07
basically, the money that
- 14:08
that wasn't spent. I mean, that worked.
- 14:11
But uh
- 14:12
so, you charge, you do the work, you
- 14:13
refund the remainder. But that means
- 14:16
like there's suddenly like two
- 14:17
blockchain transactions. That means like
- 14:19
uh
- 14:19
there's a time, you know, to to settle
- 14:21
those transactions. There might be like
- 14:23
some fees associated with that and so
- 14:24
on.
- 14:25
And also, the clients will need to trust
- 14:27
the server
- 14:28
to kind of like, "Hey,
- 14:29
I give you the money, but you give it to
- 14:31
me back, right?" But I think that that
- 14:32
that's that's a minor issue. But it just
- 14:35
feels somehow clunky. Like, why would we
- 14:37
need to do these workarounds, you know?
- 14:38
This protocol should support these
- 14:39
things out of the box.
- 14:41
So, just 2 months ago, uh
- 14:43
Coinbase introduced like new payment
- 14:45
scheme uh which is called batch
- 14:46
settlement, which looks very promising.
- 14:48
We haven't implemented it yet, so we'll
- 14:49
report soon on that. But basically, just
- 14:51
quickly, it works like So, first, the
- 14:53
clients like deposit some money. So,
- 14:55
basically,
- 14:56
it's actually like like real transaction
- 14:58
on blockchain using some uh Ethereum
- 15:00
virtual machine black magic. Basically,
- 15:02
uh the money is put in the escrow.
- 15:04
And then
- 15:06
the the client gets back a voucher like
- 15:07
from the server. Say, "Hey, here is some
- 15:09
cryptographic voucher, and you can use
- 15:11
it to sign like microtransaction as part
- 15:14
of this batch."
- 15:15
And then
- 15:16
like the client sends sends requests,
- 15:18
for example, like API calls or, you
- 15:19
know, for like individual tokens,
- 15:21
whatever, and uh use this like passes
- 15:24
this voucher to sign the those like a
- 15:26
micro payments. But this transactions
- 15:28
are the basically off-chain. They are
- 15:30
just like sort of like cryptographically
- 15:32
guaranteed locally, but you don't need
- 15:34
to like write this like to the to the to
- 15:35
the blockchain, which again is
- 15:37
inefficient, slow, you know, uh
- 15:39
expensive. And then at some point,
- 15:41
you're like, "Hey, I I I accumulated a
- 15:43
lot of these like micro transactions, so
- 15:44
I just like settle them in batch." And
- 15:46
then like you basically perform the
- 15:48
transaction on blockchain. And then you
- 15:50
can do this a couple of times and
- 15:51
eventually refund the rest of the money
- 15:54
like sort of like release the escrow,
- 15:55
right? So actually this looks really
- 15:57
cool, very exciting. We'll
- 15:59
we're currently working on implementing
- 16:01
it now, so we'll see.
- 16:03
But so how did we resolve like all this
- 16:05
to make it work, right? So we didn't
- 16:06
really want to create like new new
- 16:08
endpoints for different payment
- 16:10
services.
- 16:12
We didn't want to like the like hack the
- 16:13
variable usage, you know, to our
- 16:15
services. And also, we really don't want
- 16:17
to like
- 16:18
tweak too much our API because we have
- 16:20
like tens of thousands of customers
- 16:21
depending on that API. So we just can't
- 16:23
like sort of like, you know, do whatever
- 16:25
like new
- 16:26
agentic payment standard is out there,
- 16:28
just implement it right away.
- 16:30
So so kind of to fix these problems,
- 16:32
let me introduce you
- 16:34
let me introduce our newest service on
- 16:36
Appify, which is called agi.appify.com.
- 16:40
And AGI
- 16:42
is not
- 16:43
what you mean it is. It's actually it
- 16:44
stands for agent general interface. So
- 16:46
instead of like application programming
- 16:48
interface, we have agent general
- 16:50
interface that can change anytime but
- 16:52
because it's used by agents, so they're
- 16:53
flexible, right? And
- 16:55
on AGI, it's just a simple website with
- 16:58
like one markdown document. It's not
- 17:00
designed for people, so it kind of looks
- 17:02
ugly, but it's okay. And there's
- 17:04
instructions for agents like, "Hey, how
- 17:06
can you actually
- 17:08
buy things on Appify yourself through
- 17:10
Xapo 2, MPP?" We can iterate quickly on
- 17:13
this on this on this website or on this
- 17:15
service because, you know, agents can
- 17:17
pick up new version. It's not like fixed
- 17:20
like API
- 17:21
needs to be basically, you know,
- 17:23
backwards compatible all the time.
- 17:25
And the way it works is like the agent
- 17:28
comes to agent.apify.com
- 17:31
gets basically can buy a prepaid token.
- 17:34
So basically they say like, "Hey, here's
- 17:35
$5. Give me Give me a Apify token." We
- 17:38
give them like Apify token back and then
- 17:40
they can use the Apify token
- 17:42
through our normal API or through MCP to
- 17:45
run our jobs and services, you know,
- 17:47
normally.
- 17:48
And it it works pretty well.
- 17:50
There is like no skill required. You
- 17:52
just like point your agent to
- 17:53
agent.apify.com. It picks it up.
- 17:56
And I have here like a short demo.
- 17:59
We're running out of time. So this is
- 18:00
just like example how it works like.
- 18:03
Actually, the X road ecosystem is like
- 18:05
really early so that even, you know,
- 18:08
we have to build our own like local
- 18:10
wallet
- 18:10
tool which you can like create like
- 18:13
local like cryptographic key to charge,
- 18:15
you know, with money and show QR code.
- 18:17
Like I mean these things are still not
- 18:18
not not not existing. I mean the
- 18:20
ecosystem is like super super early.
- 18:22
So
- 18:23
I have local wallet with $10. Then I
- 18:25
call like IGI.apify.com
- 18:28
allocate like token with $1. I get back
- 18:31
402 payment required. So there is like
- 18:34
this like super long like payment
- 18:35
required signature.
- 18:37
I use Apify
- 18:41
I use the I use our MCPC just like MCPC
- 18:43
client to sign
- 18:46
the payment and then I can send the
- 18:50
Oh.
- 18:52
Oh oh oh.
- 18:54
This demo didn't work as expected.
- 18:58
Here we go.
- 19:01
Mhm.
- 19:06
Well, anyway, I have 1 minute left.
- 19:08
>> [laughter]
- 19:10
>> Demo more come later. Sorry about that.
- 19:12
So, to conclude my presentation, like
- 19:15
really like try it out and like try to
- 19:17
build try try to use it like actually I
- 19:19
try I tried to use it for the first time
- 19:20
like a couple of weeks ago because I
- 19:22
always thought that oh my god it's
- 19:23
somehow complicated, you know, there is
- 19:24
a lot of this like weird crypto lingo,
- 19:25
you know, like I have I like I don't
- 19:27
know what it what it means. But actually
- 19:28
it's really really simple to to play
- 19:30
with it. You can
- 19:32
you know, get to get up and running in
- 19:33
like 10 minutes. And uh
- 19:35
it's still super early. Uh
- 19:37
I think there's like $1 million
- 19:38
transaction volume like per month. Like
- 19:40
this is nothing, right? Like the economy
- 19:41
is much much bigger. But I think it will
- 19:43
sooner ramp up. And I think
- 19:46
once uh really this like era of like uh
- 19:49
token subsidies will end, I mean when
- 19:50
the when you really will have to pay for
- 19:53
the tokens, you know, that your agents
- 19:54
consume, I think suddenly this decision
- 19:56
whether to build or buy will, you know,
- 19:59
make more economic sense actually to buy
- 20:01
external, you know, services for a lot
- 20:02
of things rather than build from
- 20:03
scratch. And I think at this time really
- 20:06
the agentic payments will explode and uh
- 20:08
very soon uh um
- 20:11
uh the agentic commerce might uh
- 20:12
overtake the normal commerce.
- 20:14
Thanks a lot for your attention and
- 20:16
please come uh to join us uh
- 20:19
in our booth. And actually I have
- 20:20
another talk coming up in 2 hours uh
- 20:23
about MCP and CLI, so you can check that
- 20:25
one as well in Expo stage two.
- 20:29
Thank you. [applause]