DOVR

Documentation

A clear view
of your wallet.

Understand what stays on your device, what reaches the network, and what you approve before value moves.

Your local wallet

DOVR creates a Solana wallet in your browser. Its private key is encrypted with your password and saved in this browser’s local storage database. Creating, restoring and unlocking the wallet happen on your device.

  1. Create a wallet. Choose a password of at least 12 characters, then generate your key locally.
  2. Save your DOVR1 recovery code offline. Confirm you have saved the complete code before saving the encrypted wallet.
  3. Unlock when needed. Unlocking opens a local signing session. Each signature still needs its own approval.

Your password and backup do different jobs.

The password protects the saved key on this device. The DOVR1 code restores the wallet on a new device with a new password. Anyone with the complete recovery code can control the wallet.

This wallet accepts DOVR1 recovery codes. It does not import seed phrases or connect an external wallet. Browser storage belongs to the current site and browser profile; clearing it removes the saved wallet.

Create or restore your wallet

Solana mainnet

The workspace uses Solana mainnet. Public transfers send real SOL, and their sender, recipient, value and signature can be viewed on-chain.

Receive and check your balance

Copy your public address from the wallet to receive SOL. To load a balance and up to five recent signatures, acknowledge the public-data disclosure and choose Check wallet. DOVR sends the address to its wallet service and configured mainnet RPC. A balance is shown only after a successful live response.

Send a public transfer

Enter a recipient and amount, then choose Prepare public transfer. DOVR checks the network, reads the fee for the exact transaction and runs an unsigned simulation. Review the recipient, amount, network fee and maximum debit before approving the signature.

A simulation is a preview.

Passing a simulation does not send SOL. After approval, DOVR signs locally, runs signed preflight and submits once. Only the actual signature and its network status establish the outcome.

If the connection drops

Keep the saved signature and choose Check saved signature. An unknown result can still become a confirmed transaction. DOVR blocks new public sends while that outcome is unresolved; do not repeat the transfer in another tab or wallet.

The private route

DOVR’s private route integrates Umbra on Solana mainnet. Umbra’s encrypted balances and Stealth Pool notes have different roles. An ordinary public SOL transfer does not use these privacy mechanisms.

Public entryYour Solana wallet

Funding and deposits are visible on-chain.

Protocol privacyEncrypted value and notes

Amount transfers and recipient notes use different routes.

Public exitA Solana address

Withdrawals return value to a visible address.

SOL value, represented as wSOL

The supported V18 route uses wrapped SOL token accounts for deposits. Wrap native SOL before depositing. The connected-wallet withdrawal callback automatically returns the withdrawn principal as native SOL to the same wallet; no separate unwrap is needed for that principal. It can also return staged account rent. An existing empty wrapped-SOL account can be closed separately to reclaim its own rent. Keep native SOL available for network fees and account creation.

What the protocol changes

Encrypted balances keep balance values inside the protocol’s encryption system. Umbra’s encrypted-amount transfer route is designed to move value between registered protocol balances; the sender, recipient and their relationship remain public. This operation does not use a Stealth Pool note. Recipient transfers and new Stealth Pool notes are available for unsigned preview only in this release; new recipient value writes are disabled.

Stealth Pool notes have a separate lifecycle

A recipient note uses the protocol’s proof and claim mechanism. Eligibility follows current on-chain pool settings; the setting observed for this release requires ten subsequent natural insertions before a new note becomes eligible for redemption. This is a pool-activity requirement, not a countdown. An inactive pool can leave a note waiting for an unknown time. Funded note creation and redemption have not been verified end to end.

Public entries and exits, transaction timing, account interactions and network metadata remain observable. Privacy depends on the actual route, service availability and protocol behavior; it is not a promise that every part of a transaction disappears.

Current verification

