Skip to main content
You can look up any core BOT Chain contract address for mainnet or testnet with getAddresses(chainId), and get it back as a typed value.
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

getAddresses

Signature
677 | 968
required
The network. Use botChain.id or botChainTestnet.id so the chain and addresses always match.
object
The address map for that network. Each value is a checksummed literal address type, and keys that don’t exist on that network aren’t in the type.
Throws UnsupportedChainError for any other chain ID. That matters when the ID comes from a wallet at runtime, because TypeScript can’t check it there.
addresses-example.ts
Output

addresses

addresses is the same data as a plain object keyed by chain ID: addresses[677].usdt. Use it when you need both networks at once, for example to build a table. Use getAddresses everywhere else, because it validates the chain ID.

Every key

Checked against the SDK source for 0.2.0 on 2026-10-02. Notes:
  • universalRouter is testnet only. A mainnet Universal Router hasn’t been confirmed, so the SDK leaves it out. getAddresses(677).universalRouter is a type error.
  • bridgeRouter is an upgradeable proxy on both networks. Its address stays the same when the logic behind it changes. See ABIs.
  • USDT has 6 decimals on BOT Chain. Use TOKENS.USDT.decimals from Constants.
For explorer links to each address, see Contract addresses.

ABIs

Pair each address with its ABI.

Contract addresses

The same list, linked to BOTScan.
Last modified on October 2, 2026