Bridge share tokens
Centrifuge supports native mint-and-burn bridging for any share token across any supported network. This guide explains how to use the bridge.
Bridging
To bridge share tokens across chains, you must call the crosschainTransferShares
function on the Spoke
contract.
spoke.crosschainTransferShares{value: gas}(centrifugeId, poolId, scId, receiver, amount, remoteExtraGasLimit);
-
centrifugeId
The identifier of the target network. You can look up valid IDs on the deployments page. -
poolId
The pool identifier from which the shares will be transferred. -
scId
The ID of the share class within the pool. -
receiver
The address of the recipient on the destination chain.infoEVM addresses must be right-padded with zeros to 32 bytes. E.g.
0x7Ed48C31f2fdC40d37407cBaBf0870B2b688368f
becomes0x7Ed48C31f2fdC40d37407cBaBf0870B2b688368f000000000000000000000000
. -
amount
The amount of share tokens to transfer, expressed in the token’s decimals. The most common share token decimal configuration is 18. -
remoteExtraGasLimit
Additional gas forwarded to the remote execution. This can be set to0
in most cases.
The gas value passed to the transaction is used to pay for the cross-chain transfer. You can overestimate this value as any excess gas will be refunded in the same transaction.
Share token restrictions
You must ensure that the receiver
on the target network can receive share tokens.
If the share token has a whitelist or other forms of restrictions, the receiver must be whitelisted before the transfer is executed on the target chain. If the receiver is not whitelisted, the minting transaction on the destination network will fail, and will need to be manually re-executed once the receiver is whitelisted.
Monitoring
To follow the progress of the transaction, you can find the status on Centrifugescan.
If the minting of the share tokens on the destination network fails for some reason, you can also use Centrifugescan to re-execute the transaction.