Choose an account type
Managed accounts are recommended for most integrations — simpler setup, no SDK
dependency for registration. User-owned accounts are for cases where deposits
should go to an existing smart account the user already controls.
Register an account
- Managed account
- User-owned account
The service creates a Nexus smart account deterministically from your API key and a salt you provide. The same API key + salt always produces the same deposit address, so you can safely re-register if needed.The response includes two deposit addresses:
1
Pick a salt
Use a stable, unique identifier per user — for example, an internal user ID. Hash it for privacy:
2
Call /register-managed
Both addresses route to the same target chain and token.
3
Verify registration
sources lists every chain the account can receive deposits from, each with its deposit address — EVM chains share the evmDepositAddress, Solana carries the solanaDepositAddress.Optional: token routing
By default, all deposits are bridged to the single target token you set at registration. Token routing rules let you select the output token based on what the user deposited. When registering an account, thetarget object accepts two optional fields:
Each rule has:
A rule’s
match must specify at least one of chain, token, or symbol. You can combine them for more specific matches.
Rule priority
When multiple rules match a deposit, the most specific rule wins. Declaration order only matters when two rules share the same specificity.Example: USDC and ETH passthrough
Route USDC deposits to USDC.e and ETH deposits to WETH on Optimism, while defaulting other tokens to a fallback:- User deposits USDC (from any chain) → receives USDC.e on Optimism
- User deposits ETH (from any chain) → receives WETH on Optimism
- User deposits any other token → receives
target.token(default fallback)
Example: chain-specific overrides
Combinechain and symbol for chain-specific routing. The chain-specific rule takes priority because chain + symbol outranks symbol alone.