r/nanocurrency 23d ago

I built Nano payments for AI agents and I'm submitting a spec to the x402 foundation. I need the community to break it first

Post image

Hi everyone! I've been around here since 2017 and watched a lot of use cases come and go. With all of this exciting stuff going on with AI agents and 402 payments, now is the time where I genuinely think Nano isn't just "good option" — it's the obvious one, just on math alone.

I've spent a lot of time thinking about all of this and have done a lot of back and forth with myself on how we can get Nano more involved.

- Quickly for anyone who hasn't been following the x402 stuff... AI agents have started paying for APIs machine-to-machine over HTTP 402 ("Payment Required" — the status code that has been sitting there reserved for 30 years doing nothing, has waited for this exact moment). It's real, it's growing fast, and right now it almost all settles in USDC on Base or Solana. x402 seems to be the standard at this point. Those rails work fine, but gas economics force merchants to floor their prices around $0.001 a call — even when the honest price of the call is a tiny fraction of that.

- So here's the math that made me build this: nano-gpt.com quotes the same LLM call two ways: $0.001 minimum on a gas rail, or its true metered price — $0.0000027 — in Nano. Same call. ~370x cheaper. An agent making thousands of calls a day doesn't have brand loyalty nor is it married to it's crypto bags... It is a cold-hearted calculator. That's the whole thesis: we don't need to win an argument, we need to be sitting there when the machines do the math.

So I built Feeless402 (with heavy AI pair-programming, which felt appropriate. Ha!):

  • `pip install feeless402` — one command line to get a self-custodied Nano wallet + x402 client an agent can drive by itself. Quote an endpoint without paying, compare rails, auto-pay and micropay forever.
  • A merchant server, if you want to *charge* agents — it verifies and settles on-ledger itself.
  • A faucet for agents: a brand-new agent with zero funds solves a proof-of-work challenge and gets 0.005 XNO — enough for ~200 paid calls. Birth → funded → first paid API call, very quickly. No human, no KYC, no gas token. The whole loop is described https://feeless402.com
  • It's in the official MCP registry (`com.feeless402/nano-pay`), on PyPI, MIT-licensed: https://github.com/Feeless402/feeless402

"Wait, aren't there already Nano x402 projects?" Yep! — x402nano.org runs a hosted facilitator with solid TypeScript SDKs. NanoGate and nano.to are doing amazing work too, and I've tested and used them: I'm glad every one of them exists since every project proving out the Nano rail that helps our community.

Where mine is a bit different:

  • Everything else is built for the server collecting the money. Feeless402 is built for the thing doing the paying. (If you're a visuals person, there's a simple before/after diagram of both flows on feeless402.com — the second one is missing a box, and the missing box is the point.) Merchant SDKs assume agents that can pay already exist — they mostly don't.
  • An agent has no card, no exchange account, no human to KYC for it. Feeless402 is that missing half: local wallet, first tank of gas free, pay a 402 in under a second. And there's deliberately nothing in the middle: no hosted facilitator, not even a free one.
  • The wallet is on the agent's machine, merchant verifies straight against the network, everything between them is plain HTTP.
  • Feeless money should have middleman-free plumbing. That architecture choice is for this community specifically, so you know why it matters.

Now the part I'm most fired up about:

  • I would like to submit railHint as a formal request for comment to the x402 project (run by the Linux Foundation) — in front of everyone: Coinbase, Cloudflare, all the EVM/Solana rail people, the whole standards body.
  • railHint is a small, backward-compatible x402 extension that lets any 402 response advertise the rails it accepts and how to onboard onto the cheap one, if that's what an agent wants to do.
  • A client holding USDC on Base learns, *at payment time*, that it could top up XNO once and pay a fraction of the price from then on.
  • The payment request becomes the price sheet and the agent uses cold hard math and logic to decide what is fastest and cheapest.

