Skip to main content

Types

DestinationConfig

DetectedDeposit

SweepResult

RecoveryResult

RefundResult

DepositLifecycleEvent

Normalized, serializable view of a deposit at a single lifecycle phase — delivered by the onDepositEvent callback and the deposit:lifecycle event, and the basis for the notification UI. id is stable across phase transitions.

FundingConfig

Funding Types

UATransaction

TransactionsResponse

TokenTransactionFilter

TokenTransactionsResponse

Other Types


Constants

CHAIN

Defaults

Chain Utilities

Wallet Detection Utilities

Framework-agnostic helpers for the Fund from Wallet feature — discover and connect injected browser wallets without React.

Advanced Topics

Custom Particle Credentials

You can provide your own Particle project ID via the uaProjectId config option.
uaProjectId only affects Universal Account operations (smart account initialization and asset queries). The intermediary wallet authentication (JWT + Auth Core session) always uses the SDK’s built-in credentials — this is by design and cannot be overridden.
This is useful if you want to handle your own app fees. If you use your own project ID, deposits are subject to a 1% fee going to Particle. Reach out to configure a custom rate and establish a revenue sharing model.

Destination Configuration

Change the sweep destination at runtime.
Throws ConfigurationError if the chain ID or address is invalid.

Notifications

Surface deposit progress to your users. Set notifications: true on DepositProvider to auto-mount the toaster, build a custom UI with the useDepositNotifications hook, or go headless with the onDepositEvent callback / deposit:lifecycle event — all driven by the same DepositLifecycleEvent.

DepositNotificationsProps

Lifecycle events fire client-side and best-effort — they are not a reliable server webhook. Don’t use them as the source of truth for crediting funds.

Fund from Wallet

Let users top up their deposit address from a connected browser wallet (MetaMask / Rabby / Phantom / any injected EIP-1193 or Solana wallet). The SDK discovers cross-chain balances, builds a transfer to the deposit address, and the watcher sweeps it as usual. Balance discovery is zero-config (Particle’s hosted service — no Moralis key, proxy, or backend). The browser wallet is a funding source only — it never becomes the Universal Account owner/signer.
When funding.enabled is set, DepositWidget automatically shows a “Receive | Fund from wallet” toggle. For a standalone surface use the FundFromWallet component, or call client.getWalletBalances() / client.fundFromWallet() directly — see the React SDK and Core SDK.

FundingConfig

Balance-source precedence: balanceProvider > apiKey (direct) > proxyUrl > hosted default. Balance discovery covers Ethereum, BNB Chain, Base, Arbitrum, and Solana; X Layer is not supported and is skipped during discovery.

Recovery

Recover funds that are stuck in the intermediary wallet (e.g., due to failed sweeps).
Or use the built-in UI:

Refund (Experimental)

Refund is experimental. Auto-refund is disabled by default.
Enable auto-refund to automatically return funds to the source chain when sweeps fail:

RefundConfig

Manual refund is always available regardless of the auto-refund setting:

Error Handling

All SDK errors extend DepositSDKError:

Back to Quickstart

Installation, quickstart, and usage patterns.