Skip to main content
You can use the SDK’s constants to bridge USDT, format token amounts with the right decimals and find the bridge contracts on other chains, without hard-coding any of these values.
Early release. This is published in @uzolabs/sdk 0.2.0 on npm and you can use it today. The API may change before 1.0, so pin the version.

Import

Import

USDT_RESOURCE_ID

Signature
The bridge uses a resource ID to identify each bridged token. Pass this value as the resourceId argument to the bridge router’s deposit and to the fee and pause reads. It’s the same on mainnet, testnet and every connected chain. See it used in Bridge USDT out.

TOKENS

Signature
Use these with viem’s parseUnits and formatUnits:
amounts.ts
Output
USDT on BOT Chain has 6 decimals, but USDT on BNB Smart Chain has 18. Using 18 for BOT Chain USDT makes amounts 1012 times too large. If you bridge to BNB Smart Chain, you still pass the amount in BOT Chain units.

EXTERNAL_BRIDGE

Experimental The bridge gateway and USDT addresses on the other side of the bridge, keyed by chain ID.
gateway.ts
It’s experimental because the gateway ABIs aren’t published, so the SDK doesn’t call these contracts. Use the addresses to find incoming transfers on BscScan or Etherscan, as shown in Track a bridge transfer. The shape of this export may change. Testnet gateways and Tron aren’t included.

Limits and fees

Read live bridge limits with the resource ID.

Addresses

Contract addresses on BOT Chain.
Last modified on October 2, 2026