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):
Upload government ID
Take selfie for liveness check
Provide basic info (name, address, DOB)
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:
Check Helius Orb with ephemeral wallet address
See the complete flow: SOL → Jupiter swap → USDC → Bridge
Verify NO link between main wallet and ephemeral wallet
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):
Connect Wallet ✅
Select USDC + Amount ✅
KYC Check ✅
Select Destination ✅
Enter Bank Details ✅
Review Transaction ✅
Approve in Wallet ✅
Ephemeral Wallet Created (receives USDC)
Jupiter Swap⏭️ SKIPPEDZcash Encryption ✅
Bridge Transfer (USDC → USD) ✅
Bank Deposit ✅
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