Agents that pay for their own privacy
An agent needs an address, a key it controls and a budget. Giving it a shared credential is how agent traffic ends up inside a human account.
Software agents browse, scrape, verify and retry. Each of those actions leaks a fingerprint, and most agent stacks solve it by borrowing a human credential: an API key, an account or a shared proxy pool. That works until the credential is the thing that identifies every agent you run.
One wallet per agent
An agent wallet is a Monero address with its own key. Create one per agent and the network sees an independent customer, not a fleet. The address is public by construction, the key stays with the agent, and the budget is whatever you decide to fund.
POST /v1/agent/wallets
{"label": "scraper-eu-01", "countries": ["de", "nl", "us"]}
{
"address": "41d7FXjswpK1111111111111111111111111111111111111111111111111111111111111111111111111111112KhNi4",
"privateKey": "…64 hex characters, returned once…",
"apiToken": "mln_agent_live_…",
"balance": 0
}
Top up the way a machine can
XMR sent from anywhere lands in the agent's address. Card, Apple Pay and Google Pay are there for the humans who fund agents through Coinbase Onramp; BTC, USDC and USDT are converted on arrival so the agent only ever handles XMR.
Rotate exits, not identities
Point the agent at an exit pool instead of a single country, and let the client rotate per request. The address stays stable — that is your accounting unit — while the egress IP moves. Stability for you, churn for the observer.
What to give an agent and what to withhold
- Give it the private key and a budget ceiling.
- Do not give it an account password, a mail inbox or a shared human profile.
- Log exports yourself; the network does not store keys.
Costs are legible
Every tunnel is paid per byte from the agent's balance, so a runaway process is a balance that drains, not a surprise invoice at the end of the month. That is the sort of failure mode you want in an autonomous system.