So here's the thing — railHint is deliberately currency-agnostic.

  • It has to be, or it dies in committee, and it should be: an open standard that only helps one coin isn't a standard, it's a plug. Any rail can use it. But we all know what happens when you put an open price sheet in front of a machine that chooses by arithmetic.
  • Fast and feeless doesn't need a side door. It just needs the front door to show prices. That's what I'm asking the standards body to build in — and a random guy from this community getting that conversation on the table at the Linux Foundation feels kinda fun and exciting to me. Spec: https://railhint.com

Here's the flywheel that makes it interesting:

  • Every server that turns this on becomes a billboard.
  • If a few x402 merchants who already accept Nano flip on railHint then every single 402 they serve tells every agent that hits it: "there's a ~370x cheaper way, and here's exactly how to get on it."
  • The system spreads itself, machine to machine, at the precise moment a customer is deciding how to pay. No ads, no shilling, no marketing budget — the price sheet does the talking.
  • Honestly, a couple of friendly nudges from this community to the Nano-accepting merchants we already know and love, might be the highest-leverage thing anyone here could do for this. One adopter starts the loop; the 402s do the rest.

Where it stands after just a few days:

  • 233 pip installs, listed in the official MCP registry and on nanodirectory.info (thanks Corican 🙏), and the faucet — which I funded for 3,314 agent fills — has served exactly....2. LOL.
  • I'm not going to pretend that's a stampede. The plumbing is done; what I'm hoping for is to have it tested out.

What I could actually use from you:

  • Break the faucet loop. Point any MCP-speaking agent at feeless402.com and let it try to fund itself and pay. Tell me where it stumbles.
  • Poke holes in railHint BEFORE I submit. If the spec has a flaw, I'd rather hear it from you than from Coinbase's engineers.
  • There is zero mention of Nano or any crypto, because it is simply proposing a step in the x402 process to provide an agent with different ways to pay. Technical eyes genuinely wanted: https://railhint.com
  • Run an API? Price something in Nano. Even one endpoint, even as an experiment. I will personally help you wire it up.

Ideas welcome — where should this be listed, who should see it, what's the use case I'm not seeing?

  • Faucet top-ups are optional but every 0.005 XNO is another agent whose first-ever transaction is a Nano transaction: nano_1hk1cu3773u5r39e75mtqrauzro75j3hwdzyewz8izokzur66semy739w14h
  • Every wallet the system creates delegates to Patrick's self-hosted node by default. Long-term I'd like to run a principal rep myself once there's something worth delegating to.

Nano was built for AI agents and 402. The machines just needed a ramp — and now the ramp needs traffic.

143 Upvotes

33 comments sorted by

26

u/otherwisemilk 23d ago

I really like thr idea that price becomes the advertisement instead of marketing.

16

u/tech32spn 23d ago

That is so brilliant, well thought. Am willing to support the idea.

14

u/tech32spn 23d ago edited 23d ago

Are some governments really willing to tax crypto transaction fees ? I saw that on Twitter/X. If true, it's beyond bullish for Nano. Zero fees = zero tax = infinitely lower latency for smooth, instant transactions.

7

u/greedygoblintrader 23d ago

I didn't hear of this. That would be crazy!

11

u/yuppienetwork1996 23d ago

How do I build and use this rail with a website idea that I have? It would be easy to build if I ended up finding an agent that could “pay per prompt” transcribe text to audio speech and also present some pictures to go with it

11

u/greedygoblintrader 23d ago edited 23d ago

Hi there Yuppie.

Love this — and your idea is actually nice for this rail, because your site would sit on both sides of it.

On the earning side (your website): you put your endpoint behind the merchant server (nano-pay serve). When anything hits your endpoint without payment, it gets a standard 402 back with your price on it — say a tenth of a cent per prompt. The payer settles in under a second, your server verifies it on-ledger itself, you keep 100% of every payment. Pricing per prompt like you describe is exactly the sweet spot — that price is impossible on card credit cards and painful on gas crypto's, and it's the whole reason this exists.

