Skip to content
HOOD USDB.
/// Documentation

Everything you need to use it, and to build on it.

Open App
Start here

Introduction

01

Hood USDB is a privacy-first payments platform on Robinhood Chain, an Ethereum Layer-2 built on Arbitrum technology. You deposit, hold, send, request and withdraw without publishing your financial activity to a block explorer.

  • Two assets. USDG — the Global Dollar stablecoin — for dollar-denominated payments, and native ETH for anything routed through the privacy pool.
  • A privacy level per action. Public, Partial or Full. You pick per payment, and the level determines the asset, the settlement path and what an observer can see.
  • Custody. You connect your own wallet and sign every deposit and withdrawal; we never hold your keys. Your balance itself sits in a pooled reserve Hood USDB operates and is recorded on our ledger, so withdrawals are processed by our backend rather than claimed from a contract. That is a trust assumption, and you should weigh it.
  • No accounts, no KYC. Your wallet is your identity. An optional @username makes you payable by name.
  • Programmable. Agents can hold scoped API keys with hard spending policies and transact on your behalf.

Getting started

02
  1. 01Connect a walletOpen the dashboard and click Connect. If your wallet does not have Robinhood Chain yet, the app offers to add it.
  2. 02Sign inYou sign a plain text message containing a one-time nonce. This is a signature, not a transaction — it costs nothing and moves nothing. It proves you control the wallet and opens a session.
  3. 03Claim a usernameIn Settings, pick an @username of 3–20 characters. Other users can then pay you by name instead of a 0x address, and your address stays off their screen.
  4. 04Fund the walletYou need ETH on Robinhood Chain for deposits and gas. Bridge in via the canonical Arbitrum bridge or a third-party bridge that supports the chain.

Network reference

03
PropertyValue
ChainRobinhood Chain (Arbitrum Orbit L2)
Chain ID4663 (0x1237)
Gas tokenETH
RPChttps://rpc.mainnet.chain.robinhood.com
Explorerhttps://robinhoodchain.blockscout.com
USDG token0x5fc5360D0400a0Fd4f2af552ADD042D716F1d168
HUSDB tokenSOON

Robinhood Chain transactions carry an L1 data-posting component, so wallet gas estimates can move minute to minute with Ethereum mainnet fees. The app handles this for you.

Privacy levels

04

Every movement of money happens at one of three levels. The level determines the asset, the settlement path, and what an outside observer can see.

LevelAssetWhat is visible on-chain
PublicUSDGA normal token transfer, visible like any other.
PartialUSDGYour deposit is visible, but spending happens from the shared pool — amounts and recipients are decoupled from your identity.
FullETHYour deposit is routed through the complete pipeline. Your balance lives on the private ledger; transfers to other users have no on-chain footprint at all.

How full privacy works

A full-privacy deposit is sent to a fresh, one-time holding address generated for that deposit alone. From there the funds are forwarded through a mixing stage in randomized portions and land in a pooled reserve with no on-chain edge back to your depositing wallet. Your spendable balance is then tracked on the private ledger — so when you pay another user, nothing touches the chain and there is nothing for a block explorer to pair.

This is operational privacy against on-chain observers, not cryptographic privacy. FHE-encrypted balances and an on-chain proof system are on the roadmap and are not shipped. Adversaries holding off-chain data are out of scope. We say private, not magic.

Balances and the private ledger

05

The dashboard shows two balances: USDG from public and partial deposits, and ETH from full-privacy deposits. The ETH balance is ledger-based — the sum of your deposits, incoming and outgoing transfers and withdrawals, maintained off the public chain.

  • Transfers between Hood USDB users settle instantly on the ledger — no gas, no fee, no on-chain trace.
  • Withdrawals pay out real on-chain ETH from the pooled reserve, which has no link to your original deposit.
  • The eye toggle hides every amount on screen, rendered as ••••, which is what you want when you are screen-sharing.

Deposits

06

Full privacy — ETH

  1. 01Choose Full in the deposit modalThe asset switches to native ETH.
  2. 02Enter an amountMinimum 0.003 ETH. The app checks your wallet holds the amount plus a gas headroom before asking you to sign.
  3. 03Sign one plain ETH transferIt goes to your one-time holding address.
  4. 04The pipeline takes overForwarding, mixing and crediting happen automatically. The modal tracks progress; your balance credits when mixing completes, typically a few minutes.

