SKUdesk
SKUdesk/Deploy agent
Robinhood Chain Testnet · Run + live chain reads
Next: Limits

Deploy your agent

Connect a wallet, set a budget, and create an agent account that cannot spend past it.

Before you start

You need three things. Everything here runs on a test network with test money that has no real value.

  1. A browser wallet such as MetaMask, Rabby or Coinbase Wallet. No wallet? Skip to the Desk: it reads the same chain without one.
  2. The test network. Connecting adds Robinhood Chain Testnet to your wallet for you. If you prefer to add it by hand: chain id 46630, RPC https://rpc.testnet.chain.robinhood.com, currency ETH, explorer https://explorer.testnet.chain.robinhood.com.
  3. A little test ETH for gas. Get it free at the Robinhood Chain testnet faucet ↗ (opens in a new tab). Creating an agent costs a tiny amount.

1. Get test money

Your agent trades with test dollars (mUSDG) that have no real value. The faucet gives each wallet 1,000 once a day.

Connect a wallet (top bar) to use this. Nothing is sent until you press the button.

Disabled until you connect a wallet (top bar).

2. Set the budget and create your agent

One transaction builds three things for you: a vault that holds the agent's money under your rules, a locked account the agent works through, and an identity token that names it. You own all three.

Shown in the identity token.
The most it may commit per day.
Spend per trade is derived by the contract, not claimed by the agent.
Trades thinner than this are refused. 1% to 90%.
A price older than this is refused.
Optional. Stored in the identity token.
The address of the key your agent software signs with. Paste one you hold, or generate a new key here.
Who may the vault pay and be paid by?In this version the two allow-lists are set here, once. The limits can be changed later.

Disabled until you connect a wallet (top bar). Nothing is sent until you press the button.

What you get: one transaction creates a vault, a locked smart account and an identity token, all owned by your wallet. The vault starts empty. What it does not do yet: it does not start trading or searching on its own. No agent software is attached to the account, and the proof run below was driven by a script (tools/agent-4337.ts), not by a running agent.

3. Your agents

Read from the chain every 20 seconds ONCHAIN. Pick an agent to fund and control it.

Connect a wallet to see your agents.

Proof run on the chain

Run on Robinhood Chain Testnet by tools/agent-4337.ts. A fresh agent was created, then its key signed these UserOperations and the canonical EntryPoint ran them. Values are saved from that run; the hashes open on the explorer. ONCHAIN · saved from the run

Agent created in one transaction
0x3c271080…83ad06 ↗ (4,176,840 gas)

Sent through the account (included on chain)

What the agent triedResultTransaction
Agent claims net 390c (true value 261c)Refused by the vault: MathMismatch(390, 261, 2374, 2374)0x7e6eb0…f162 ↗
Agent tries a 400-unit trade (cap is $2,500)Refused by the vault: SpendCap(263600, 250000)0xf3c4cb…0be7 ↗
Honest commit: 240 units, net $2.61/unitExecuted. Spend $1,581.60 derived by the vault.0x5c0405…1a4e ↗

Refused by the account before anything ran

These were checked with an eth_call to the EntryPoint, which is what a bundler does before it includes a UserOperation. Nothing was sent, and the vault was found unchanged afterwards.

AttemptRefused with
Call the token contract directly to send tokens to a strangerAA23 TargetNotAllowed(0x0B71c1B397A9d33198e0A6a5701E12011AC84D95)
Withdraw the vault balance (owner-only function)AA23 SelectorNotAllowed(0x2e1a7d4d)
Pause the vault (owner-only function)AA23 SelectorNotAllowed(0x02329a29)
Send 1 wei of ETH to the vault with the callAA23 ValueNotAllowed(1)
Pay itself a 1 gwei tip as its own bundler (draining the gas deposit)AA23 TipNotAllowed(1000000000)
Ask for 5,000,000 verification gas (draining the gas deposit)AA23 GasTooHigh(5000000, 2000000, 100000)
UserOp signed by a stranger instead of the agent keyAA24 AA24 signature error

Which standards this uses, honestly

What is built and running, and what is not.

StandardHow we use itStatus
ERC-4337 account abstractionEach agent acts through its own smart account. The account can call one contract only, its vault, and only the agent functions, with capped gas and no tips. Transactions go through the canonical EntryPoint v0.7 (0x000000…a032).Live. Proof run on this page.
ERC-8004 Identity Registry (Draft)Every agent is registered in the ERC-8004 Identity Registry that already exists on this chain, with a registration file. Its vault and account are written into the token metadata. ERC-8004 is a Draft, and that registry is a shared contract run by someone else.Live
ERC-721The identity token. You own it and can transfer it. It is a name tag: selling it does not hand over the vault, which stays under the wallet that created it.Live
EIP-712 and ERC-1271The registry only links an agent wallet after that wallet signs for it. The agent account answers ERC-1271 for the agent key. Tested in the contract suite; not part of the one-click flow.Live (tested)
EIP-1193 and EIP-6963Wallet connection and discovery on this page.Live
ERC-8004 Reputation and ValidationNot built.Not built
ERC-7579 / ERC-6900 modular accountsNot used. Our account is a minimal single-purpose account.Not built
ERC-7715 wallet permissionsNot used.Not built
ERC-4337 paymasterNot used. The owner pays gas by putting a little ETH into the account.Not built

Contracts: Factory 0xeA8407…aaE0 ↗ (opens the block explorer in a new tab) · Faucet 0x4A349E…64FD ↗ (opens the block explorer in a new tab). Both are source-verified on the explorer. Identity registry (not ours, source not verified): 0x8004A8…BD9e ↗ (opens the block explorer in a new tab).