A private order, from cart to cash.
Alberto calls Ziggy to place an order. Ziggy initializes the escrow, Alberto funds it, Ziggy delivers the product, and Buju B. receives the payment.
Green Road order
#GR-001Irie Oregano Kit
Caribbean herbs, hot sauce, and recipe cards
- Customer
- Alberto
- Store operator
- Ziggy
- Payment receiver
- Buju B.
- Price
- 25 USDC · private
1Place orderAlberto calls ZiggyAlberto
Alberto calls Ziggy and orders an Irie Oregano Kit. Before checkout, prepare three separate wallets and the private balances the order needs.
Do this
- 1Set Freighter to Testnet.
- 2Create accounts labelled Alberto, Ziggy, and Buju B.
- 3Fund every account with Testnet XLM for transaction fees.
- 4Register Buju B. so he can receive privately.
- 5Register Alberto, deposit at least 25 Testnet USDC, and Merge it into Spendable.
Visible on-chain
- Three public Testnet addresses
Kept confidential
- Recovery phrases and private keys
2InitializeZiggy initializes the orderZiggy
Ziggy takes Alberto's order and opens a fresh escrow, assigning Alberto as payer, Buju B. as receiver, and himself as approver.
Do this
- 1Switch Freighter to Ziggy and refresh the Store Operator page.
- 2Paste Alberto's address as Customer and Buju B.'s as Payment receiver.
- 3Open the order escrow, sign the key message, and approve initialization.
Visible on-chain
- Payer, receiver, and approver addresses
- Initialized status
Kept confidential
- Escrow confidential key
3FundAlberto funds the escrowAlberto
Alberto locks the 25 USDC order payment. The network verifies the escrow is funded without publishing the amount.
Do this
- 1Switch Freighter to Alberto and refresh the Customer page.
- 2Connect and confirm the wallet matches the escrow payer.
- 3Enter 25 USDC and click Lock order payment.
Visible on-chain
- Payer and escrow addresses
- Funded status
Kept confidential
- Order amount
- Alberto's remaining private balance
4DeliverZiggy delivers the productZiggy
Ziggy delivers the Irie Oregano Kit and confirms the real-world handoff, authorizing the escrow to release its private payment.
Do this
- 1Switch Freighter to Ziggy and refresh the Store Operator page.
- 2Confirm the escrow says Funded and the product was delivered.
- 3Click Confirm delivery & release and wait for proof generation.
Visible on-chain
- Approver action
- Receiver address
- Released status
Kept confidential
- Released amount
- Participant balances
5ReceiveBuju B. receives paymentBuju B.
Buju B., the boss, discovers the released confidential USDC and merges it into his spendable private balance.
Do this
- 1Switch Freighter to Buju B. and refresh the Payment Receiver page.
- 2Connect and sync until Receiving shows the private payment.
- 3Click Make payment spendable and approve the transaction.
Visible on-chain
- Receiver address
- Merge transaction
Kept confidential
- Incoming amount
- Buju B.'s new spendable balance
What stays private?
The value moves. The amount stays hidden.
Stellar shows that the order was funded and released, but not the amount or either participant's confidential balance. Addresses and lifecycle events remain public.
See the five-part journey →