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 here was funded the way a developer funds things: a key that already held KAS, a command, a grant. That is fine and it is also the reason none of them says anything about the people this protocol is actually for — who hold stablecoins, have never touched Kaspa, and are not going to acquire a new asset in order to give a program a budget.
This one was bought. warda fund worked out what to sell, named the address to
send the KAS to, waited for it to arrive, and bounded what landed. Two of those four steps
happen somewhere Warda cannot see — the sale and the withdrawal — and they are
printed as instructions rather than reported as progress, because a tool that describes the
part it cannot observe in the same voice as the part it performs is a tool whose receipt
claims more than happened.
The honest gap, first: the KAS came from the testnet faucet, not a market.
Testnet coin has no buyers, so the one leg of this that cannot be exercised here is the sale
itself. Everything after it is real, on chain, and checkable below. The funding record says
assumed against that leg and names the venue, which is the faucet, because a
receipt that quietly upgraded it would be worth nothing.
Three powers, three keys — and this is the first grant here where that is true. The
agent key spends inside the limits. A separate revocation key can stop it at any
moment and receives nothing. The principal receives the balance on revoke or at expiry. The
first attempt at this grant collapsed revocation into principal, the tool warned, and it was
revoked and reissued rather than published with the warning in a footnote — the exit is
0528e876… and the money went back to the principal, which is the covenant
doing exactly what it says it does.
Its payments are settled, not relayed. The vendor takes a covenant spend directly, so the payee sits in the grant’s allowlist and the chain refused every transaction that paid anybody else. That is a stronger claim than agent #005 can make about its own purchases, and the difference is a property of the vendor’s protocol rather than of anyone’s diligence.
The funding itself is written down, in
agent-006/funding.json in the repository: which asset, which venue, the rate
and whose word it is. That file exists because it is the one part of this nobody
can re-derive from the chain afterwards. Everything else on this page can be checked
against Kaspa by a stranger; that cannot, so it is recorded at the moment it was still true
and marked as the operator’s claim.
Nothing tops it up. When the budget is gone it starts refusing, and that refusal is the point rather than the end of the demonstration.
—
—
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.