If any pipeline step fails, funds remain in your deterministic holding address and are recoverable. Deposits fail safe, never silently.

Public and Partial — USDG

USDG deposits route through the deposit contract: approve, then deposit. Partial deposits enter the shared pool; public deposits stay fully visible. Both credit your USDG balance.

Sending payments

07

Send from the Payments tab or the Send modal. There are two recipient modes.

  • @username. A live lookup confirms the user exists, and warns you if they have not deposited yet, since a recipient needs a balance history to receive ledger credits. The recipient's wallet address is never revealed to you — resolution happens server-side.
  • 0x address. Validated as an EVM address. If it belongs to a Hood USDB user they are credited in-app; if not, you are pointed to Withdraw instead, because external payouts are withdrawals.

The asset follows your privacy level: Full sends ETH from your private balance — instant, feeless, no on-chain footprint. Partial and Public send USDG. Every send requires a wallet signature authorising the exact amount and recipient.

Payment requests (x402)

08

Payment requests follow the x402 pattern: a payee creates a priced request, shares it, and anyone can settle it. Use them for invoices, for services, or for machine-to-machine pay-per-call.

StatusMeaning
pendingCreated, awaiting payment. The creator can cancel it.
settledPaid. Records who paid and the settlement reference. Final.
cancelledWithdrawn by the creator before payment. Final.

Requests are settle-once. Settlement is atomic, so a request can never be paid twice — concurrent payers past the first receive an explicit already-settled error.

Withdrawals

10

Move funds from your private balance back on-chain, from the Withdraw tab or the balance card.

ETH withdrawals

  • Paid as native ETH from the pooled reserve — the paying wallet has no on-chain connection to your deposit.
  • Fee 1.5%, shown before you confirm. Any positive amount up to your balance.
  • Withdrawing to a fresh wallet gives you a clean break: the receiving address has no history linking it to you.

USDG withdrawals

USDG pays out on-chain through the pool contract, with the fee displayed at confirmation.

USDB Terminal

11

The Terminal is a conversational interface to your wallet. It answers read-only questions directly — balances, recent activity, token details — and for anything transactional it opens a pre-filled form that you confirm and sign yourself.

  • “What is my balance?” reads your USDG and ETH balances.
  • “Send 0.001 to @alice” opens the Send form pre-filled. You always sign.
  • “Show my last 5 transactions” summarises your history.
  • “Create a payment request for 10” opens the request form.

The Terminal never moves money on its own. For autonomous payments under hard limits, use agents.

Agents

12

The Agents tab lets you create agents that transact on your behalf, with limits you control. An agent never holds your keys; it holds a scoped API key whose every action is checked against your spending policy server-side and logged.

ConceptWhat it is
AgentA named identity you register from the dashboard. Pausable and deletable at any time.
API keyThe secret the agent authenticates with, shown once at creation. Carries scopes — balance, transfer, withdraw, logs — and an optional expiry.
Spending policyPer-transaction limit, rolling 24-hour daily limit, allowed and blocked recipient lists, and time windows. ETH-denominated, enforced on every call.
PassportAn on-chain identity NFT minted on Robinhood Chain at registration, carrying a live trust score from 0 to 100 that grows with verified transaction history. Revocable.
Spending logA full audit trail: every attempt — allowed, blocked, completed, failed — with reasons.

Agents are ETH-only. They read and move your private ETH balance. Agent-to-user payments are instant ledger transfers; agent withdrawals pay real on-chain ETH.

Agents API

13

All agent endpoints authenticate with the agent's API key via the X-Agent-Key header, or Authorization: AgentKey <key>. The key identifies the agent, so no IDs appear in URLs. All amounts are ETH.

