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.
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
Bitso
Solana / SPL
deposit
eCash ALP
seed 1899
redemption
self-custody
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
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
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:
- 243.328 FIRMA locked.
- 36,385,587.2 XEC estimated on completion.
- 149,533.08 XEC/FIRMA effective price.
- 149,578.25 XEC/FIRMA official bid.
- 5.31 XEC estimated fee.
- 0.002 FIRMA change.
- 233,453,847.64 XEC sweeper capacity shown.
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.
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.