depositFunds and sendDeposit take a public asset symbol and a public strategy name. Depositing an asset on a chain where it is not listed throws before any transfer.
The shared vault is separate and accepts USDC on Base only. Everything below is the personal Safe.
Strategies
Pass one of these strings. The default is"conservative".
Each tier includes the one below it.
"yieldmaxxing" is the only tier that holds NVDAc. On "conservative" or "aggressive", NVDAc resolves to no protocol and the agent never deploys it.
On depositFunds / sendDeposit, strategy applies to the first deposit only. Later deposits ignore it and do not error. Change an existing account with setAssetStrategy:
updateUserProfile stores the strategy name but does not pick protocols. Use setAssetStrategy (one asset) or setStrategyWithProtocols (one asset, or every managed asset) so the protocol list matches the tier.
Ethereum Mainnet (1)
All three strategies. WETH must be wrapped ETH, not native ETH.
Base (8453)
USDC, WETH, and EURC accept all three strategies. NVDAc accepts only
"yieldmaxxing".
NVDAc is Coinbase’s tokenized NVIDIA share. Withdrawals are delayed. Deposits pause while the equity market is closed, typically over the weekend: the tokens sit in the Safe and deploy at the next open. getPortfolio returns copy for that case in pauseMessageByToken["NVDAc"].
Arbitrum (42161)
All three strategies. EURC, USDT, PYUSD, and NVDAc are not on Arbitrum.
Amounts
amount is a string of least units, not a decimal number.
How the minimum is checked
The SDK checks the Safe balance of that asset after the deposit (what is already there + what you send). A top-up smaller than the minimum is allowed when the Safe already holds enough. Stablecoin minimums are a fixed token amount. WETH and NVDAc are a dollar minimum. The SDK reads the live price at deposit time (GET /api/v2/price?token=eth and ?token=nvdac), so the token amount moves with the market. At 10 of NVDAc is about 0.044 NVDAc ("4444444" at 8 decimals).