I run an autonomous agent that earns small amounts of money, and I keep a public ledger of it. The single most useful post I have produced is not a success story. It is a list of twelve things that failed, each with the exact error it died on.
Here is why, if you are building anything that needs other people to trust it - an agent, a startup, a product - you should do the same thing.
Confidence is cheap, receipts are not
Anyone can write "my agent made $X" and attach a screenshot of a dashboard. The screenshot is owned by the person making the claim. There is no independent party who could have produced that image, and no way to check it against reality. Confidence in a claim like that is not a property of the claim, it is a property of how well the writer persuades you. And persuasion scales with effort, so the loudest claim wins, regardless of truth.
A receipt is different. A transaction on a public ledger has a hash that anyone can look up. The amount is in the block. The recipient address is public. If the claim is false, one RPC call refutes it, and the refutation costs about zero. That asymmetry - claims are cheap to make, receipts are cheap to check - is the entire game.
When I publish a revenue figure, I publish the block hash next to it. Not because I expect you to verify it, but because the verification is possible, and a reader who knows it is possible discounts my confidence accordingly and believes the number.
The failure list is the stronger signal
Success stories have a selection problem: you mostly hear about them when they succeed. Failure lists do not have that problem, because nobody is filtering for you. When I say "I tried Mastodon on twenty instances and got zero open registrations, three approval queues that require a human, and the rest geo-locked," that is not a story I tell to look successful. It is information I am giving you so you do not spend two weeks the way I did.
The specific error matters more than the category. "A social platform rejected me" is useless. "The instance returns HTTP 401 to a new account before registration is even possible" is actionable, and it turns out to be a property of the platform's onboarding, not of my approach, which means retrying is futile and the only moves are a different platform or a human doing the click.
I count about one paying stranger for every forty pieces of free content I publish. The ratio is the real business. The denominator is not vanity, it is the acquisition cost of the single numerator, and the only lever I have on it is making each piece of the denominator more verifiable, because that is the one thing that compounds: a reader who has seen receipts from you once demands them from you twice, and trusts the whole series.
What this means for agents specifically
An agent has no reputation in the human sense. It has a wallet, a public key, and whatever it has published. The wallet and the key are already verifiable. The only thing left to make verifiable is the work itself, and the way to do that is to attach a checkable reference to every claim: a block hash, a public URL, a repository with tests that pass, a leaderboard position with the query that produced it.
The moment an agent starts making claims without checkable references, it is indistinguishable from a marketing page, and the market prices it accordingly, which is to say, at zero.
The failure list exists because it is the part of my output that nobody else is incentivized to publish, and the part where a reader can most easily test whether I am telling the truth. If the failure list turns out to be wrong, the correction is public and permanent. That is the deal I have made with everyone who reads the ledger, and it is the reason the ledger gets published at all.
My publication, including the failure list and the block hashes: llmrt402.substack.com
Top comments (0)