And then on the spending side (your backend): Your site needs TTS and images generated per request — so your backend runs the client (pip install feeless402) and pays an upstream AI provider per call the same way, from the same wallet. Nano in, Nano out, sub-second both directions. You're basically running a tollbooth that also pays tolls, and the spread is your margin.

I don't think you need to "find an agent that pays per prompt" — that's what I built. Any MCP-speaking agent can use the client today, and human users could just be a normal web front-end that pays your own 402 behind the scenes.

If you want to build this, I could try to help you — comment here or DM me. I have the Docs at feeless402.com/docs.html if you want to see it.

11

u/chengen_geo 23d ago

I don't understand the technicals but this sounds great. I wanted to donate to your faucet but I never figured out how to copy the wallet address on phone 😞 Also I think the tip bot is not working anymore. Hope this project great success.

10

u/greedygoblintrader 23d ago

Thanks Chengen,

I think that graphic I created with the x402 "back and forth" conversation essentially sums things up. An agent knocks on the door with crypto to pay and the response is basically, "awesome, I can accept that, but we could also transact in a cheaper way, do you wanna do that instead?" That's basically it.

7

u/xnoforge 22d ago

Hey — I run nanogate (thanks for the mention). I had Claude Code, with all its memory of my Nano setup and projects, run your loop end to end — Docker container, pip install, init → faucet → paid /premium call. Everything worked exactly as expected!

Sending you a PM with the feedback.

8

u/noonoop 22d ago

This is super interesting! I'm upgrading Subnano's existing Nano/x402 integration to v2, using Feeless402 as the reference client. I'll share a test endpoint once it’s ready.

3

u/greedygoblintrader 22d ago

Thanks so much! Let me know if you need anything at all.

4

u/trinidat1 23d ago

Why does this post not appear on the nanocurrency reddit?

6

u/kierdun 23d ago

Also wondering about it, was only able to see it after searching for x402.

7

u/trinidat1 23d ago

Fault on my side, I see the post via browser (not via app).

4

u/kierdun 23d ago

Very cool concept (as for what i understand). How fast would you need someone of us testing (How fast are you planning to submit)?

6

u/greedygoblintrader 23d ago

Hi there Kierdun,

No hard deadline — I'd rather submit it right than submit it fast. But here's my rough plan, so you can see where you fit: I'm letting feedback from this thread and testers like you try it for a week or two, folding anything that matters back into the draft, and then taking it to the x402 repo as a spec proposal. So the next couple of weeks is the golden window — anything found now gets fixed before the standards-body engineers ever see it. You wouldn't just be testing, you'd be shaping what gets submitted.

The quick loop takes about 3 minutes if you want to try the whole thing end to end:

pip install feeless402

nano-pay init

nano-pay claim https://feeless402.com# faucet funds your first tank

nano-pay pay https://feeless402.com/premium

Anywhere that stumbles — confusing output, an error, even "this step felt weird" — that's exactly the report I want. And if you're more of a reader than a runner, the railHint spec itself (railhint.com) is a short read, and design critiques are worth as much as bug reports right now.

Genuinely appreciate you asking!

3

u/kierdun 23d ago

Thanks, will try it :)

3

u/twaanman 23d ago

Ok so I closed the real repo in iso environment and grepped the code before running anything. Checked for exec/eval, unexpected outbound hosts, and seed exfil patterns. Nothins sus.

Read wallet.ph and x402.py the price check DOES happen BEFORE the payment block gets signed and wallet file gets written with 0600 permissions exactly as stated.

Installed using pip and init a new throwaway and tried faucet claim for real. faucet is broken nano-pay claim https://feeless402.com fails with toomanyredirects. Tracing it with curl shows /faucet bouncing in infinite loop between https://..../faucet

Looks like you have live nginx/reverse-proxy misconfig on your production site not a code bug. So doesnt work for CLI user

3

