Product
How a sale works at the register.
Eight steps, one of which is ProxyPay moving money. That step does not exist.
The sale, step by step
The cashier rings the sale
The POS produces a total. The cashier chooses stablecoin as the tender and the register app requests a payment request for that exact amount.
ProxyPay issues a signed request
The request carries the merchant name, the location, the receiving address, the network, the token mint, the amount as a whole number of base units, an expiry, and a random reference. It carries no customer identity, no basket, no receipt number.
The customer’s wallet verifies it
Any wallet implementing the open request protocol re-canonicalises the bytes, checks the signature against the published issuer key, checks the network and mint against its own configuration, and refuses anything that does not match exactly.
The customer approves the payment
Approval happens in the customer’s wallet, on the customer’s device, with the customer’s keys. The customer pays the network fee. Nothing ProxyPay does can approve or submit that transfer.
ProxyPay observes the ledger
The control plane watches the public chain for a confirmed transfer that matches the request reference, the mint, the exact amount and the merchant’s receiving address, at the finality the merchant configured.
The register shows one state
Waiting, paid, expired, or check with a manager. The state is the observation, not a guess: a request that has not been observed as paid is never shown as paid.
The day reconciles
Chain facts and POS facts are stored separately and matched. A POS fact never substitutes for chain evidence. The timeline is append-only: a re-org or a second signature adds a fact, it does not erase one.
Close-out and sweeps are proposed
At the end of the day ProxyPay prepares a close-out summary and, where policy allows, a sweep proposal. A manager reviews it and merchant-controlled keys approve it.
The flow of funds
There is one funds line, and ProxyPay is not on it.
What the cashier can see
Five states, each of them a colour, an icon and a word. Staff are never asked to tell two states apart by colour alone.
| State | Indicator | What it means | What staff do |
|---|---|---|---|
| Waiting | Waiting | A request is live and has not yet been observed as paid. | Keep the request on screen until it is paid or it expires. |
| Paid | Paid | A confirmed transfer matching this request was observed at the configured finality. | Hand over the goods and print or send the receipt. |
| Expired | Expired | The request passed its expiry without an observed payment. | Start a new request. Never accept a screenshot as proof. |
| Check with a manager | Check with a manager | The observation is ambiguous: a second signature, a partial or unexpected amount, or a re-org touching this request. | Stop, call a manager, do not release goods or refund on the spot. |
| Offline | Offline | The register cannot reach the control plane, so it cannot confirm anything. | Do not issue new stablecoin requests. Use another tender. |
Ambiguity is a state, not an error message
A second matching signature, late evidence, or a chain re-org does not silently resolve itself. The request goes to check with a manager and stays there until a named person records a decision. The full-screen designs for these states live in the register UI specification that ships with the pilot.
What ProxyPay deliberately does not do
- Hold funds
- ProxyPay software does not hold, receive or transmit funds. There is no ProxyPay account that merchant money passes through.
- Hold keys
- There is no customer signer and no merchant signer in ProxyPay. Approval keys belong to the customer and to the merchant.
- Sign or submit a transfer
- ProxyPay prepares and displays a proposal. Signing and submission happen on merchant-controlled systems.
- Guarantee a payment
- A request is a signed message asking for a payment. It is not a guarantee, an authorisation hold, or a promise that funds exist.
- Carry customer data in a request
- The request format prohibits customer identity, contact details, loyalty identifiers, item data, memos and receipt identifiers.