I'm curious about the legal implications of this. For example:
- In the EU, a consumer has 14 days to withdraw from a contract that you have concluded online, unless the consumer explicitly waives this right during the purchase (so your payment required page will need an explicit statement about this).
- I'm pretty sure in the EU, and probably most countries, you must receive an invoice, even if it's for a 1 cent purchase.
- You might also have to pay VAT on these transactions, which will need to also be included in the invoice. This is especially important for B2B purchases, because companies can claim back VAT.
- What happens if I complete the purchase, but there is an error in the response returned by the website? I.e. between the events of my purchase being confirmed and the server returning the response, the server dies. What recourse do I have?
Quite apart from whether the concept can succeed after having failed a number of well-funded and well-publicised times—
I open https://shtein.me/api/joke in a normal-enough browser (Firefox Nightly with Enhanced Tracking Protection and uBlock Origin). After loading its 2.3MB response (no useful HTML, just a huge inlined JS blob, and served without transfer compression), it asks me to select a wallet. There are two choices.
I select “Injected” and press “Connect wallet” (ugh, why did it require me to click three times instead of just one!?). Nothing discernible happens. No errors or network activity in the dev tools.
This is all Firefox's implementation of the client. In the dropdown it shows wallets that it sees as available. I was able to test with coinbase wallet, for you it seems like coimbase alltogether is blocked, yes, but also, for example when I install Metamask extenaion - it becomes available as an option, so you can, in theory use whatever crypto wallet is available in your country. But yeah, as the top comment says - the legality of the whol thing is questinable.
I don’t know if “Injected” is the name of some service, or a description of what is to happen (in which case it’s lousy wording). Whatever it is, the failure mode is clearly atrocious. I hope that’s avoidable.
Is L402 an open standard? It doesn't appear to be.
X402 is an open standard backed by the Linux Foundation.
I'm honestly not the biggest fan of the Linux Foundation as a company, nor of many of the names behind X402 (e.g. Coinbase) but if I had to choose between these two standards for something I was implementing, I know which one I'd be less worried about vendor lock-in with.
The all time overall stats says volume is ~52m, but the table of featured services adds up to < 11m, with one 'x402 Facilitator - Dexter ' being like 95% of that...
Featured services is our attempt at a slightly more curated list of services.
Anyone can register services and APIs. Some people treat x402scan like a leaderboard, and they try and game it in all sorts of ways. We try and keep the "featured" list to resources we know are not boosting their numbers. It's a bit of a cat and mouse game though, and is by no means perfect. There will be false negatives/positives.
So do/can users get a preview of the content before being required to make payment? Or is the idea that users are likely already familiar with the site/content to which they will pay? Sorry I only skimmed the article.
The protocol itself only seems to define only the payment related negotiations. The author is free to implement some sort of preview themselves, though the full content should be on a separate page in order to use the browser's built in x401 client implementation.
> This literally can change how we use internet making advertisement economy internet runs on obsolete.
Hmm, so I will pay to see websites that have ads. This may or may not be fine and solve some other problems (like paywalling AI agents), but lets not be naive. It won't replace ads, in most cases it will just be another stream.
Having options is always a good thing, but trying to make a test payment I myself saw how far away this thing is in terma of encountering a user with a funded wallet on correct network. So I actually agree, it won't replace ads foe a long time if ever.
I think this adds too much friction to trying to view a website and most people, upon seeing this sort of paywalling (regardless of how much or how little is being asked) will just not go to a site that's implemented this.
It's really not meant for humans - the author here is mainly doing that for demonstrative purposes. x402 is meant for, and best for, AI agents with access to a little working capital and need to access a paywalled tool, API, or content to help solve a task.
I did not get it how it could be used for a _static blog_.
>…the paywall fetches the content behind the scenes, and since our response is JSON rather than HTML it has nothing to render in place, so it navigates to an in-memory object URL created from the response. The protocol itself is pay per use, so every time you hit an API - you will be charged.
So it can't be used to 'unlock' a paid article forever? You can only read it once, and if you closed the tab, you need to pay again?
Yeah, it doesn't unlock content forever, the protocol is made with assumption of payment per use. I haven't tried to present the same payment confirmation twice, but reading about it I assume it will fail. In this PoC the browser's ser opened content in memory as a separate tab, but it is a side effect, bot a feature. So you are right, it's not usable for tracking subscriptions in any way.
There is a description of an access token, so it looks like you'll have some time to access a page. Anyway, this is more for bots. If you want this page so much, just print it to pdf.
I think the main issue for now is how fragmented the whole ecosystem is, it was sych a pain fo me to test the thing, particularely to get a small enough amount to a wallet with which I can pay using this protocol. So it is just very unlikley that an avarage reader will have a funded wallet they can pay with I think.
It took a ridiculous amount of effort, but it looks like we're starting to go somewhere with this. The complexity of crypto is, um, complex and very very not user friendly. I had money in my Phantom wallet, but that wouldn't connect. I suspect it's because my USDC was on the wrong network. So then I tried the Base wallet, from Coinbase. I couldn't send money from my Phantom wallet to my Base wallet for whatever reason, so finally I used Apple Pay to load $5 (the minimum) into my Base wallet, so that I could click the button, finally, to give you $0.01.
Except it still didn't work. When I used the mobile browser, I clicked the links and it looks like it wanted to take my money, but it returned to the site after going to base, without actually taking money. So then I used the Base app's browser to visit the site. It more convincingly tried to take money out of my wallet but the site returns Request failed: 402, which is confusing, and doesn't actually take my money.
This sounds like what I saw when i tested it with another free facilitator, that one wasn't publishing the transaction to the network. I suspect that the current one, payai also may have occasional troubles posting the transaction, though I do see 4 cents dropped to the account since poating, so the thing works at least for some)
Coinbase facilitator would've been more reliable I thunk, but it requires a registration, kyc and all that jazz which I don't want to bother with)
You should give AgentCash [0] a spin. AgentCash is an x402 wallet + gateway for your agent. It can use any of the available paid APIs and even search them to find the right one for your task.
Consumers that actually spend (Americans) pay with unsecured credit, crypto ecosystem doesn't have robust unsecured credit systems. It has plenty of secured credit systems though because it is extremely optimal at collecting collateral and settlement, extremely unoptimal at rendering judgements and seizing non-possessed assets. Many applications try unsecured lending and solve nothing or gain no traction, running out of capital to unsecurely lend. This renders x402 for consumer applications dead in the water.
And if consumer applications were unlocked, the law of diminishing returns comes into play immediately as everyone tries to paywall their service, just like seen on Medium and Substack.
x402 is for agents to pay for something they need access to. The agents themselves will be speculators just like the users.
I could see the consumer use case working, but only if the layers upon layers of friction are removed. If I could pay 5 cents to view an article that captured my interest, by tapping a button, Face ID, fingerprint etc, then I might do it. Unclear how to make everything up to that point frictionless. Browsers would probably need to have native integration and hooks for payment and topping up the account.
I sure hope you're right though. To me x402 can subsidize the cost of producing and serving content with payments from the systems that are using it and giving the least back. It can mean more free content for humans with the right payment model.
- In the EU, a consumer has 14 days to withdraw from a contract that you have concluded online, unless the consumer explicitly waives this right during the purchase (so your payment required page will need an explicit statement about this).
- I'm pretty sure in the EU, and probably most countries, you must receive an invoice, even if it's for a 1 cent purchase.
- You might also have to pay VAT on these transactions, which will need to also be included in the invoice. This is especially important for B2B purchases, because companies can claim back VAT.
- What happens if I complete the purchase, but there is an error in the response returned by the website? I.e. between the events of my purchase being confirmed and the server returning the response, the server dies. What recourse do I have?
I open https://shtein.me/api/joke in a normal-enough browser (Firefox Nightly with Enhanced Tracking Protection and uBlock Origin). After loading its 2.3MB response (no useful HTML, just a huge inlined JS blob, and served without transfer compression), it asks me to select a wallet. There are two choices.
I select “Injected” and press “Connect wallet” (ugh, why did it require me to click three times instead of just one!?). Nothing discernible happens. No errors or network activity in the dev tools.
I select “Coinbase Wallet” and press “Connect wallet”. It opens a popup window, <https://keys.coinbase.com/connect?sdkName=%40coinbase%2Fwall...>. The TLS connection fails, PR_END_OF_FILE_ERROR. Operating on a hunch, I discover it’s blocked in India:
(coinbase.com and www.coinbase.com are similarly affected.)Not sure quite what to make of that, given that https://www.coinbase.com/en-in/blog/coinbase-launches-in-ind... sounds (from the snippet exposed in a search engine) like Coinbase started fully operating in India five weeks ago.
Can’t say it leaves a positive impression.
I guess it expects any 'WEB3' browser extension to be installed. Anything that supports Ethereum should work: Metamask, Enkrypt, Rainbow, …
The protocol: https://docs.lightning.engineering/the-lightning-network/l40...
An index of current use: https://l402index.com/
X402 is an open standard backed by the Linux Foundation.
I'm honestly not the biggest fan of the Linux Foundation as a company, nor of many of the names behind X402 (e.g. Coinbase) but if I had to choose between these two standards for something I was implementing, I know which one I'd be less worried about vendor lock-in with.
Happy to answer any questions!
[0] https://www.x402scan.com/
The all time overall stats says volume is ~52m, but the table of featured services adds up to < 11m, with one 'x402 Facilitator - Dexter ' being like 95% of that...
Anyone can register services and APIs. Some people treat x402scan like a leaderboard, and they try and game it in all sorts of ways. We try and keep the "featured" list to resources we know are not boosting their numbers. It's a bit of a cat and mouse game though, and is by no means perfect. There will be false negatives/positives.
Hmm, so I will pay to see websites that have ads. This may or may not be fine and solve some other problems (like paywalling AI agents), but lets not be naive. It won't replace ads, in most cases it will just be another stream.
>…the paywall fetches the content behind the scenes, and since our response is JSON rather than HTML it has nothing to render in place, so it navigates to an in-memory object URL created from the response. The protocol itself is pay per use, so every time you hit an API - you will be charged.
So it can't be used to 'unlock' a paid article forever? You can only read it once, and if you closed the tab, you need to pay again?
So... yeah, technically it works but until anybody cares, it doesn't matter.
I didn't even re-installed my wallet for others to get some reward back last time I setup my browser.
Except it still didn't work. When I used the mobile browser, I clicked the links and it looks like it wanted to take my money, but it returned to the site after going to base, without actually taking money. So then I used the Base app's browser to visit the site. It more convincingly tried to take money out of my wallet but the site returns Request failed: 402, which is confusing, and doesn't actually take my money.
Tell your agent "Set up agentcash.dev and use it to get a joke from http://shtein.me/api/joke"
[0] https://agentcash.dev/
Consumers that actually spend (Americans) pay with unsecured credit, crypto ecosystem doesn't have robust unsecured credit systems. It has plenty of secured credit systems though because it is extremely optimal at collecting collateral and settlement, extremely unoptimal at rendering judgements and seizing non-possessed assets. Many applications try unsecured lending and solve nothing or gain no traction, running out of capital to unsecurely lend. This renders x402 for consumer applications dead in the water.
And if consumer applications were unlocked, the law of diminishing returns comes into play immediately as everyone tries to paywall their service, just like seen on Medium and Substack.
x402 is for agents to pay for something they need access to. The agents themselves will be speculators just like the users.
I'm fine being wrong.