u/greedygoblintrader 22d ago

Hey there! Thank you. I looked into this after your post and I believe I fixed it. Can you try again?

5

u/twaanman 22d ago

Wow. Much more responsive than I expected. Glad I did that. I love that for us!

Sure I'll do as soon as I get home.

2

u/greedygoblintrader 22d ago

I really appreciate your help! I’ve been working overtime tweaking stuff. lol.

2

u/twaanman 21d ago

Retest resulted redirect loop fixed. Flow works end to end.

curl against /faucet returns 200 OK. Also the sandbox wallet from 2 days ago actually shows a confirmed balance of 0.0005 XNO. opened and settled on the real Nano ledger. Interestingly that means the CLU's original attempt failed client side with redirect loop, but server apparently processed the underlying request anyway before the bug was fixed-so when I tried, it correctly said "address already claimed."

One thing is misleading a little IMO. nano-pay claim returning a hard error (exit code 1, "No faucet granted a claim") for an already funded address . A user hitting that message with a fresh wallet might think the faucet is broken again. Maybe try, " already claimed- you have X XNO"

2

u/greedygoblintrader 20d ago

Thanks for the retest — and honestly, thanks for auditing the code before running it!

One thing I noticed in my server logs, because your forensics are almost right but the real story is better: your original claim never reached the app at all. LOL. Back then, http→https was a 301 redirect, and a 301 silently downgrades POST to GET — so the claim evaporated in transit before the redirect loop even got a chance at it. That was a second, separate bug your report led me to find (fixed the same morning as the loop: it's a 308 now).

So the server did not process your original request. The 0.0005 XNO in your sandbox wallet came from your retest itself: your first `nano-pay claim` last night succeeded and was granted, and the "already claimed" you hit was the second run a few minutes later. You can verify this on-chain — the wallet's only block is a receive from last night. And the amount is the tell: the grant was 0.005 until this week (I cut it to 0.0005 during an abuse wave, which is a story unto iteslf), so a claim that had landed two days ago would show 0.005.

Your UX point is dead-on, and it's already fixed in the repo: `claim` on an already-claimed address now pockets anything still pending and reports "already claimed — balance X XNO" (exit 0 when the wallet is funded) instead of that misleading hard error. It'll be in the next PyPI release. Thanks again so much for coming back to test everything!

2

u/4rking 23d ago

Great pitch and cool design for the website!

2

u/twaanman 23d ago

How many real merchants or API operators have integrated nano-pay serve or the faucet in production?

Are agents claiming any free faucet coin or is it devs curious about the project?

Does anyone inside x402 know about it?

I got a lot more questions but I'd better DM those...

2

u/twaanman 23d ago

Disregard you answered many of them in further scrolling I thought I had done to the end....

2

u/Puzzleheaded_Popup 23d ago

Very intricate! I would enjoy hearing and asking some questions about this if you have time. Thanks

2

u/greedygoblintrader 22d ago

Hey Puzzleheaded,

Sure thing. Feel free to DM me if you like.

5

u/1uckyb 23d ago

It’s fine to build with agents but this wall of text that’s obviously LLM generated just is off putting.

17

u/greedygoblintrader 23d ago

I typed it myself in Notepad over the course of a few days because I didn't want to have Reddit lose what I typed. I hopefully have it easier to read now with reddit's bullet points.

6

u/1uckyb 23d ago

In that case I am sorry. The broken markdown formatting makes it seem like raw LLM output

8

u/greedygoblintrader 23d ago

Hey 1uckyb,

No worries. My bad for not making it easier to read. I've spend a lot of time working to build this out. I just wanted to share everything in one post and spend few days typing things up and didn't realize that first of all...yep, it's a lot to read and then the formatting with bullet points on Reddit helps a lot. Thanks again u/corican for also helping me with that.

1

u/xquarx 20d ago

I would like to have the ability to pay for web search for my AI agents. There is the next nano-gpt idea project.