Transaction Flow

Transaction Flow

Step-by-Step: How a Dinario Transaction Works

This page shows the complete technical flow of a Dinario cash-out, from wallet connection to bank deposit.


Overview

[Your Wallet] → [Ephemeral Wallet] → [Jupiter (if needed)] → [Bridge] → [Your Bank] ↓ ↓ ↓ ↓ ↓ Private Unlinkable Obfuscated USDC→USD Arrives

Privacy checkpoints:

  • ✅ Main wallet → Ephemeral wallet (breaks the link)

  • ✅ Ephemeral wallet → Jupiter (obfuscates origin)

  • ✅ Transaction encrypted with Zcash (receipt privacy)

  • ✅ Bridge sees ephemeral wallet only (main wallet hidden)


Scenario 1: Token Swap + Cash Out (e.g., SOL → USD)

User has: 10 SOL User wants: $2,000 in their bank account

Step 1: Connect Wallet

What happens:

  • User visits https://privacy.dinario.app/

  • Clicks "Connect Wallet"

  • Selects Phantom, Solflare, or any Solana wallet

  • Wallet connection is established (read-only)

Privacy note: Dinario does NOT store your wallet address. Connection is temporary and session-based.


Step 2: Select Token & Amount

What happens:

  • User selects SOL as the token

  • Enters amount: 10 SOL

  • System fetches live price from Jupiter

  • Shows estimated USD amount: ~$2,000

Behind the scenes:

  • Jupiter API provides best swap route

  • No transaction is initiated yet

  • User can see estimated fees


Step 3: KYC Check (One-Time)

What happens:

  • System checks if user has completed KYC

  • If NO: Redirect to Sumsub verification

  • If YES: Skip to next step

Sumsub verification (if needed):

  1. Upload government ID

  2. Take selfie for liveness check

  3. Provide basic info (name, address, DOB)

  4. Wait for approval (usually 5-10 minutes)

Privacy note: Sumsub NEVER receives your wallet address. KYC is identity-only.


Step 4: Select Destination

What happens:

  • User selects destination country (e.g., United States)

  • Selects payment rail (e.g., ACH, Wire, Same Day ACH)

  • System shows estimated arrival time and fees

Example:

  • Destination: United States

  • Rail: ACH

  • Arrival: 1-2 business days

  • Fee: ~$3 + 2% privacy fee


Step 5: Enter Bank Details

What happens:

  • User enters bank account information:

    • Account holder name

    • Account number

    • Routing number (if US)

    • Bank name

    • Account holder address

Privacy note:

  • Bank details are sent directly to Bridge (encrypted)

  • Dinario does NOT store your bank account information

  • Details are used once for this transaction


Step 6: Review Transaction

What happens:

  • User sees complete transaction summary:

    • Sending: 10 SOL from [Your Wallet]

    • Swap: 10 SOL → ~2,000 USDC via Jupiter

    • Cash out: 2,000 USDC → $1,960 USD (after 2% fee)

    • Transfer fee: ~$3

    • Net amount: ~$1,957 in your bank

    • Arrival: 1-2 business days

User must confirm:

  • ✅ Amount is correct

  • ✅ Bank details are correct

  • ✅ Fees are acceptable


Step 7: Approve Transaction (Wallet Signature)

What happens:

  • User clicks "Confirm Cash Out"

  • Wallet (Phantom/Solflare) opens

  • User approves the transaction

  • SOL is sent from user's wallet to the Dinario smart contract

On-chain action:

  • User wallet → Dinario contract (10 SOL)

  • Gas fee: ~0.00001 SOL

Privacy note: This is the ONLY on-chain action from your main wallet. Everything else happens through the ephemeral wallet.


Step 8: Ephemeral Wallet Creation (PRIVACY LAYER 1)

What happens:

  • Dinario smart contract generates a NEW ephemeral wallet

  • Ephemeral wallet receives the 10 SOL

  • This wallet is one-time-use and unlinkable to your main wallet

On-chain action:

  • Dinario contract → Ephemeral wallet (10 SOL)

Privacy benefit:

  • Your main wallet address is now separated from the cash-out

  • Banks will NEVER see your main wallet

  • On-chain observers cannot link the two wallets

Verification:

  • Check Helius Orb: Your main wallet sent SOL to Dinario contract

  • Check Helius Orb: Ephemeral wallet received SOL from Dinario contract

  • No direct link between your wallet and ephemeral wallet


