Skip to main content

Portal Deposit Addresses

Give a user a reusable, public, exchange-style deposit address that credits into their shielded balance. See Portal Deposit Addresses for the concept and trust model.

usePortal

usePortal() wraps the sdk.portal resource. It loads every portal of the authenticated account on mount, paging through listPage for you, and exposes each action with the shared { loading, error } contract. Portals are bound to the chain the root SDK was configured for, so the hook always reads the root client and does not follow the provider’s active client.
The hook also carries listPage, depositsPage, status, sweep, reclaim and withdraw. See usePortal() for the full return shape.

Reading the minimum deposit

Call sweepRequirements() from usePortal() when preparing the deposit display. It needs a connected wallet and a valid read session, including a locked but readable session, and does not unlock or request a signature.
The threshold is read on-chain on each call; deployment metadata is cached for five minutes. The reserve is a constant for the supported delegate version. See receiving deposits for existing-balance handling, refreshing the threshold, and approximate USD values.

Reaching the resource directly

usePrivacyBoost() returns the underlying TypeScript SDK instance, whose sdk.portal resource is what the hook delegates to. Use it when you want to drive paging yourself rather than hold the whole list in state. The full method surface and types are documented in the TypeScript Portal Deposits guide.

Next steps