Skip to content

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.

  1. 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.

  2. 02

    Claim

    The taker consumes the open offer, creating one claimed offer and deriving its payment memo and absolute epoch anchor.

  3. 03

    Preflight

    Before showing payment instructions, the wallet checks the bank connection, rail template, notary, time remaining, and required balance.

  4. 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.

  5. 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.

  6. 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.

Pre-production architecture

One bounded payment fact. One private settlement path.

Read the limitations before treating the design as a product promise.