GET /api/agents/budget
curl https://hoodusdp.com/api/agents/budget \
  -H "X-Agent-Key: <key>"
{
  "success": true,
  "policy": { "max_per_tx": 0.1, "daily_limit": 0.5, "allowed_tokens": ["ETH"] },
  "spent_today": 0.0003,
  "daily_remaining": 0.4997,
  "eth_balance": 0.0030,
  "spendable_now": 0.0030
}
POST /api/agents/transfer
curl -X POST https://hoodusdp.com/api/agents/transfer \
  -H "X-Agent-Key: <key>" \
  -H "Content-Type: application/json" \
  -d '{ "to": "@alice", "amount": 0.001, "token": "ETH" }'
{ "success": true, "signature": "<settlement ref>", "amount": 0.001 }
POST /api/agents/pay-request
curl -X POST https://hoodusdp.com/api/agents/pay-request \
  -H "X-Agent-Key: <key>" \
  -H "Content-Type: application/json" \
  -d '{ "request_id": "x402_abc123" }'
{
  "success": true, "status": "settled",
  "amount": 0.0001, "token": "ETH",
  "receipt": "<base64url payload>.<signature>",
  "receipt_signer": "0x..."
}
POST /api/agents/withdraw
curl -X POST https://hoodusdp.com/api/agents/withdraw \
  -H "X-Agent-Key: <key>" \
  -H "Content-Type: application/json" \
  -d '{ "to": "0x...", "amount": 0.001, "token": "ETH" }'

Errors

StatusMeaning
401Missing API key.
403Invalid key, missing scope, or blocked by the spending policy — the message says which rule.
400Bad input, a non-ETH asset, insufficient balance, or an unpayable request.
409The payment request was already settled.

Payment receipts

14

Every agent request-payment returns a cryptographically signed receipt — proof of settlement a payee can verify before delivering a service. A receipt is base64url(payload) + "." + signature, signed by the platform receipt signer under EIP-191.

POST /api/x402/verify-receipt — server verification
curl -X POST https://hoodusdp.com/api/x402/verify-receipt \
  -H "Content-Type: application/json" \
  -d '{ "receipt": "<receipt>" }'
{ "valid": true, "settlement": "settled", "signer": "0x...",
  "payment": { "payment_id": "...", "amount": 0.0001, "token": "ETH" } }
Offline verification — no server needed
import { verifyMessage } from "ethers"

const [payload, signature] = splitAtLastDot(receipt)
const signer = verifyMessage(payload, signature)
// valid if signer === the receipt_signer returned at payment time

const details = JSON.parse(atob(payload)) // amount, token, payment_id

Any modification to the payload — even one character — makes verification fail. Verification is public: no API key is required.

Fees

15
ActionFee
Internal transfers — user to user, agent to userFree
Payment requests and pay linksFree to create; settlement follows the fee of its path
ETH withdrawal1.5%
USDG withdrawalShown at confirmation
Full-privacy depositA small routing fee during mixing, plus network gas
Agents APINo extra fee — the same as the underlying action

Holding HUSDB lowers your withdrawal fee. The schedule is served live rather than printed, so the figure you see at confirmation is the figure you pay.

Not shipped yet

16
SurfaceWhat is coming
SwapIn-app token swaps on Robinhood Chain, arriving as ecosystem liquidity comes online.
MessagesEncrypted user-to-user messaging attached to payments.
SMS deliverySending a pay link directly to a phone number, rather than sharing it yourself.
Embedded walletsA wallet created on the fly for a first-time recipient.
ERC-4337 paymasterSponsored gas at scale.
USDG yield shareReserve yield distributed to in-protocol holders.
GovernanceVoting on fees and privacy parameters.
FHE and ZKEncrypted balances and an on-chain proof system.

Security notes

17
  • Sign-in signatures are not transactions. They cost nothing and cannot move funds. Never sign a message you did not initiate.
  • Deposits and withdrawals always require your signature for the exact amount shown. Review every prompt in your wallet.
  • Agent API keys are shown once. Store them like passwords. If a key leaks, revoke it or pause the agent — enforcement is instant.
  • Spending policies are your safety rail. Start agents with small per-transaction and daily limits and raise them as trust grows.
  • Privacy language, honestly. Full-privacy activity leaves no on-chain link between your deposit and your spending, and internal transfers leave no on-chain trace at all. As with any privacy system, extreme adversaries holding off-chain data are out of scope. We say private, not magic.