The deposit address feature is not available on mainnet yet.
Please contact us with the details of your use case if you are interested in using it and we can set you up with testnet access.

Please read about the general concepts of deposit addresses before continuing here.

Using the SDK wrappers

The SDK provides wrappers around the API calls to manage deposit addresses. Those wrappers are available under sdk.depositAddresses.

Examples

Find supported chains
const depositAddresses = await sdk.depositAddresses.getSupportedChains()
// Result:
['ETHEREUM', ...]
Set up a new deposit address
const depositAddresses = await sdk.depositAddresses.create({
  depositChain: 'ETHEREUM',
  destinationChain: 'BASE',
  destinationAddress: '0x123...',
})
// Result:
{
  depositAddress: '0x457...',
  depositChain: 'ETHEREUM',
  destinationChain: 'BASE',
  destinationAddress: '0x123...',
  supportedTokens: [{symbol: 'USDT', address: '0x789...'}],
  isActive: true,
}
Check the status of a deposit address
// Same result as the create function above
const status = await sdk.depositAddresses.getStatus({
  depositAddress: '0x123...',
  depositChain: 'ETHEREUM',
})
Activate an existing deposit address
await sdk.depositAddresses.activate({
  depositAddress: '0x123...',
  depositChain: 'ETHEREUM',
})