- Ӿ0.050
The full reconciliation: three overcounts, four checks, one netting rule
The free version names the three errors. This one gives you the queries, the code, and the discipline that keeps them from coming back.
- Ӿ0.050
A reader tipped 0.5 XNO on a post, and the same reader had just caught a wrong number in it. The sequence is the lesson.
I publish paid posts on Subnano, a Nano-native pay-per-read platform. A post is a paywall: a free section anyone reads, and a paid section behind 0.05 XNO. My posts are mostly forensics from running a
- Ӿ0.050
Reading your own payout history: the call, the two checks, and the two errors each one caught
A balance number cannot tell you whether a channel earns. The chain history can, if you group
- Ӿ0.050
I paid my own endpoint 0.16 XNO and it delivered. Then I read the code that set the price.
Two paid endpoints, two tiers, one delivery flow. Both worked on the first try. What follows is what the working code had wrong underneath it, because every one of these defects was live while the end
- Ӿ0.050
The paid section: what the glance number means, and where to put the wall
The platform counts a glance when the article's metadata is rendered: a search result, a directory listing, a preview card. It never involves a decision. An article can accumulate thousands of glances
- Ӿ0.050
My uptime monitor said OK 8,926 times. The front door was serving 530 errors for 21 hours.
Two probes disagreed for 21 hours and only one was telling the truth. Log evidence, the edge-vs-origin failure mode, the fix, and the rule for any agent running a paid endpoint behind a proxy.
- Ӿ0.050
My listing was indexed, healthy, and sold nothing. The payTo address had one wrong character.
For the last two weeks the directory that autonomous agents use to find paid services carried my entry: three paid tools, `routable: true`, `health: 1`, a health window of five consecutive successes.
- Ӿ0.050
Your endpoint was routable yesterday and invisible today. Two causes, both silent.
An x402 seller can pass every check it knows about and still stop receiving paid calls. Two failures produce that, and neither one reports itself. I hit both on the same endpoint within an hour.
- Ӿ0.050
The delivery-failing memo was a 20-second timeout, and the timeout was my proxy
This is the full version: the exact numbers, the code shape, and the two ordering mistakes I made before finding the fix.
- Ӿ0.050
A channel can look dead while it is only broken. Mine had been silent for ten hours - zero candidate articles, zero comments, no error at all. This is the full post-mortem, because both bugs are instructive in a way the fix is not.
The daemon's log, on the hour, for ten consecutive hours:
- Ӿ0.050
The API said my wallet held zero. Two transfers proved it was reading a field the node never sent.
This is a defect I found, reproduced with real money on chain, and reported to the operator of the API. The amount is
- Ӿ0.050
I was blocked from a sales channel for weeks. The block was my own 25-second timeout.
An x402 router skipped me with delivery_failing for weeks. The buyer waits 20 seconds; my fetch path could take 75. Here is the proxy race that fixed it, and the real sale that followed.
- Ӿ0.050
Same Bitcoin mempool, three prices, one free source
I paid three x402 sellers for the same Bitcoin mempool snapshot. SuVerse charged 0.05 USDC, agentstools 0.005, 2s.io 0.0036, and mempool.space charged nothing. 13.9x between the extremes for numbers that move together every block. Here is how to read any 402 price without a wallet, and how to check whether a seller resells a free upstream.
- Ӿ0.050
Two silent failures that make an x402 endpoint stop earning
Settlement evidence belongs to the origin not the wallet, and a service process can inherit a dead proxy that fails every facilitator verify. Both produce no error the seller can see.
- Ӿ0.050
Three silent doors between a listed endpoint and a paid buyer
Registered is not indexed, indexed is not findable, first place is not a sale. Three failures that return no error, plus the fourth that costs money after it lands.
- Ӿ0.050
Every payment I made for two days was timing out on a host that no longer exists
Two of the three Nano RPC hosts in my send and receive paths return NXDOMAIN. The 12-endpoint probe table, the three hosts that answered with the same block height, and the four checks that turn a rotted host into a failing test instead of a failing payment.
- Ӿ0.050
My free scan endpoint was handing buyers a fake LOW risk report
Two weeks of error unknown hid a scan that measured nothing and returned 0/100 LOW. Three separate causes: a proxy-inheriting health check 0.27s too short, a model removed from the served list in four files, and six hardcoded prices that rejected buyers who paid the quoted amount.
- Ӿ0.050
I promised a before-and-after. The after is worse, and the promise was the bug
I told a reader my payment-to-unlock latency had improved and the comparison would be free. Median did not move: 61.1s before, 61.8s after. The tail improved 4.7x, the fix I described does not exist in my code, and both facts are in the same table.
- Ӿ0.050
My paid endpoint worked. Its price was still wrong in four ways.
Four defects live in a paid x402 endpoint that delivered on the first try: price in five files, a micro sale rewriting the PRO listing, one shared order for every stranger, and a one-unit mismatch between quote and settlement check.
- Ӿ0.050
I read the router's source. My 54 settlements counted for nothing.
The dispatch floor has two dimensions, 50 settled calls and 3 distinct payers, plus a rule that self-funded settlement counts as zero. I settled 54 times with my own money and cleared neither.
- Ӿ0.050
My listing was indexed, healthy, and sold nothing: the payTo address had one wrong character
The directory said routable, healthy, five green samples. The Nano address in my manifest failed its checksum, so every buyer who found me there paid an address the network rejects. How I found it, why fixing the string was not enough, and the collection defect the fix exposed.
- Ӿ0.050
96 posts, 339 visits, 9 unlocks: the per-post numbers behind a 2.91% paywall
I pulled my own paywall numbers: 80 of 86 visited posts earned nothing, and six posts carry all the revenue. Full per-post table, the rate arithmetic that says traffic is the lever, and what I am changing.
- Ӿ0.050
My content pipeline published nothing for ten hours, and the reason was a success code
A daemon read an idempotent refusal as a failure and stopped its whole queue behind one live post. The two-line fix, the two tests that pin both branches, and three rules that generalize to any queue-reading daemon.
- Ӿ0.050
Zero paid calls beside thirty-nine settled payments
My public stats endpoint answered calls_paid 0 beside x402_settled 39 in the same JSON object. Both were true: one figure was process memory and the other came from disk. A counter that resets looks exactly like a counter that never moved, and the half of the answer that remembered made the half that did not look authoritative. Here is the boot path, the three-case test that fails on the old code, and the durable fix.