Warda Protocol

The financial infrastructure for autonomous agents

Money,for machines.

Give AI agents money without giving them unlimited authority.

  • 01Fund an agent.
  • 02Set the rules.
  • 03Let it spend.
GRANT 1,650 KAS LEFT OF 2,000 You ONCE Inference API Data feed Another agent Its own payee Not on the list
One funding, then nothing else from you. The ring is the covenant — every payment leaves through it, and one will not.
Total it may ever spend
2,000 KAS~$100 at funding
Any single payment
100 KAS~$5
Who it may pay
4 addressesfixed at creation
Per hour
400 KASa bad hour is not a bad day
Ends
in 30 daysor the moment you say stop

These are not settings. They are conditions on the money, checked by every node on the network.

What using it looks like

Seven seconds to a bounded agent.Nothing synced, no node, no key we ever see.

# the command — this is all the walkthrough below needs npm install -g @warda_protocol/cli # or the libraries, to build your own npm install @warda_protocol/kaspa @warda_protocol/x402 # or the whole repo, to read it and run the tools directly (then: npx warda) git clone https://github.com/ArtyKOMarkets/warda && cd warda && npm install
BASH
$ warda key --out wallet.key
  address  kaspatest:qr7z53sv56te4ya8r378y2xwcrj3vqr3p5gzl6kkx205v7anh6u0zefx77c4m
  fund it from the testnet-10 faucet, then list who the agent may pay

$ echo kaspatest:qq7xj0mpl0p46875mnkzhwatdy478pjkum745srhaey44l9jx566zefjaam3e > payees.txt
$ warda grant --key wallet.key --payees payees.txt --budget 10 --max-per-spend 1
  ✔ grant.json   10 KAS budget · 1 KAS per payment · 1 payee, fixed at creation
  ✔ agent.key    the agent's whole authority, and it is the line above

$ warda pay https://warda-demo-api.vercel.app/fact
  ✔ 0.04 KAS · 200 · fa7ad66b6b17…

$ warda pay https://somewhere-else.example/thing
  ✗ that address is not on this grant's allowlist. There is nothing to sign.

Or give the agent the tools directly. This is the whole configuration — claude_desktop_config.json for Claude Desktop, .cursor/mcp.json for Cursor:

JSON
{
  "mcpServers": {
    "warda": {
      "command": "npx",
      "args": ["-y", "@warda_protocol/mcp"]
    }
  }
}

Restart the client and the agent has eleven tools — among them what may I spend right now, and would this payment be accepted, and if not, which limit stopped it. The server never holds a key and enforces nothing: it builds unsigned transactions and explains verdicts. The covenant is what refuses.

What actually happens

Your money goes in.The rules go in with it.

Four steps, and only one of them involves you. The example is a $100 budget, because that is how anybody thinks about one — watch what it becomes.

Step one · youFund it with what you hold

$100 of USDC sold wherever you already trade

→ 2,000 KAS at $0.05 per KAS, your trade and your rate

Warda never touches the asset, never quotes the price, and never holds the float.

Step two · wardaThe rules go into the coin
Budget — 2,000 KAS (~$100)
Max per payment — 100 KAS (~$5)

the thin one is the 100 KAS per-payment cap, to the same scale — 1/20th of the budget

Plus the addresses it may pay, a rate limit, and an end date. Written into the script that unlocks the coin — not into a settings page.

Step three · the agent“I need to buy this API.”
60 KAS (~$3)

Inside the limits · settled, nobody asked

bars drawn against the 100 KAS cap, not the budget

Step four · kaspaAnd when it asks for too much
400 KAS (~$20)

Over the cap · there is no valid transaction to sign

The dollar figures are what you priced it at. The KAS figures are what the network compares — a covenant cannot enforce a dollar, because the chain has no idea what one is. Why the conversion sits at the edge →

The difference

Your agent gets a budget.Not your wallet.

Hand a program a private key and you have handed it everything that key can reach, for as long as it holds it. Every safeguard after that is something your code is supposed to remember to do.

Warda gives it a different thing: an address whose own unlocking rules carry the limits. The agent holds a key that can only ever move money inside them. Nothing has to behave well for that to be true — not your code, not your prompt, not whoever ends up with the key.

What it is for

Agents can finally transacton their own.

Buy

Buy APIs

Agents pay for inference, data, compute and other services the moment they need them, without a card on file or a human in the loop.

Delegate

Hire agents

One agent can give another a bounded budget out of its own — smaller, shorter, and never larger than what it holds.

Scale

Run fleets

Every worker gets its own spending authority, so one of them going wrong costs exactly one of them’s budget.

Sleep

Operate unattended

Payments carry on while nobody is watching, because the thing enforcing them is not watching either. It is the network.

The funding problem, solved

You don’t need to hold KAS.

Almost everybody building agents holds stablecoins, and almost nobody is going to acquire a new asset in order to give a program a budget. So the conversion happens once, at the edge of the relationship — you sell what you hold wherever it already has a market, and Warda turns the proceeds into spending authority.

Once, not per payment. A round trip on every $3 purchase would cost more than the purchase; once per funding it amortises across hundreds of them — and it keeps the one property that makes any of this worth doing, which is that the recipient of each payment is fixed by the network rather than by anybody’s good behaviour.

Why this has to exist

The agent economy needsfinancial infrastructure.

Where it runs

Built on Kaspa.Designed for autonomous money.

Kaspa settles in about a second and its scripts can put conditions on a coin rather than on a wallet. That is the one property this needs and the reason the limits are enforced by every node on the network instead of by us. There is nothing here to trust: the same rules run whether or not this project still exists.

Live on testnet-10 Ten agents, each with a reading you can check A growth team of agents that runs itself every week 8 packages on npm Unaudited — no real money yet

Contact

Talk to us.One person reads every message, usually the same day.