Skip to main content
1

Pick a vault

Fetch all available SuperVaults on Base:
Filter to availability: "available" and is_supervault_v_2: true. Pick a vault address and note its assets[0].address (the token your user will deposit).Example (NVDA SuperVault):
  • Vault: 0xc441a2cc3a528b6312740448a70cc4d40f4d7bfc
  • Underlying token (NVDAc): 0xb20000000000000000000078ee7ce2fe4908108c
  • Decimals: 8
2

Check user balance

The Bundler validates balance on-chain and returns 400 if the user’s balance is insufficient. Check first:
3

Build the deposit

Replace 100000000 with the actual token amount scaled to the underlying token’s decimals. bStock tokens (NVDAc, TSLAc, SPCXc, etc.) use 8 decimals — 100000000 = 1 token. USDC uses 6, WETH and UP use 18. Read the assets[0].decimals field from the vault response.
The response is an ordered executions[] array.
4

Broadcast

Send each transaction in order. Wait for on-chain confirmation before sending the next.
Both carry type: "DEPOSIT". Use array index, not type, to determine order.After executions[1] confirms, the user holds superNVDA shares.