x402 isn’t good (yet) — Jan Curn, Apify
Read the talk
x402 isn’t good (yet)
Jan Curn explains what Apify’s agent-payment integration exposed: verified signatures do not reserve money, fixed prices do not fit metered jobs, and payment protocols can collide with authentication. Prepayment makes the system usable; escrow and batch settlement offer a promising direction.
From a talk by Jan Curn
At a glance
Ideas worth remembering
Verification does not secure funds in the x402 flow described here. Running costly work after settlement protects sellers from spending that occurs between authorization and collection.
Mandatory initial status codes complicate combining x402 payments with MCP authentication. Separate hostnames work around the conflict; Curn proposes allowing payment requirements through headers without requiring 402.
Up To permits a variable charge within a ceiling but leaves the spending window open. Apify’s charge-and-refund workaround adds a second blockchain transaction and requires buyers to trust the refund.
Batch Settlement combines upfront escrow with off-chain micropayments and aggregated on-chain settlement. Apify had not yet implemented it at talk time.
Apify’s Agent General Interface separates purchasing prepaid access from executing jobs through the established API or MCP. Its documented prepaid credit terms differ from the talk’s earlier refund workaround.
A payment protocol meets a marketplace of tools
MCP was exciting, widely discussed, and still clunky when David Cramer delivered “MCP Is Not Good Yet” at the previous AI Engineer World’s Fair. Sentry subsequently built an MCP server that Jan Curn praises, while MCP became a familiar way to connect tools to agents. That combination supplies the premise for this sequel: finding rough edges is part of building a useful integration.
Jan Curn, Apify’s founder and CEO, brings a concrete marketplace problem. At talk time, Apify had about 45,000 tools called Actors, spanning web-data extraction, search, maps, automation, and agentic tasks. Apify and community developers build them; customers pay to use them; Apify passes revenue to their creators. Curn reports community payouts exceeding $1 million per month. Making these tools purchasable by agents means connecting a new payment mechanism to an existing business.
Apify launched its x402 integration with Coinbase two days before the recording. Curn reports that it added 20,000 tools to an x402 catalog that previously contained about 2,000—roughly a tenfold expansion in available tools. Those numbers describe catalog supply. The reason to supply it is straightforward: an agent working without repeated human intervention needs a budget to acquire services as its task develops.
Suggest correction
This note stays in this page until you copy or download it. Nothing is submitted; reloading clears the draft.
Why crypto looks useful for agent payments
The payment landscape is already crowded. Curn runs through competing efforts from payment networks, technology companies, and crypto providers, then describes the difficulty of keeping up with them. Each wants a share of the transactions agents might eventually generate. For a service marketplace, that competition creates an immediate integration problem: which payment systems should it accept?
Curn’s enthusiasm comes with some personality: “I’m not HODLing anything.” Agent commerce gives a longtime crypto skeptic a practical reason to reconsider. His case has three parts:
- Small payments: Conventional methods such as cards, PayPal, and bank payments have costs that make tiny individual purchases unattractive. Agent-to-service interactions could require many such purchases.
- Seller certainty: Human commerce has identity and fraud signals that sellers can use when accepting payments subject to disputes. Agent identity remains unsettled in this account, so Curn wants sellers to receive payments that buyers cannot later reverse through a bank dispute.
- Shared infrastructure: A sufficiently decentralized blockchain could serve as a public payment standard without one company controlling the network and extracting fees through its dominant position.
The decentralization claim depends on how the network is governed. Removing buyer disputes also leaves a separate question: what protects the buyer if the paid service fails? That question returns when Apify starts collecting money before running a job.
Apify’s implementation experience focuses on x402 from Coinbase and MPP, the Machine Payments Protocol associated here with Stripe. Curn reports that the previous day’s figures put x402 about twenty times ahead of MPP in both transaction count and volume. That talk-time comparison helped Apify prioritize x402, although it added MPP along the way.
x402 gives the payment idea a recognizable HTTP entry point: 402 Payment Required, a status code Curn describes as having waited almost thirty years for its moment. The integration difficulties begin with what happens after the server asks for payment.
Suggest correction
This note stays in this page until you copy or download it. Nothing is submitted; reloading clears the draft.
A verified signature leaves a spending window open
The flow described in the recording starts with an ordinary API request. The server responds with 402 Payment Required. The client signs a payment authorization and sends it back. The server asks a facilitator, such as Coinbase, to verify it. Once verification succeeds, the server does the work, then asks the facilitator to settle the payment. Settlement performs the blockchain operation that transfers money to the seller.
Verification and settlement answer different questions. A valid authorization can pass verification without preventing the buyer from spending the same wallet funds elsewhere before settlement. Curn illustrates the exposure with one wallet generating 1,000 signatures and sending 1,000 requests. If sellers treat those signatures as secured funds, they can all begin work against money that will not cover all the requests.
Follow one of those requests through its consequence. A seller receives a signature, gets a successful verification, and starts a job that calls a paid external service. Meanwhile, the buyer spends the wallet’s money in another transaction. When the seller finally requests settlement, the funds are gone. Withholding the result might stop the buyer from receiving the output, but it cannot recover the external-service cost already incurred.
Where does changing the order protect that seller? The comparison below places the costly work on either side of settlement. In the first path, the seller incurs costs while payment remains unsecured. In the second, the seller waits for payment before starting.
Settling first is the available workaround. It is straightforward for a fixed-price call, but places an obligation on the other side: the buyer has paid before receiving the service, so the server must finish the work successfully. Curn considers doing work before settlement tolerable for a simple API call with effectively zero marginal cost. Jobs that consume resources or purchase upstream services need stronger protection.
The facilitator confirms the authorization is valid.
Moving work after settlement protects the seller from spending that occurs between verification and settlement, while requiring the buyer to pay before delivery.
Suggest correction
This note stays in this page until you copy or download it. Nothing is submitted; reloading clears the draft.
One HTTP response cannot be both 401 and 402
A separate difficulty appears when payment and authentication share an endpoint. In the requirements Curn describes, x402 demands an initial 402, while MCP authentication demands a 401. An HTTP response has one status code. A server cannot satisfy both initial-response requirements simultaneously.
The workaround is to split access across hostnames: one host for x402 payments, another for MCP, perhaps another for MPP. That avoids asking one response to carry incompatible status codes, but duplicates the service’s entry points around payment choices. Curn’s analogy is having twenty different Amazons for different credit cards. The customer wants the same service; the payment method should not require a different storefront.
His proposed protocol change is to allow payment requirements to travel through headers without mandating the 402 status. A response could then carry payment information while using the status code needed by another protocol. This is a suggestion in the recording, rather than an implemented solution.
Suggest correction
This note stays in this page until you copy or download it. Nothing is submitted; reloading clears the draft.
“Up To” changes the amount, not the security of the funds
The original Exact scheme fits a simple purchase: pay a fixed fee for one API call. Apify Actors have a different cost shape. They often run batch jobs, lasting anywhere from a few seconds to a few hours, and consume resources along the way. Metered billing follows that consumption; the final price need not be known when execution begins.
Coinbase introduced x402 with Exact in May 2025. Curn describes Up To as a later scheme promised with the protocol’s December 2025 update and released after a further wait. It lets a client authorize a ceiling—for example, $5—and allows the server to charge an amount within that ceiling. This answers how much the seller may charge, but leaves the earlier spending window intact. Permission to charge up to $5 does not secure $5 for the job.
Apify therefore used Exact to collect a fixed amount, ran the job, and refunded whatever the job did not spend. The initial payment covers work before the final bill is known, and the refund reconciles that payment with actual consumption.
The workaround carries two distinct costs:
- Two blockchain transactions: Collecting payment and returning the remainder each require a transaction, adding settlement time and potentially fees.
- Trust in the refund: The buyer hands over the full amount and depends on the server to return the unused portion. Curn considers this a milder issue than exposing the seller to unpaid work, but still finds the arrangement clunky.
Suggest correction
This note stays in this page until you copy or download it. Nothing is submitted; reloading clears the draft.
Escrow funds once, then settle small payments in batches
Batch Settlement changes where the money sits while work proceeds. In Curn’s account, the client first makes a real blockchain deposit into escrow. The server returns a cryptographic voucher that the client can use to sign small payments within the batch. Requests—for API calls or individual tokens, for example—then carry those signed micropayments.
The small payments occur off chain. The server accumulates them and periodically settles them together through a blockchain transaction. Settlement can happen multiple times before the remaining escrow is released. Frequent service purchases therefore do not each require a blockchain write: money enters escrow up front, while the chain records aggregated settlement afterward.
Which operations still reach the blockchain? The diagram distinguishes the deposit and batch settlement from the repeated off-chain requests between them. Escrow changes the funding arrangement; batching reduces how often individual purchases need a chain write. Apify was working on this scheme but had not implemented it at talk time, so its practical benefits for Actors remained prospective.
A blockchain transaction places funds into escrow.
The client deposits funds on chain, signs small payments off chain, and the server settles accumulated payments in batches before unused escrow is released.
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 existing API
Apify still needed a usable integration without rebuilding its API around every emerging payment standard. Tens of thousands of customers depended on that API. Separate payment-specific service endpoints and awkward adaptations of variable usage would make the established product harder to maintain.
The resulting entry point is AGI.Apify.com: Agent General Interface. The acronym is a joke with an architectural point. The interface is a simple website containing one Markdown document that explains how agents can buy access through x402 or MPP. Curn expects agents to read changed instructions as the purchasing flow evolves, allowing Apify to iterate without continually changing the API used by existing customers.
The purchase produces a prepaid Apify token. In Curn’s example, an agent pays $5 and receives that token, then uses it through the normal API or MCP to run jobs. The agent-facing page handles how to buy access; existing interfaces handle how to spend that access on Actors. The Apify API documentation and MCP integration documentation explain the execution side.
The prepaid token has different terms from the earlier charge-and-refund job workaround. The AGI service documentation supplied as of September 19, 2026 specifies a $1 minimum purchase, non-refundable unused credit, and a temporary account deleted after a 14-day lifetime. The token carries a fixed spending cap, and usage is metered against its balance. Buying credit therefore does not promise a refund after each job.
The live demonstration attempts a smaller purchase. Apify had built a local wallet tool to create a cryptographic key, fund it, and display a QR code. The wallet begins with $10. Curn requests a token carrying $1 of credit from AGI and receives 402 Payment Required. He then uses an MCP CLI client to sign the payment. The request has moved from asking for access to answering a payment challenge, but the demo fails before a completed purchase is shown. Time runs out before token delivery or subsequent Actor execution is demonstrated.
Suggest correction
This note stays in this page until you copy or download it. Nothing is submitted; reloading clears the draft.
The next question is whether agents should build or buy
Despite the failed demo, Curn’s closing invitation is practical: try building with the payment flow. Crypto terminology had made it seem intimidating even to him, but he found getting started much simpler than expected and estimates an initial experiment can take about ten minutes. The invitation is to explore an early system whose integration problems are still being worked out.
The scale remains small in his account: roughly $1 million in monthly transaction volume for the emerging payment ecosystem. That measures payment activity, distinct from Apify’s earlier $1 million-plus monthly creator payouts. Curn’s growth forecast depends on a change in agent economics: when subsidized model tokens give way to costs users must actually pay, generating a bespoke solution may become less attractive than purchasing an existing service.
An agent then needs a way to choose a service, fund access, and use it when buying is cheaper or more effective than building from scratch. Curn predicts this could make agent payments grow sharply and eventually let agent commerce overtake ordinary commerce. That remains his forecast. The shipped integration offers a concrete place to test the smaller proposition that agents can buy useful capabilities.
Suggest correction
This note stays in this page until you copy or download it. Nothing is submitted; reloading clears the draft.
Resources
From the talk
The purchasing instructions and prepaid-token flow described in the talk. The supplied September 19, 2026 documentation specifies a $1 minimum, non-refundable unused credit, and a 14-day temporary account lifetime.
Further reading
REST and client-library guidance for running Actors and retrieving results after acquiring an Apify token.
Configuration and authorization guidance for using the prepaid token with an MCP client to discover and run Actors.
Related talks
- MCP Is Not Good Yet — David Cramer, Sentry
The explicit inspiration for examining a promising protocol’s rough edges while building an integration.
- The rise of the agentic economy on the shoulders of MCP
Curn’s earlier talk explains why tool discovery alone is insufficient and how a marketplace can combine access, credentials, and payment.
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]