Funded mainnet tests confirmed wallet registration, wrapping, a 0.01 SOL-value deposit, recovery of that encrypted balance after restoring the wallet in a fresh browser session, a successful own-queue reset and withdrawal to the same wallet. Withdrawal returned 0.009965210 native SOL of principal after the protocol fee; the encrypted balance was then read as zero. A separate encrypted-amount transfer did not settle, and no Umbra transfer callback was observed in its finalized receipts. The underlying cause remains undetermined. Its source principal was recovered through the withdrawal. Funded recipient settlement and Stealth Pool redemption remain unverified, and new recipient value writes are disabled. A confirmed queue transaction does not establish successful protocol settlement.

Open the verification record and actual mainnet receipts.

Protocol registration, note discovery, proof generation and claims can require Umbra services. Read the provider disclosure and the Umbra protocol documentation before using this route.

Recovery

Restore the wallet key

Choose Restore DOVR1 backup, enter the complete code, and set a new password. DOVR verifies the code locally and shows the recovered public address. Check it against your saved address before saving or funding the wallet.

DOVR cannot reset a lost key. If you lose access to browser storage and the recovery code, a password alone cannot restore the wallet.

Recover protocol state

The same DOVR wallet can approve Umbra’s deterministic key-derivation message to recreate its protocol keys locally. This message is separate from a transaction. Read its review before approving it.

Recovering a wallet key and reconciling a private operation are separate tasks. Encrypted balances, discovered notes, claims and staged withdrawals must be checked against the protocol’s actual state. Preserve any operation identifiers and transaction signatures; do not treat a page reload as cancellation.

Keep the path back.

Save your DOVR1 code offline before funding. Funded tests recovered and decrypted the deposited protocol balance after restoring the wallet in a fresh session, then withdrew it to the same wallet. Recipient-note redemption is a separate lifecycle. Keep actual receipts and pending information until each result is established.

Recover an interrupted protocol computation

Use the original transaction signature to check the actual queue and callback outcome before repeating an action. A failed callback attempt can be a duplicate of a successful callback. DOVR checks the exact computation and successful protocol output. The recovery controls can reclaim eligible own computation rent or reset an own encrypted-account queue after the current on-chain slot threshold. Both are separate reviewed transactions; neither repeats the original value transfer.

Fees

Costs depend on the exact transaction and current network and protocol state. DOVR does not advertise a fixed all-in privacy fee or a guaranteed first-use budget.

Public SOL transfer
The network fee for the prepared message is added to the amount you send. The review shows both and their combined maximum debit.
Account creation
Registration and token or protocol accounts may need SOL for rent-exempt balances. A possible later refund is not a guaranteed immediate return.
Private operations
Protocol fees, note funding, proof or computation charges, relayer costs and network fees can apply across multiple stages.
Failed transactions
An on-chain failure can still charge network fees. A protocol-stage fee or note funding amount may be non-refundable.

Read the exact operation review, fee components and maximum debit before each approval. If the current costs cannot be established, stop before signing. Earlier fees or example transactions do not set the price of your operation.

Security

Your local wallet uses password-based encryption for the saved private key. An unlocked session signs only after the relevant review. The wallet locks when the page is hidden, after navigation, or after five minutes without activity.

  • Keep the complete DOVR1 recovery code offline. Do not paste it into messages, forms on other sites or support requests.
  • Verify the site address, recipient and network before approving. Treat any request you did not initiate as a reason to reject.
  • Use a trusted browser and device. Browser extensions, malicious scripts and a compromised device can expose keys or change what you see.
  • Save real signatures and reconcile uncertain outcomes before trying again.

Local encryption does not remove smart-contract, protocol, provider or device risk. DOVR does not claim an independent security audit or guarantee recovery of funds.

An expired, unobserved transaction

If the saved transaction expires without an observed result, DOVR can compare historical signature and transaction lookups from two independent mainnet RPC hosts. A missing result alone does not prove that nothing happened. Before explicitly archiving an eligible expired record, review the original signature and check the affected balances and accounts. Archiving preserves the evidence and does not replay the transaction.

Read the open-source notices for the privacy integration and its corresponding source materials.

Read the privacy disclosure