Skip to main content
The Privacy screen is your control center for Octra’s PVAC-HFHE (homomorphic encryption) capabilities, letting you move funds between public and private states. All encryption and proof generation runs locally on your device.

Understanding Privacy Operations

0xio gives you complete control over your financial visibility through three main operations:

Encrypt

Move funds from Public → Private

Decrypt

Move funds from Private → Public

Claim

Accept incoming private transfers

Setting Up Your Private Balance

A wallet needs its encryption key registered on chain once before it can hold a private balance. This costs a one-time network fee.
  • Extension: Home shows a Set up private tag once the wallet can turn on its private balance. Its sheet shows the live one-time fee, and Turn on registers the key.
  • Desktop: Home shows a tag once the wallet holds enough OCT for the fee. It opens a review with the live fee; Turn on registers the key after Touch ID or your password. The menu bar panel offers the same.
  • Mobile: Home shows a blue Set up private tag. Its sheet shows the one-time fee, and Slide to turn on registers the key after your PIN or biometrics.
The fee shown is the fee signed, and never below 5,000 ou. If it cannot be read, setup is blocked with a retry rather than signed at a default fee.

Network Proof Rules

Every private operation carries zero-knowledge proofs, and the network decides which proof rules it accepts. Before any private action (setup, encrypt, decrypt, private send, claim, key update or migration), the wallet asks the network for its rules. It reads them again right before signing.
  • Rules stated: the action goes ahead under those rules.
  • Rules not stated: private actions pause with a message that the network did not say which proof rules it takes. Nothing is sent. Public sends keep working.
  • Network not reachable: the wallet says it could not reach the network to check its proof rules. Nothing is sent; try again later.
  • Rules changed in between: nothing is sent, and you prepare the action again.
When the network binds proofs to the encryption key, every key switch also carries a proof that you own the key. The wallet adds it for you. This works the same in the extension, the mobile app (from v1.3.4) and 0xio Desktop.

Encrypting Funds (Public → Private)

“Shielding” makes your funds invisible to blockchain observers.

When to Encrypt

  • Before making confidential purchases
  • Protecting salary or business payments
  • Hiding holdings from public view
  • Preparing for private swaps on DEX
  • Enhancing overall financial privacy

How to Encrypt

1

Open the Privacy Screen

Go to the Privacy screen (Encrypt / Decrypt / Claim) in your wallet
2

Select Encrypt

Choose the “Encrypt” option
3

Enter Amount

Input the amount to shield from your Public Balance
4

Review Fee

Check the network fee estimate (quoted live from the node in ou)
5

Confirm

Confirm on the review, which shows the amount and the live network fee
6

Wait for Confirmation

A proof-generation overlay shows progress; confirmation follows shortly after

Technical Process

When you encrypt funds:
  1. Local Encryption: Your device performs FHE encryption on the amount
  2. Transaction Creation: Encrypted payload is prepared
  3. Signing: You sign the transaction with your private key
  4. Broadcast: Encrypted transaction sent to network
  5. Validation: Validators process without seeing the amount
  6. Confirmation: Funds move to your Private Balance
Privacy Guarantee: The encryption happens entirely on your device before any data touches the internet. Validators never see your plaintext amount.

Costs

Encrypt fees are denominated in operational units (ou) and quoted live from the node, with a floor of 5,000 ou (decrypt and private sends share it). The fee is paid from your public balance, so the amount plus the fee must fit in it. If the fee cannot be read, the operation is blocked with Network fee unavailable instead of using a fixed fee. Encrypt also generates proofs locally, so it takes longer than a plain transfer.

Decrypting Funds (Private → Public)

“Unshielding” makes your funds publicly visible again.

When to Decrypt

  • Sending to exchanges that don’t support FHE
  • Interacting with public DeFi protocols
  • When faster transaction speed is needed
  • Reducing gas costs for routine operations

How to Decrypt

1

Open the Privacy Screen

Go to the Privacy screen and select the Decrypt tab
2

Select Decrypt

Choose the “Decrypt” option
3

Enter Amount

Specify the amount to unshield from your Private Balance (balance validation prevents over-decryption)
4

Review Fee

Check the network fee estimate (in ou)
5

