Agent Wallet
Each agent gets a Rialo payment identity, with transaction signing isolated behind a hardened signer boundary.
Rialo · Agent Payments + Task Marketplace · Testnet
Give autonomous software a wallet, define how it can pay, and let Rialo settle the transaction on-chain. Post work in the task marketplace, review the evidence, then pay — or reject without moving a single token.
01 · The Premise
Agents already browse, negotiate, buy compute and call APIs. What they could not do was settle — hold a real wallet and move real value under rules their operator controls. AgentPay closes that gap: an identity-bound wallet, programmable payment policy, and on-chain settlement on Rialo.
Each agent gets a Rialo payment identity, with transaction signing isolated behind a hardened signer boundary.
Payments are defined as rules: who may be paid, how much, under what condition. The policy, not a human, sits between the agent and the chain.
Approved payments settle through the Rialo network — final, signed transactions, not ledger entries inside a closed system.
Every settlement returns a real transaction signature. Activity is provable against the chain — auditable by anyone, trustable by machines.
02 · How It Works
The operator configures once. After that, the agent acts and Rialo settles — without a human in the transaction path.
Authenticate the agent's owner with GitHub and open its AgentPay session.
GitHub OAuth → SessionCreate the agent and fund its wallet. Agent wallets are operator-funded — no faucet for them.
Wallet · FundSet the payment policy: recipients, amounts, conditions the agent must satisfy.
Policy rulesThe agent triggers a payment when its condition is met — autonomously, via API.
POST /api/agents/triggers/paymentsRialo finalizes the transaction on-chain and returns the signature as proof.
Signature · Receipt03 · Task Marketplace
The marketplace closes the loop between a human who needs work and a worker who can do it. The owner posts a reward, the worker claims and submits evidence, and the owner releases payment on-chain only after reviewing it. Reject the work and no payment is made.
Set the brief, the acceptance criteria, the reward in RLO, and the agent that will pay on approval.
reward reservedA different account claims the open task and chooses the Rialo payout address the owner will see before approving.
one worker at a timeAdd notes and attach deliverables — text, PDF, images, archives, or any other browser-readable file type. Only the two parties can read them.
text + any fileApprove to release the reward on-chain and return the transaction signature. Reject to close the task with no transfer and no payout.
payment follows approval04 · Architecture
Everything on this page is pinned to the system as it ships today: the real flow from GitHub identity to on-chain settlement, the core route groups behind each page, and every page it actually serves. No placeholders, no simulated data.
| GET | /auth/github Start the GitHub OAuth flow. |
|---|---|
| GET | /auth/github/callback OAuth callback; CSRF state verified. |
| POST | /auth/logout Clear session + cookie. |
| POST | /auth/wallet-recover Explicit recovery for a missing-key wallet with zero balance; never a silent replacement. |
| GET | /api/me Session, wallet address, balance with explicit status. |
| POST | /api/faucet Request a 1 RLO Testnet airdrop to the session wallet. |
| POST | /api/payment Direct transfer: validates recipient/amount, returns the real signature. |
| GET | /api/program/status Venus program readiness snapshot; submits no transaction. |
| POST | /api/payment/program/* Program-mediated payments — disabled until an operator sets an explicit cap. |
| GET | /api/health AgentPay + Rialo RPC probe. |
| GET·POST | /api/agents List own agents / create a draft agent with its own isolated signing identity. |
| GET·PATCH·DELETE | /api/agents/{id} Read one own agent, rename, or delete a draft. Missing and foreign both answer not-found. |
| GET | /api/agents/{id}/balance Real chain balance — ok / unavailable / no_wallet, never a fake zero. |
| PATCH | /api/agents/{id}/status Lifecycle transitions under a strict server-side state machine. |
| GET·PATCH | /api/agents/{id}/policy Versioned payment policy: limits + recipient/action allow-lists. |
| POST | /api/agents/{id}/payments Explicit payment from the agent's isolated signing identity, full gate chain. |
| POST | /api/tasks Create a task with its reward, acceptance criteria, and paying agent. GET /api/tasks/open is the public board. |
| GET | /api/tasks/{id} Task detail for the owner or the assigned worker; anonymous access is not found. |
| POST | /api/tasks/{id}/claim · /submit · /review · /cancel Role-gated lifecycle: claim with a payout address, submit notes + any file type, approve/reject as owner, cancel when allowed. |
| POST | /api/tasks/{id}/payout/reconcile Read-only recovery of a committed payout verdict; never transfers twice. |
| POST | /api/agents/triggers/payments Credential lane: X-Agent-Credential authenticates the agent principal. |
| POST | /api/agents/{id}/payments/reconcile Read-only reconciliation of unknown outcomes (owner lane). |
| POST | /api/agents/triggers/payments/reconcile Credential-lane reconciliation — deterministic evidence only. |
| GET | /api/agents/leaderboard Confirmed-volume ranking; ordering owned by the server. |
| GET | /api/agents/stats Owner statistics — single read, zero query parameters. |
| GET | /api/agents/{id}/stats Single-agent statistics — owner-scoped single read. |
| GET | /api/agents/{id}/activity Per-agent replay ledger, paginated, server-ordered. |
| GET | /api/agents/triggers/payments/activity Credential lane: read its own agent's ledger. |
| GET | /api/public/agents/{id}/proofs Per-agent public proofs — no session, no credentials. |
| GET | /api/public/verify Public signature verification against the chain — sessionless. |
| GET | /api/agents/triggers/payments/stats Credential-lane statistics — owner- and parameter-free. |
| GET | /api/schema Public schema view — credential storage format definition. |
| GET | /auth/dev-login Local development only; mounted when DEV_LOGIN_USER_ID is set. |
Pages this system ships — each one real and reachable
Your balance from the live RPC, your wallet address, the Testnet faucet, and the direct payment form — the signature returns right here on the page.
Live account, network, and program state in one place — block height, RPC probe, and the Venus program readiness snapshot with its safety-cap state.
The owner-scoped registry: create agents, move their lifecycle, read their real chain balances, and edit their payment policy — all against the API above.
The per-agent replay ledger — every payment intent with its state, in the server's deterministic order, with state, principal, recipient, amount, and time filters.
Your agents ranked by confirmed payment volume — the order is owned by the server and never re-ranked client-side. Empty until real confirmed payments exist.
Public, sessionless proof: paste any Testnet transaction signature and the chain answers with its on-chain record, no_status, or a typed error. Nothing inferred.
The two-sided task board: post a rewarded task, claim it as a different account, submit notes and file evidence, then approve and pay on-chain — or reject with no payment.
Honest state Every page above is shipped in this frontend, and the route groups above are registered in the server today. Task, agent, policy, and activity records are read from the production Postgres store; wallet keys remain server-side and are never sent to the browser.
05 · Live Network
Every value below is fetched from the AgentPay backend and its Rialo RPC probe. When a source is unreachable, the field shows — NOT AVAILABLE instead of a plausible number. This is the product rule, not a loading state.
06 · Leaderboard
No Verified Agent Activity Yet
This public page shows no rankings by design: the live leaderboard is owner-scoped — after GitHub login each account sees only its own agents, ranked server-side by confirmed payment volume. There is no global public board, so this section stays empty rather than showing invented rankings.
07 · Recent Activity
| Time | Signature | From | To | Amount (RLO) | Status |
|---|---|---|---|---|---|
|
NO VERIFIED ACTIVITY YET This public section would be a global settlement feed — one that does not exist. The live ledger is per-agent and owner-scoped (/activity.html after login). No sample hashes, no simulated rows — payments you make return their signature directly as proof. |
|||||
Global feed: not implemented · per-agent ledger live at /activity.html (owner-scoped)
08 · Why Rialo
Not a claim of superiority — a description of the properties AgentPay actually relies on today.
Transfers confirm in seconds on the Rialo network AgentPay runs against, keeping agent workflows synchronous: request → settle → continue.
Rialo hosts Venus on-chain programs. AgentPay already ships a deployed Venus escrow program and its readiness probe — that specific PDA-escrow path is gated behind an explicit operator cap. Agent policy-controlled payments are live via the hardened signer path.
Value moves through real signed transactions against persistent keypairs — not internal ledger rows that only the platform can see.
Every payment returns its transaction signature, and network state is exposed through read-only probes — this page itself consumes them.
09 · Use Cases
Product directions AgentPay is designed for. These are intended use cases, not claims of current adoption volume.
An agent that pays per result — unlocking datasets, unlocking a scraped document, or settling a micro-fee for a research API — and only continues when the source actually responds.
Software that runs a business loop unattended: it uses its funded payment identity to pay for what it consumes, bounded by the policy its operator defined.
Machine-to-machine coordination: a paying agent settles with any Rialo recipient per completed task. The recipient can verify the settlement on-chain via the transaction signature.
Funds that follow rules instead of approvals: distribution schedules, spending caps, and recipient allowlists enforced at the policy layer before any transaction is submitted.
Metered machine services — GPU time, inference, data streams — paid per call with on-chain proof of what was spent, replacing subscription keys and monthly invoices.
10 · FAQ
POST /api/payment validates the
recipient and amount, pre-checks the balance, signs the transaction
from your wallet, and returns the real transaction signature.
Agent payments use a dedicated lane: POST /api/agents/triggers/payments
enables autonomous credential-authenticated payments, while
POST /api/agents/{id}/payments allows owner-initiated transfers. Both
route through the hardened signer and produce signed on-chain transfers.
A deployed Venus payment program exists for program-mediated settlement;
that path stays disabled until an operator explicitly enables it with a spending cap.
11 · Start
Log in with GitHub, get a wallet, fund it from the faucet, and let your agent settle its first real payment on Rialo.