Receiving Funds

Temporary Wallets

When you tap Receive, Tuck generates a fresh secp256k1 key for a one-time temporary wallet. These aren't derived from your main wallet — they're completely random, so blockchain analysis can't link them back to you cryptographically. Unused temp wallets expire after 1 day and move to the trash can, where they're permanently deleted 7 days later.

Tuck monitors all active temp wallets in the background over the Robinhood Chain RPC. With ~100ms block times, funds are usually detected within a second or two of the sender broadcasting.

Check the network before sending. A Robinhood Chain address is a normal 0x EVM address, so the same string is also valid on Ethereum, Arbitrum, and every other EVM chain. Tuck only watches Robinhood Chain (chain ID 4663). Funds sent to the same address on a different network will not be detected and are not recoverable through the wallet.

Receiving ETH

The shielding threshold is 0.0001 ETH. This covers the Tuck Shield proof verification gas and the pool fee.

Auto-Shielding (≥0.0001 ETH)

When you receive at least 0.0001 ETH, Tuck automatically shields it:

  1. The temp wallet reserves 0.0001 ETH for gas
  2. Remaining ETH is deposited into the Tuck Shield pool as a private note owned by your main wallet
  3. The temp wallet pays all gas and gets cleaned up

Proof generation takes 10-30 seconds in your browser; the on-chain confirmation itself is near-instant. Once confirmed, the ETH appears in your private balance — completely unlinkable to the receive address.

Small Amounts (<0.0001 ETH)

Amounts below the threshold can't cover the shielding gas and pool fee. Instead of leaving funds stranded, Tuck converts the temp wallet into a public shard. The ETH is preserved and can be consolidated later through cleanup workflows.

Receiving ERC-20 Tokens

ERC-20 tokens — including Stock Tokens — can't be shielded like ETH. Instead, Tuck automatically converts the temporary wallet into a public shard wallet. The tokens stay exactly where they are: no transaction required, no gas.

How It Works

When ERC-20 tokens arrive at a temp wallet, Tuck automatically converts it into a public shard wallet. This is just a wallet type change — the address stays the same, the tokens don't move, and no blockchain transaction is required.

Because there's no transaction, there are no fees involved in receiving ERC-20 tokens. You can receive tokens even with zero shielded balance. And unlike account-model chains, there is no per-token account to create and no rent to pay — an ERC-20 balance is a mapping entry inside the token contract. The conversion happens instantly in the background once tokens are detected.

Stock Tokens

Stock Tokens follow the same path as any other ERC-20, with one display difference. They implement ERC-8056 (Scaled UI Amount Extension), which exposes a uiMultiplier() corporate-action factor. Splits and dividends change that multiplier rather than your raw balance, so Tuck always renders rawBalance × uiMultiplier() and reads the token's Chainlink feed for valuation. Your raw on-chain balance may look unchanged after a split — the displayed share count is the correct one.

Multiple Tokens

If you receive multiple token types in one transaction, Tuck creates a separate flow for each token contract. Each is processed independently.

Monitoring & Retries

Track receive status in your transaction history:

  • Waiting — Temp wallet active, no funds yet
  • Funds Detected — Processing started
  • Shielding — ZK proof generating (ETH only)
  • Complete — Funds available in your balance
  • Failed — Error occurred (can retry)

If shielding fails due to circuit constraints (common with many existing notes), wait a moment for the Merkle root to settle and retry. If you export a temp wallet's key and move funds externally, Tuck detects the zero balance and marks the flow failed.