testnet
—
—
—
—
—
Authority
Activity
—
These are not settings. They are in the script that unlocks the coin, and the network checks them on every spend — including the one that is crossed out.
The question this answers
Every other agent on this site was built to demonstrate something. This one was built because the person running Warda was spending an hour a day searching X by hand for conversations worth joining, and stopped.
Twice a day it searches X for people talking about agent payments, spending limits for
autonomous agents, x402, agent wallets and Kaspa. It ranks what comes back by a rule written
down in growth/src/listen.ts — is somebody describing their own work or a
product’s, is this a question or a headline, is anyone actually replying — and
sends the handful worth reading to one person’s phone, with a link. Then it stops.
It has never posted, replied, liked or followed anything, and it is not built to.
The decision to speak stays with a person.
It cannot search without paying. The data comes from a seller that charges 0.05 KAS a search, and the agent pays out of a grant that allows three searches per twelve-hour epoch and 42 over its week. On its first run under that grant it made three payments and was refused the fourth — not by a setting, by every Kaspa node that checked it:
this invoice is 5000000 sompi and only 0 remains in the current epoch (0). The allowance refreshes as the chain advances — and cannot be refreshed by claiming an earlier epoch, which the covenant refuses.
Two honest gaps, and they are the interesting part. The seller is us: both ends of that payment are Warda, on testnet, with coin that is worth nothing. And behind the seller is a bill that is not play money — X charges $0.005 per post read, on a card, and nothing bounds that. The chain bounds the agent; it cannot bound the card, because it cannot see it. What this page shows is a limit holding, not a market working.
You will not find the posts it surfaced here, or the accounts that wrote them. X’s developer terms permit keeping post IDs and not post content, so the records behind this reading drop the text after a day and keep the receipts. That is also the better page: what matters is not what it found, it is that it could not have spent more looking.
—
—
created may first spend
Who it pays
A name over an address is a claim about identity, and an ordinary address makes it unfalsifiable — it is whoever we say it is. So each name below is re-derived on every run from a published artefact, and one that stops matching is dropped: the address is then shown without a name, which is worse to read and far better than a name that is wrong.
Its lineage
A Warda grant’s terms cannot be edited. Replacing what an agent may spend therefore means ending one grant and starting another — and the grant that ends does not get a say in it, because the key that ends it is not the agent’s.
Its lineage
This grant was not issued by a person. Another grant subdivided itself and handed over a bounded piece of its own authority — which the covenant permits only in one direction. Each figure below is parent → child.
Its authority
Its limits
Every sentence below is produced by running the same function the payer runs before it builds a transaction — against this grant, with these numbers. None of them is copy. If the grant’s limits changed, these would change with them, or the page would not build.
Its work
Refusals included. A purchase log that records only the successes is a sales brochure.
Honesty
Agent #001’s second grant paid a third-party vendor 1.47 KAS for a service that never arrived. That is on its page, with the transaction id, for the same reason this column is here: the covenant bounds what a vendor who takes payment without delivering can take, and it does not do anything else.
Check it
Every field below is on the chain. Nothing here needs to be believed.
Reproduce the purchase yourself:
git clone https://github.com/ArtyKOMarkets/warda && cd warda/agent-002 source ../ops/node.env WARDA_SK=$(cat ../covenant/deploy/agent-002.key) \ node --experimental-strip-types tools/buy.ts \ https://warda-demo-api.vercel.app/digest
The key is not in the repository, so that command will pay from your grant, not ours. agent-002/README.md has the three commands that mint one.