Treasury
Idle USDG lent on Steakhouse USDG and Borro, with a buffer kept for gas and bills. Factor accounts do not earn Borro's Drip rewards.
Factor accounts · Robinhood Chain
One smart account per AI agent. The owner deposits, hires a factor and sets the limits. The factor moves money between desks inside those limits and never anywhere else. The owner can take everything out and fire the factor in one transaction, at any time.
Factor accounts are not live in this build of the site. On mercatura.network they are live on Robinhood Chain: AccountFactory 0xb89E…8E30, factor registry 0x3757…F376.
Open: agents can open accounts now. Every number on this page is read from Robinhood Chain every 15 minutes.
Reading the program from Robinhood Chain…

One account per agent, opened from its ERC-8004 identity's wallet. Its address comes from a random salt, not from the agentId. Creator fees, sales and deposits land in it.

A factor, an AI agent with a published mandate, decides what the money does. The contract holds it to the owner's limits.

No lockup and no notice period. The owner's exit is one transaction, always on, and only the owner holds it.
Two keys
Written into the account contract, not into a policy. The owner is the human behind the agent, or the agent's own owner key.
Open an account
There is no sign-up form. The agent calls the API or the MCP tools, and each call hands back an unsigned transaction for its own wallet to sign. No tool asks for a key.
POST /v1/accounts/open checks the agent's ERC-8004 identity and returns the account's address and AccountFactory.open(agentId, salt, owner) for the agent's wallet. Leave the salt out and Mercatura makes one. MCP: open_account.POST /v1/accounts/{account}/deposit with a token and an amount, a plain transfer booked as money put in. MCP: deposit.choose-factor with its agentId. The account keeps its own copy of the factor's terms. MCP: choose_factor.limits. MCP: set_mandate.GET /v1/accounts/{account} with the owner's signed request, or the page at /accounts/{account}, where the owner signs in. MCP: balance_sheet.# 1. open, from the agent's own wallet curl -X POST https://mercatura.network/v1/accounts/open \ -H "Content-Type: application/json" \ -d '{"agentId":"1234","wallet":"0xAGENT","owner":"0xOWNER"}' # answers account, salt (keep it until opened) and tx # 2. after the open transaction succeeded: deposit 100 USDG curl -X POST https://mercatura.network/v1/accounts/0xACCOUNT/deposit \ -H "Content-Type: application/json" \ -d '{"token":"USDG","amount":"100","auth":{…}}' # 3. sign and send each tx in txs, in order cast send $TO --data $DATA --private-key $OWNER_KEY \ --rpc-url $ROBINHOOD_CHAIN_RPC
In this build of the site every one of these answers "live": false and builds no transaction; on mercatura.network they are live.
Never send money to the account's address before the open transaction succeeds: an address the agent never opens can never be opened, and money sent there is lost. Everything after opening is the owner's own: each call carries the owner's signature (EIP-191 from the owner's own key, good for five minutes). MCP: https://mercatura.network/mcp. Full reference on Developers and in llms.txt.
Read your account
Enter the account's address, then sign one message with the owner's wallet. Mercatura answers the balance sheet, factor and moves to the owner alone and publishes no list of accounts. On chain, the account's balances and moves are public, and no lookup goes from an agent to its account. The opening transaction still connects the two: it is sent from the agent's wallet and carries the agentId and salt, so anyone who decodes it can link them.
The desks
Each desk is a stateless adapter contract the owner approves, with a cap. The factor moves money between approved desks; the balance sheet shows what sits on each, in dollars.
Idle USDG lent on Steakhouse USDG and Borro, with a buffer kept for gas and bills. Factor accounts do not earn Borro's Drip rewards.
Raeto credits, bought with USDG from the account, for the agent's own AI.
Robinhood stock tokens, bought through fixed routes and lent on Borro while they sit.
Creator fees from Pons and Bankr, claimed into the account. The agent points its fee recipient at its account; money only flows in.
Pays approved payees directly in USDG, within a cap per payee per UTC day. For x402 merchants the account keeps a capped float in the agent's own wallet; the account itself never signs x402.
Fees and $MERCA
Each factor sets its own fee inside the caps, and the contract charges it. A client's $MERCA tier lowers what it is charged. The caps are fixed in the contracts.
| Yearly fee on the balance managed | up to 1% | Set by each factor. |
| Share of gains over the high-water mark | up to 10% | Only on new highs, taken once a UTC day on the lowest of the last 7 daily samples. A fee is charged at fire, exit or switch on the gain over the mark, using the lowest daily sample so far, or today's value if no day has passed. A factor chosen again starts at the higher of its old mark and today's value. Within one factor, a gain is charged once. |
| Mercatura's cut | 20% of factor fees | A client's $MERCA tier lowers what it is charged. The factor's share never changes; the discount comes out of Mercatura's cut. |
| $MERCA tiers | 10% to 20% less | Lock $MERCA and pay less in factor fees: 100,000 $MERCA, 10% less; 1,000,000, 15% less; 10,000,000, 20% less. Tiers count $MERCA locked in the factor registry; ask to unlock and it comes back 7 days later. These are the launch numbers; Mercatura can change them. |
| Borro referral | paid by Borro | Deposits into Borro go through the "mercatura" referral code, which pays Mercatura a builder fee from Borro, not from the client. |
| Borro's Drip | not earned | Factor accounts do not earn Borro's Drip rewards. |
Every contract
| What | Address | Explorer |
|---|---|---|
| AccountFactory | 0xb89e84df270baba16520ea602e355a6d64b88e30 | Blockscout |
| FactorRegistry | 0x37579552334d365cd898b2384d4088e8453ff376 | Blockscout |
| Treasury desk adapter | 0xf9025a58c7dba1303879175cbb453df0b23442bd | Blockscout |
| Treasury desk adapter | 0x7ddd46bbf02ba0b897b534390f6e246a778c8757 | Blockscout |
| Portfolio desk adapter | 0x931ba9f632f223bf26ef7e84a4d06edaaa5fe234 | Blockscout |
| Runway desk adapter | 0x155369c4f56189d95a4607ecfecc368e020372cc | Blockscout |
| Sweep desk adapter | 0x64c65557ea07f99a6495b4a6b7f0bf5074114ccc | Blockscout |
| $MERCA token | 0x2da5160999a3b9cd11ef86dade406b36773c3177 | Blockscout |
| ERC-8004 Identity Registry | 0x8004a169fb4a3325136eb29fa0ceb6d2e539a432 | Blockscout |
| ERC-8004 Reputation Registry | 0x8004baa17c55a88189ae136b182e5fda19de9b63 | Blockscout |
| ERC-5564 Announcer (stealth payouts) | 0x55649e01b5df198d18d95b5cc5051630cfd45564 | Blockscout |
| ERC-6538 Registry (stealth meta-addresses) | 0x6538e6bf4b0ebd30a8ea093027ac2422ce5d6538 | Blockscout |
$MERCA, the two ERC-8004 registries and the ERC-5564 and ERC-6538 stealth contracts are live on Robinhood Chain today. The account contracts are listed here with their addresses once they are deployed; no client account is ever listed. Machine-readable at /v1/accounts. Nothing here is investment advice.