Step 9: Jupiter Swap (PRIVACY LAYER 2)

What happens:

  • Ephemeral wallet initiates Jupiter swap

  • 10 SOL → ~2,000 USDC

  • Swap is routed through Jupiter's aggregated liquidity (multiple DEXs)

On-chain action:

  • Ephemeral wallet → Jupiter

  • Jupiter routes through: Orca, Raydium, etc.

  • USDC arrives in ephemeral wallet

Privacy benefit:

  • Swap origin is obfuscated through Jupiter's volume

  • Indistinguishable from millions of other Jupiter swaps

  • Your main wallet has no on-chain connection to this swap

Verification:

  • Check Helius Orb: See the Jupiter swap from ephemeral wallet

  • Your main wallet is NOT visible in this transaction


Step 10: Zcash Receipt Encryption (PRIVACY LAYER 3)

What happens:

  • Transaction details are encrypted using Zcash cryptography

  • Encrypted receipt is generated

  • Receipt includes:

    • Ephemeral wallet address

    • Amount (USDC)

    • Timestamp

    • Transaction ID

Technical:

  • Algorithm: AES-256-GCM

  • Key derivation: SHA-256

  • Storage: Zcash z-address memo

Privacy benefit:

  • Transaction details are encrypted

  • Only you can decrypt the receipt

  • Verifiable proof without revealing details

User receives:

  • Encrypted Zcash receipt (shown in UI)

  • Can decrypt and verify later


Step 11: Bridge Transfer (PRIVACY LAYER 4)

What happens:

  • Ephemeral wallet sends USDC to Bridge

  • Bridge converts USDC → USD

  • Bridge initiates ACH transfer to your bank

Bridge sees:

  • ✅ Ephemeral wallet address (one-time wallet)

  • ✅ Amount: 2,000 USDC

  • ✅ Your bank details (for this transaction)

  • ✅ Your KYC info (name, verified identity)

Bridge DOES NOT see:

  • ❌ Your main wallet address

  • ❌ Your SOL holdings

  • ❌ Your trading history

  • ❌ Other tokens in your wallet

Privacy benefit:

  • Bridge operates on ephemeral wallet only

  • Your main wallet remains completely hidden

  • Regulatory compliance without surveillance


Step 12: Bank Deposit

What happens:

  • Bridge sends USD to your bank account via ACH

  • Bank receives: $1,957 (after fees)

  • Arrives in 1-2 business days

Bank sees:

  • ✅ Incoming ACH transfer from Bridge

  • ✅ Amount: $1,957

  • ✅ Your name (account holder)

Bank DOES NOT see:

  • ❌ That this came from crypto

  • ❌ Your wallet address

  • ❌ Your holdings

  • ❌ Any Solana/blockchain activity

Privacy benefit:

  • Banks have no visibility into your crypto holdings

  • No red flags or "crypto-related" labels

  • Just a normal ACH deposit


Step 13: Transaction Complete

What user sees:

  • ✅ Success message in Dinario app

  • ✅ Transaction ID

  • ✅ Encrypted Zcash receipt

  • ✅ Ephemeral wallet address (for verification)

  • ✅ Estimated arrival date

User can verify:

  1. Check Helius Orb with ephemeral wallet address

  2. See the complete flow: SOL → Jupiter swap → USDC → Bridge

  3. Verify NO link between main wallet and ephemeral wallet

  4. Decrypt Zcash receipt for transaction proof


Scenario 2: Direct USDC Cash Out (Faster)

User has: 2,000 USDC User wants: $1,960 in their bank account

Simplified flow (skips Jupiter swap):

  1. Connect Wallet ✅

  2. Select USDC + Amount ✅

  3. KYC Check ✅

  4. Select Destination ✅

  5. Enter Bank Details ✅

  6. Review Transaction ✅

  7. Approve in Wallet ✅

  8. Ephemeral Wallet Created (receives USDC)

  9. Jupiter Swap ⏭️ SKIPPED

  10. Zcash Encryption ✅

  11. Bridge Transfer (USDC → USD) ✅

  12. Bank Deposit ✅

  13. Complete ✅

Time saved: No swap = slightly faster processing


Privacy Verification Checklist

After your transaction, verify privacy:

If all checks pass: ✅ Privacy is maintained!


Next: Non-Custodial Model to understand how you maintain control of your funds.

Last updated