· Tutorial based on a real mainnet test

From Mexican pesos to XEC: Bitso → USDT Solana → Firma → Tonalli

This guide documents a funnel tested end-to-end with real funds: deposit MXN into Bitso, buy USDT, withdraw it over Solana to firma.cash, receive Firma Alpha under an eCash seed, recover that same seed in Tonalli, and redeem FIRMA for XEC through an on-chain Agora offer.

Security first.

Never share the 12-word seed. Verify network, destination, Token ID and amount before every transfer. Start with a small test amount. Interfaces, KYC requirements, fees and supported networks can change.

The full tested funnel

MXN
Bitso
USDT
Solana / SPL
firma.cash
deposit
Firma Alpha
eCash ALP
Tonalli
seed 1899
Agora
redemption
XEC
self-custody
What the Solana → eCash step showed.

In this test Solana served as the inbound rail for USDT. After the USDT-SPL deposit into Firma, the asset controlled by the eCash seed and later discovered by Tonalli was Firma Alpha. For the user, Solana was the funding rail; the asset subsequently recovered and spent by Tonalli was the native eCash ALP token.

Step by step

1. Deposit MXN into Bitso

Fund your Bitso account with Mexican pesos using a method available to you and wait for the balance to settle.

2. Buy USDT

Buy the amount of USDT you want to use. Before withdrawal, make sure the network is Solana, not another chain.

3. Get the correct Firma deposit destination

Open the stablecoin funding flow in Firma and use the Solana rail shown by the current app. Copy the destination exactly as displayed and re-check it before use.

4. Withdraw USDT over Solana from Bitso

Send USDT-SPL from Bitso to the Firma deposit destination. Double-check network, address and amount, then wait for settlement in Firma.

5. Back up the Firma Wallet seed

Store the 12 words offline, in exact order. Restoring the seed in Tonalli does not transfer funds between apps; it lets Tonalli derive the same eCash keys.

6. Restore the seed in Tonalli using eCash/Cashtab 1899

Profile: eCash / Cashtab
BIP44 coin type: 1899
Base: m/44'/1899'/0'/0/0

Then run an extended rescan. Use Tonalli Legacy 899 only for historical Tonalli wallets, not for a Firma/Cashtab seed.

7. Verify the asset is Firma Alpha

Token ID: 0387947fd575db4fb19a3e322f635dec37fd192b5941625b66bc4b2c3008cbf0
Protocol: ALP · 4 decimals

Do not confuse Firma Alpha with Firma USD, fCHF or fEUR.

8. Make sure you have pure XEC for fees

Sats attached to a token UTXO are not always free XEC fuel. If Tonalli reports insufficient pure XEC, add a small spendable XEC UTXO first.

9. In the DEX choose “Redeem Firma to XEC”

Enter the amount and preview the operation. Review FIRMA locked, expected XEC, effective price, official bid, estimated fee and sweeper capacity. Nothing is signed during preview.

10. Confirm, sign locally and broadcast

Tonalli rebuilds from fresh state, queries the bid again and only signs if the checks still pass. The transaction creates an on-chain Agora offer. When the sweeper accepts it, the XEC balance updates.

Real full-funnel acceptance test

After completing MXN → Bitso → USDT Solana → firma.cash → Firma Alpha → Tonalli, a larger redemption was executed from Tonalli:

Offer TXID: 49dd6237df7c6574e60440e3709f6293a424c8ce3abd87ee7311ee31ff52e191
Offer ID: 49dd6237df7c6574e60440e3709f6293a424c8ce3abd87ee7311ee31ff52e191:1

The wallet later showed the updated XEC balance and retained 0.0020 FIRMA change. The total XEC wallet balance should not be confused with the payout of this single redemption because pre-existing XEC may already have been present.

All prices, fees and capacity figures are historical data from August 14, 2026, not a current quote.

What this does and does not prove

It does prove: that a user in Mexico successfully traversed MXN → USDT-SPL → Firma → Firma Alpha/eCash → Tonalli → XEC, and that the Firma seed could be recovered in Tonalli to discover and spend the resulting asset.

It does not prove: Firma's entire internal conversion architecture, that every Firma balance is Firma Alpha, or that Bitso/Firma will permanently keep the same networks, fees or requirements.

Never publish the seed.

TXIDs are public; the 12 words are not. Keep on-chain evidence and receipts, but never include the mnemonic in screenshots, chats or support tickets.