Using the TF Chain bridge manually

Hi all,

Just wanted to make a quick post here on how to use the TF Chain bridge manually if you happen to not have access to the Dashboard for some reason. Really, it’s pretty simple to bridge from Stellar to TF Chain. You just need to send TFT to the proper Stellar address with a correct memo. Going the other direction is a bit more complicated, but it can be accomplished with the Polkadot UI.

Here’s a quick overview of what you’ll need for each direction of transfer on the bridge:

Stellar >> TF Chain

  • Twin id
  • Stellar bridge address

TF Chain >> Stellar

  • Your Stellar wallet address
  • Polkadot.js browser extension

Your twin id

If you want to bridge to TF Chain, you’ll need the twin id of your TF Chain account. Since there’s a single twin id for every activated account on TF Chain, it can stand in for the wallet address where the funds should be received. If you know your twin id, that’s great. If not, you can find it in a few places.

For farmers, your twin id will show up in the farms section of the explorer and also in the TF Connect app when the proper accounts are configured. But anyone can find their twin id using the Polkadot UI. This will require that you either know your TF Chain account address or have the Polkadot.js browser extension installed and your wallet secret loaded there.

Using Polkadot UI

Visit the Chain State section of Polkadot UI with the TF Chain mainnet link loaded (here’s a shortcut).

Leave the default at Storage and select tfgridModule > twinIdByAccountID. You can either paste your account ID into the input box, or select one of your wallets by name. Finally hit the orange circle with the plus sign on the right.

The twin id associated with the account id will appear below. In this case, it’s 414:

Bridge to TF Chain from your Stellar wallet

With your twin id in hand, you can bridge from Stellar to TF Chain by sending your TFT to the bridge wallet address on Stellar shown below, with an appropriate memo. Using the wrong memo could result in your TFT being refunded, or worse, sent to someone else’s TF Chain account.

Please run a test transaction with a small amount of TFT before sending any large amounts, and remember that the bridge takes a 1 TFT bridge fee.


The memo for the transaction should look like this: twin_TWINID

Replace the part after the underscore with your twin id. Continuing our example from above, it would be: twin_414

Stellar wallet addresses for the bridge

Both mainnet and testnet have different bridge addresses to receive funds to bridge to their respective instances of TF Chain.

Here are the wallet addresses.


Example transaction

To complete our example, here’s what the transaction to fund twin 414 on mainnet would look like when sending the TFT from StellarTerm:

All that’s left to do there is fill in the TFT amount and hit send. The TFT will normally arrive to TF Chain in less than a minute.

Bridge to Stellar from your TF Chain wallet

If you want to send TFT in the other direction, you’ll need to execute an extrinsic on TF Chain, which is just a fancy name for a transactions that originate outside the blockchain itself (i.e. from users like you).

We can also submit extrinsics from the Polkadot UI. For mainnet, use this link. Set up the transaction as follows:

  • using the selected account - the TF Chain account you want to send TFT from
  • submit the following extrinsic - tftBridgeModule > swapToStellar
  • targetStellarAddress - your stellar address to receive funds at
  • amount - amount of TFT with 7 decimal places

In this case, I’m sending 10 TFT (10 * 1e7 = 100,000,000). Below, there’s a Submit Transaction button I’ll hit to proceed.

Again TFT should arrive on the other end in less than a minute. As before, please test with a small amount first and remember there’s a 1 TFT bridge fee.


With a bit of knowledge under our belts, we can use the TF Chain bridge independent of the Dashboard. I’ll just close here by saying, please always be extra careful about where you are sending your crypto funds. Many mistakes are irrecoverable!

1 Like