Architecture of record · asset-neutral offers
- Stage
- Published design
- Terms
- Asset · fiat · rail per offer
- Network
- No mainnet deployment
Settle crypto for fiat. Released by proof.
PayMoney releases escrowed crypto when a supported bank rail reports that the required fiat payment is complete. PayMoney never holds the crypto or fiat.
No exchange-rate oracle, fiat custody, screenshot review, arbitrator, admin key, or manual release path sits between the bank fact and the crypto transition.
01 · Architectural thesis
A matching bank payment can release one private trade.
The vault enforces the shared rules. PayMoney adds one FiatOfferV1 rule for the offer, bank payment, and allowed actions. Each offer fixes its asset, fiat currency, and bank rail template.
- Fiat
ISO currency
Integer minor units
- Asset
FungibleV1
Selected per offer
- Price
Fixed
Chosen by maker
- Evidence
1 notary
Launch trust boundary
The settlement core uses Stwo circle-STARKs and hash-based account checks. The mailbox, launch notary, and bank TLS are classical boundaries, so the whole system is not post-quantum. See the exact boundary →
02 · One settlement
Every required fact is bound before value moves.
A payment cannot be used if it is unclear, late, unsupported, pending, reversed, or outside the allowed amount range. It never enters a manual review queue.
- 01
Post
The maker fixes the fungible asset and quantity, expected fiat in integer minor units, rail template, destination commitment, offer lifetime, fee, and launch notary key.
- 02
Claim
The taker consumes the open offer, creating one claimed offer and deriving its payment memo and absolute epoch anchor.
- 03
Preflight
Before showing payment instructions, the wallet checks the bank connection, rail template, notary, time remaining, and required balance.
- 04
Payment
The taker sends the committed fiat over the supported rail using the memo created by the claim. The Polish profile covers BLIK P2P, Express Elixir, and same-bank transfers.
- 05
Evidence
TLSNotary signs evidence from the bank session. A zero-knowledge proof links that evidence to this offer and taker without publishing the bank record.
- 06
Solve or expire
A valid proof sends the escrowed asset to the taker and collector. If the allowed number of settled batches passes first, expiry returns the asset to the maker.
03 · Fixed offer anatomy
No rate feed. One global overpayment cap. No floating-point money.
The maker commits one fungible asset quantity and one fiat amount in that currency's integer minor unit. The observed payment must fall between that amount and the deployment-wide Δ above it.
The offer's escrow_kind_id names the selected FungibleV1 instance. Currency choices illustrate the neutral schema; deployment admission remains template-specific.
- Crypto escrow
- —
- Bank transfer
- —
- Protocol amount
- —
- Payment predicate
- —
- Protocol fee
- deployment policy
The amount must satisfy the displayed bound; recipient, currency, memo, claimant, rail, template, and accepted final status must match. A failure has no settlement witness.
04 · Privacy boundary
Private where the vault can be private. Explicit where it cannot.
The design hides the payment fact inside the proof and avoids a global plaintext trade database. It does not claim to hide the public edges or the banks' own records.
Hidden
- Participants and settlement amount
- Offer, claim, destination, and bank transaction
- Concrete rail template within the evidence class
- Credentials and plaintext bank records from notaries and Ethereum
Still visible
- Ethereum deposits and withdrawals
- That an external-evidence action occurred in an epoch
- The ordinary fiat transfer to both banks
- Protocol assumptions, deployment identifiers, and aggregate L1 state
05 · Product boundary
A settlement protocol, not a financial institution.
The omissions are part of the architecture, not a backlog disguised as a feature list.
No fiat custody
PayMoney does not provide a bank account, wrapped bank balance, or redeemable fiat token. The maker keeps the fiat in their bank account.
No pricing oracle
The maker may consult any source before creating an offer. Once signed, the crypto / fiat pair is fixed and the protocol has no concept of market price or cross-currency conversion.
No dispute desk
Settlement needs proof; reclamation needs expiry. There is no screenshot path, human override, manual release, chargeback process, or administrative recovery.
No universal bank claim
Each immutable currency/rail template and bank flow must pass production TLS, schema, settlement-semantics, privacy, performance, and jurisdiction-specific legal gates before admission.
06 · Read the record
Start with the path, then inspect its assumptions.
- Lifecycle
How settlement works
Post, claim, preflight, bounded payment, notary evidence, solve, cancel, and expiry.
- Architecture
The resource vault
Why PayMoney is an application family inside a general private vault rather than another L1 escrow contract.
- Trust
Risks and launch gates
Bank semantics, proof-completion exposure, notary state, public edges, legal approval, and immutability.
07 · Direct answers
Frequently asked questions
Is PayMoney a custodial exchange?
No. In the target architecture the maker's crypto is owned by an offer resource inside the vault, not by PayMoney or an exchange account. The protocol publishes no platform balance, holds no user key, and provides no administrator who can redirect or manually release the escrow.
What happens if the taker sends the wrong amount?
The observed fiat amount must be at least the expected integer-minor-unit amount and no more than the global deployment allowance Δ above it. Underpayment, excess overpayment, a changed reference, a pending status, or the wrong recipient makes settlement unprovable.
Who confirms that the bank payment happened?
The launch architecture uses one self-hosted TLSNotary notary. Its ECDSA-secp256k1 attestation is verified inside the private Stwo proof. A malicious notary colluding with a taker can forge a claimed offer's payment fact; a later quorum requires a new deployment.
What does the privacy claim cover?
The target hides participants, amounts, destinations, offer and claim identity, bank transaction identity, and the concrete rail template. Deposits and withdrawals remain public, and an epoch reveals that an external-evidence-class action occurred. This is post-deposit transaction privacy, not anonymous banking.
Is the protocol live?
No. This website presents an architecture of record, not a deployed settlement service. Bank compatibility, jurisdiction-specific legal review, notary security, proof cost, privacy leakage, and L1 gas all have mandatory evidence gates before any production launch.