Confirm

Confirm on the review. The network fee is paid from your public balance
6

Confirmation

Funds appear in your Public Balance after confirmation
Once funds are decrypted to your public balance, their movement becomes visible on the blockchain. Consider your privacy needs carefully.

Claiming Private Transfers

When someone sends you a private (stealth) transfer, you claim it to move the funds into your private balance.

Finding Pending Transfers

  1. Open the Privacy screen and switch to the Claim tab
  2. Run the stealth scan to query the blockchain (live progress is shown while it scans outputs)
  3. Detected transfers appear in a list

Claim Process

1

View Pending Transfer

See details of incoming private transfer:
  • Sender address
  • Estimated amount (if disclosed)
  • Timestamp
2

Click Claim

Press “Claim” button next to the transfer
3

Review Fee

A network fee (in ou) covers decryption and the state update
4

Confirm Transaction

Sign the claim transaction
5

Funds Added

After confirmation, funds appear in your Private Balance

Claim Fees

  • Denominated in ou and quoted live from the node before you confirm, never below 3,000 ou
  • Paid By: Recipient (you)
  • Reason: Computational cost of decryption and the on-chain state update

Bulk Claiming

If you have multiple pending transfers, use Claim All to process every detected transfer in one action. The wallet still settles each claim on-chain individually, so a fee applies per claim. On the mobile app, Claim all runs under one review with Pause and Stop.

Encryption Key Updates and Held Balances

From time to time the network upgrades its encryption scheme. When that happens:
  • Key update: the wallet asks you to re-register your encryption key before you can encrypt or decrypt. If you hold a private balance, it can be migrated to the new key in the same transaction. The review shows the live fee.
  • Balance on an older key: when the network offers it, Migrate moves a balance held under an older key with a proof about the encrypted balance itself. The wallet picks this route on its own when the network lists it as open.
  • Held balance: when the network holds a private balance (for example one sealed under an older scheme that waits for a network migration), Home shows a tag such as Private on hold and the Encrypted row reads On hold. The tag’s sheet shows the reason. Your public balance is unaffected and nothing is lost.
  • Refresh first: a private balance can carry only a limited number of encrypted layers. When an operation meets that limit, the mobile app and the desktop menu bar say the balance is refreshed first and show the fee for both transactions under one review. In the desktop window the form shows Refresh key first with the layers as dots of eight; Review refresh opens its own review (layers now and after, the live fee and what runs next), and the operation is reviewed on its own after it.

Faster Proofs with 0xio Desktop

Proofs run on your device. When 0xio Desktop runs on the same computer and is paired with the extension (see Pairing with the Extension), the extension runs its proofs in the desktop app, which is faster than in the browser. The desktop app never receives the key that signs your transactions.

Privacy Best Practices

Maximize Privacy

Maintain majority of holdings in encrypted state. Only decrypt what you need for immediate use.
Consider using different addresses for public and private activities to reduce correlation.
When receiving public transfers, encrypt them quickly to minimize exposure.
If making multiple encrypt/decrypt operations, batch them to save on fees.

Balance Management Strategy

Conservative Privacy Model:
Balanced Model:
Public-First Model:

Monitoring Privacy Operations

Transaction History

View all privacy operations:
  1. See all encrypt/decrypt operations
  2. Track gas costs over time
  3. Verify operation success

Troubleshooting

”Insufficient Balance for Encryption”

  • Check you have enough Public Balance to cover the amount plus the network fee
  • The wallet validates that amount + fee fits your public balance before submitting

”Private Actions Are Paused” or “Unavailable on This Network”

  • The network did not state the proof rules it takes, so the wallet sends nothing private
  • Public sends still work
  • Try again later, or switch to a network that states its rules (see Network Proof Rules)

“Claim Transaction Failed”

  • Ensure sufficient OCT to cover the network fee
  • Try refreshing pending transfers list
  • Transfer may have been auto-claimed

”Decrypt Taking Too Long”

  • Network congestion can delay operations
  • Check transaction status in History
  • Wait longer during peak times
  • Consider increasing the fee (ou)
For urgent privacy operations during network congestion, use the custom fee option to set a higher ou amount for priority processing.