Bound agent spending on Robinhood Chain.
Create one USDG control, pair one agent workspace, and fund one self-custodial AllowanceVault. Your operator key stays in MetaMask or Rabby; the agent receives only its own bounded EVM authority.
- Network
- Robinhood Chain · 4663
- Asset
- Canonical USDG
- CLI
- stipend-cli@0.1.0
- Updated
- August 13, 2026
First bounded payment
- CreateSign in and define recipient, amount, frequency, budget, and expiry.
- PairRun the single-use command shown by the app in your agent workspace.
- FundCreate the vault and deposit canonical USDG from the operator wallet.
- VerifyRun a payment, then confirm its policy decision and settlement evidence in Activity.
Create and pair
A control is the operating boundary assigned to one agent connection. Set its total USDG budget, per-payment maximum, frequency, expiry, and up to eight complete 0x recipient addresses.
Maximum spend available to allowed payment attempts.
Maximum amount accepted for one request.
Exact 0x addresses enforced by the policy layer and vault.
How often the agent may pay and when all new authority ends.
Install and pair the CLI
Install the versioned package directly from the Stipend domain. The npm command is only the installer; no Stipend npm registry account or package page is involved.
npm install --global https://stipend.cloud/downloads/stipend-cli-0.1.0.tgzstipend connect STP-XXXXX-XXXXXThe code expires in ten minutes and works once. Pairing creates .stipend/connection.json for the connection’s restricted API credential and .stipend/session-key.json for the local EVM key. Both files contain credentials and must stay out of Git.
The release has no author, repository-owner, or publisher-account metadata. Its SHA-256 checksum is published beside it at stipend-cli-0.1.0.tgz.sha256.
Create and fund the vault
After pairing, choose Create and fund vault. MetaMask or Rabby switches to Robinhood Chain and confirms the AllowanceVault deployment and USDG funding.
Robinhood Chain · chain ID 4663
Canonical USDG · 0x5fc5360D0400a0Fd4f2af552ADD042D716F1d168
The 0x public key generated inside the paired workspace.
The operator can pause, revoke, rotate, and withdraw remaining vault funds.
Observe decisions and settlements
The activity ledger distinguishes a payment attempt, its decision, and the onchain settlement. An allowed decision is not presented as confirmed until Stipend rereads the EVM transaction and verifies the vault, agent, token, amount, and recipient.
Operate or end authority
Stops the vault and pauses the policy layer.
Restores the current agent’s remaining authority.
Replaces the old workspace key with the newly paired EVM key.
Permanently removes agent authority; the operator can withdraw remaining USDG.
CLI reference
| Command | Purpose |
|---|---|
connect <code> | Create and pair a local EVM session key. |
authorize --amount --recipient | Request a policy decision without settlement. |
pay --amount --recipient | Authorize, submit a Robinhood Chain payment, and report evidence. |
status | Read the active control and remaining budget. |
activity | Read recent decisions. |
doctor | Check workspace and server connectivity. |
disconnect | Remove local Stipend credentials. |
HTTP API
| Route | Authentication | Use |
|---|---|---|
POST /api/auth/wallet/challenge | Same origin | Create a five-minute EVM signing challenge. |
POST /api/auth/wallet/verify | Signed challenge | Issue an HTTP-only operator session. |
POST /api/controls/:id/attempts | Connection bearer | Evaluate and reserve one attempt. |
POST /api/controls/:id/settlements | Connection bearer | Record and reconcile an EVM transaction hash. |
Operator mutations require a same-origin browser request. Agent routes accept only the scoped token issued during pairing.
Decision codes
| Code | Meaning |
|---|---|
ALLOWED | Every control rule passed. |
INVALID_AMOUNT | The amount is missing, invalid, or non-positive. |
CONTROL_PAUSED | The operator paused the control. |
CONTROL_EXPIRED | The control has passed its expiry. |
RECIPIENT_NOT_ALLOWED | The recipient is outside the exact allowlist. |
PER_PAYMENT_LIMIT_EXCEEDED | The request exceeds the single-payment maximum. |
BUDGET_EXCEEDED | The request exceeds remaining control budget. |
Security model
- Operator private keys remain in MetaMask or Rabby.
- The control plane stores public 0x addresses, hashed sessions, scoped connection tokens, decisions, and public transaction evidence.
- The workspace EVM key is stored locally with restrictive file permissions and is never returned by the server.
- The funded ERC-20 vault enforces the token, budget, recipient, cap, interval, expiry, and owner-controlled lifecycle onchain.
- Operators remain responsible for reviewing wallet requests and selecting trusted recipients.
Terms used here
- EVM
- The Ethereum-compatible execution environment used by Robinhood Chain.
- Canonical USDG
- The supported USDG token at the exact contract address listed above.
- AllowanceVault
- The operator-owned ERC-20 vault that enforces the agent’s onchain boundary.
- Connection credential
- A restricted API token issued to one paired workspace; it is not a wallet key.
Read the security policy before reporting a vulnerability.
Troubleshooting
Wallet is not detected
Unlock MetaMask or Rabby, allow the site, and reload. Disable conflicting injected-wallet extensions if necessary.
Signature was rejected
Request a new challenge and sign it with the same 0x address displayed in the app. Challenges expire after five minutes and work once.
Vault cannot be created
Confirm the operator wallet holds enough canonical USDG and Robinhood Chain ETH for fees.
Payment fails after an allowed decision
Check the local EVM key’s ETH balance, confirm the recipient is allowed by the vault, and review Activity for settlement evidence.
stipend doctorCompletion check
You are ready when the evidence agrees.
- The control is active and the vault is funded with canonical USDG.
- The agent receives an
ALLOWEDdecision for the intended amount and recipient. - Activity shows a confirmed settlement with its EVM transaction hash.
- Pause, revoke, rotate, and withdrawal controls remain available to the operator.