Fix: ElizaOS AI16z Migration Tangem Wallet Snapshot Bug
If you encounter a snapshot or interaction error while migrating AI16z tokens using a Tangem hardware wallet via the ElizaOS portal, the failure is caused by an unresolvable WalletConnect signature request. Tangem’s non-exportable, seedless architecture requires standard EIP-712 formatted payloads. To fix this, manually clear your WalletConnect session cache and force the migration portal to route through the WalletConnect V2 bridge.
Session Purge Execution
// Clear stale local sessions blocking the NFC signature relay
window.localStorage.removeItem('walletconnect');
window.localStorage.removeItem('WALLETCONNECT_DEEPLINK_CHOICE');
window.location.reload();
Architectural Context: Non-Exportable Hardware and EIP-712
Tangem represents a strict paradigm shift in hardware custody: the private key is generated on the Samsung/Infineon EAL6+ certified NFC chip and can never be exported or read, not even by the user. There is no recovery phrase (BIP-39 mnemonic) to “import” into a software wallet.
During the ElizaOS AI16z token migration, the DApp requires a cryptographic signature to verify snapshot ownership. This is not a simple “Yes/No” interaction; it is a mathematical proof that the holder of the Tangem card owns the AI16z tokens on the snapshot date. Typically, standard software wallets (like MetaMask or Phantom) process raw personal messages (personal_sign) effortlessly. However, Tangem’s strict secure element requires the signature payload to be meticulously formatted as an EIP-712 typed data object.
The EIP-712 Requirement
EIP-712 is a standard for hashing and signing of typed structured data as opposed to just arbitrary hex strings.
- Why Tangem requires it: Because Tangem cards have no screen, the user relies on their smartphone to “see” what they are signing. Raw hex strings (
eth_sign) are “blind signatures.” For security reasons, Tangem’s firmware often rejects raw strings to prevent users from accidentally signing a transaction that drains their wallet. - Structured Signing: EIP-712 allows the Tangem app to parse the migration payload and display clear fields like
Migration: AI16z,Amount: 1000, andDeadline: 2026-06-14. If the ElizaOS portal transmits an outdated or malformed request over the WalletConnect relay, the Tangem app immediately terminates the NFC handshake to protect the key integrity.
This strict payload validation requires external orchestration, mirroring the rigid validation you must employ when you configure plugin-prflght firewall for elizaos defi transaction policies to protect automated node endpoints.
WalletConnect V2 and the Websocket Relay
The AI16z migration portal utilizes WalletConnect V2. Unlike V1, V2 is multi-chain by default and uses a more robust websocket relay system. However, this complexity often leads to “Session Sticking.” If you previously connected your Tangem wallet to a different ElizaOS tool or a DEX, a stale websocket pairing may still be active in your browser’s localStorage. When the migration portal attempts to fire a new EIP-712 request, it sends it to the old session ID, which Tangem ignores, resulting in a “Snapshot Error” or an infinite loading spinner.
Preventative Maintenance: Hardware-Native Relays
To ensure smooth interaction with zero-knowledge hardware chips during critical migrations, operators must follow a strict “Clean Session” protocol.
1. The “Cold Boot” Connection Manual
Before initiating a high-value migration:
- Purge LocalStorage: Use the provided session purge script or manually clear your browser’s “Application” data. This forces the WalletConnect bridge to generate a fresh URI.
- Tangem App Update: Ensure your Tangem mobile app is on the latest version. Firmware-level support for EIP-712 structures is updated frequently to accommodate new DApp standards.
- Bridge Selection: If given the choice, always select “WalletConnect” and then find “Tangem” in the list. Avoid “Injected” or “Browser Extension” options as Tangem does not have a native browser extension that mimics MetaMask.
2. Payload Verification and EIP-712 Auditing
If you are a developer integrating ElizaOS migration tools for a community, you must ensure your signing logic uses signTypedData_v4 (the EIP-712 standard) instead of personal_sign.
const domain = {
name: 'AI16z Migration',
version: '1',
chainId: 1,
verifyingContract: '0x...',
};
const types = {
Snapshot: [
{ name: 'holder', type: 'address' },
{ name: 'balance', type: 'uint256' },
],
};
const value = {
holder: '0x...',
balance: '1000000000',
};
// This structured format is what Tangem requires
const signature = await wallet.signTypedData(domain, types, value);
3. Security Policies for Migration Events
Migration events are high-stress and prime targets for phishing.
- URL Verification: Always cross-reference the ElizaOS migration portal URL with official Twitter/Discord announcements. Scammers often create clone sites that look identical but trigger a
transferinstead of asnapshot. - No-Export Rule: If a site asks you for your “seed phrase” to migrate your Tangem wallet, it is 100% a scam. Tangem keys cannot be exported; any site asking for them is attempting to steal your assets.
- NFC Timeout: Hold the Tangem card against your phone for the entire duration of the signature. Moving the card too early can result in a partial signature relay, which the ElizaOS portal will mark as a “corrupted snapshot.”
Advanced FAQ: Technical Contextual Analysis
Why does clearing localStorage fix a hardware wallet error?
The hardware wallet itself is stateless regarding the DApp; it only signs what is presented via NFC. However, the bridge between the DApp and the phone (WalletConnect) stores session metadata in your browser. If this metadata is stale, the DApp “thinks” it is talking to your phone, but your phone isn’t listening on that specific websocket channel. Clearing localStorage resets the handshake, ensuring both ends are on the same cryptographic frequency.
Does Tangem support the Solana-based AI16z migration?
Yes. While EIP-712 is an Ethereum standard, Tangem supports similar structured signing for Solana (Versioned Transactions). The ElizaOS portal should detect your wallet’s chain and provide the appropriate payload. On Solana, ensure your Tangem app is configured to allow “Blind Signing” if the portal has not yet upgraded to Versioned Transactions, though this is less secure than structured signing.
What is the “Secure Element” (EAL6+) and why does it matter?
The EAL6+ rating indicates that the chip inside the Tangem card has undergone rigorous semi-conductor level testing against physical and side-channel attacks. Unlike a software wallet running on a generic OS, the Tangem chip is a “walled garden.” This is why it blocks certain unformatted signature requests; it is programmatically incapable of executing any logic that could potentially leak the private key, which is the ultimate safeguard for high-value AI16z migrations.