Skip to main content
Version: 0.2.x-amarok


This is a list of Frequently Asked Questions for the Amarok public testnet.

What chains are supported?#

The list will be updated in Supported Chains.

What assets are supported?#

See the deployed addresses for assets at Deployed Contract Addresses.

What does it mean when referring to "canonical", "representation", and "adopted" assets?#


How do I find the canonical details of a token?#

The canonical domainId and tokenId of a token can be found by calling the getTokenId function of TokenRegistry.


  • The token of interest is TestERC20 (0x3FFc03F05D1869f493c7dbf913E636C6280e0ff9) on Rinkeby. We want to figure out its canonical domainId and tokenId.

  • Find the TokenRegistry contract address on Rinkeby from here.

  • Call getTokenId (this example uses Foundry's cast to read from the contract)

    cast call --chain rinkeby 0x1A3BA482D98CCB858AEacB3B839f952390099cE6 "getTokenId(address)(uint32,bytes32)" "0x3FFc03F05D1869f493c7dbf913E636C6280e0ff9" --rpc-url <rinkeby_rpc_url>


    3331 # the canonical domainId is Goerli0x00000000000000000000000026fe8a8f86511d678d031a022e48fff41c6a3e3b # the canonical bytes32 tokenId
  • To get the address of the canonical token on Goerli, call the getLocalAddress function of Goerli's TokenRegistry

    cast call --chain goerli 0x51192fD98635FD32C2bfc0A2F4e362D864A4B8b1 "getLocalAddress(uint32,bytes32)(address)" "3331" "0x00000000000000000000000026fe8a8f86511d678d031a022e48fff41c6a3e3b" --rpc-url <goerli-rpc-url>


    0x26fe8a8f86511d678d031a022e48fff41c6a3e3b # the contract address of the canonical TestERC20

What if I just want to test the destination-side target function?#

If thereโ€™s no token transfer involved then just set transactingAsetId: address(0) and amount: 0.

Do I need to do anything with the Nomad contracts?#

No, you do not need to deploy or even interact with Nomad contracts directly.

How do I find the different domainIds?#

See Nomad Domain IDs.

Where are the Connext contracts?#

See Deployed Contract Addresses.

How do I take my token crosschain?#

There are a few steps to take, so please reach out to us for assistance:

  • The Connext team whitelists your asset (for now, this is required).
  • You transfer some of the assets across the bridge.
  • If the destination asset has the mad*asset as the adopted asset (there's no existing pool, no representative asset exists yet), then the Token Registry will deploy a new token and set it as canonical.

Are there size limits to calldata?#

Yes, this is limited by Nomad's (currently arbitrary) message size limit defined in the Home contract.