Dollar-priced milestone escrow

Keep the milestone in dollars. Settle it in FXRP.

ProofPay prices the milestone when it is funded and again when it is released. A 10% FXRP buffer protects the target; unused FXRP returns to the client, and a shortfall blocks release until it is topped up.

Illustrative $100 milestone · no transaction is being sent

Funded at $1.00 per XRP · 100 FXRP base + 10 FXRP protection = 110 FXRP locked

USD target
$100.00
FXRP locked
110 FXRP
FXRP required now
100 FXRP
Result
100 FXRP payout · 10 FXRP refund
At $1.00 per XRP, ProofPay requires 100 FXRP. 100 FXRP payout · 10 FXRP refund.

The problem

Funding alone does not preserve the agreement.

A crypto invoice can be fully funded and still be worth less by release time. ProofPay keeps the agreement in USD, then recalculates the FXRP needed before payment moves.

How ProofPay works

One agreement. Four confirmed stages.

  1. AGREE

    Invoice terms and a scope commitment record the dollar-priced work.

  2. FUND

    The FXRP lock, FTSOv2 price, and InvoiceFunded event prove funding.

  3. DELIVER

    An evidence manifest commitment and EvidenceSubmitted event bind delivery proof.

  4. SETTLE

    The freelancer payout, client refund, and InvoiceReleased event prove settlement.

BLOCKED

If the lock is short, the exact top-up is required and no payment is released.

Price protection

The buffer protects the target, not a token balance.

For a $100 milestone at $1.00 per XRP, the client locks 110 FXRP: 100 for the target and 10% protection. At release, ProofPay pays only the FXRP needed for $100, refunds the rest, or blocks settlement and asks for the exact shortfall.

100 FXRP target10 FXRP protection110 FXRP locked

Live proof

One settled milestone, decoded from Coston2

Settled on Coston2

Invoice #2 · Verify ProofPay wallet actions on Coston2

Milestone target
$2.00
Confirmed FXRP lock
2.126887 FXRP
Freelancer payout
1.933309 FXRP
Client refund
0.193578 FXRP
Final state
SETTLED
Open the full settlement receipt
ProofPayEscrow contract
0x53bE…EAA21
Reveal full value0x53bE2D49f4bFCF2cc04A225Ccb7398Fb5E5EAA21
Funding transaction
0x60aa…3d857
Reveal full value0x60aa661a4c755b807a1911cce513603f103912226570ab9d9fafaf272eb3d857
Evidence commitment
0xb988…cacda
Reveal full value0xb98859ff3db3f2bb2f06bb2e8ef96f60bfa47432080fde6159476e2547ecacda
Release transaction
0x6e1b…2d921
Reveal full value0x6e1b8c009e9021aa05d5aeabaf1e7effcbf0b15402ef7a4b153bfcf26a82d921

Built on Flare

Each layer has one settlement job.

FXRP
Brings XRP-derived value into the escrow.
FTSOv2
Prices the USD milestone when it is funded and again when it is released.
ProofPayEscrow
Locks, releases, refunds, or blocks the FXRP according to the current quote.
Coston2
Exposes the public testnet contract state and settlement proof.

Start a milestone

Create a dollar-priced FXRP milestone

Create a milestone