How it works

  1. Initiate Transaction:

    • Users start by selecting the source and destination chains for their transaction. The intuitive UI guides users through this process, ensuring that all necessary information is easily accessible.

  2. Specify Amount:

    • Users enter the USD amount they wish to transfer.

  3. Authorize with a Single Signature:

    • Utilizing EIP-2612, users authorize the transaction with a single off-chain signature. This step eliminates the need for multiple confirmations and streamlines the entire process.

  4. Flexy.Tech Handles the Rest:

    • Once the transaction is authorized, Flexy.Tech takes over. The platform manages both inbound and outbound transactions, ensuring a smooth and efficient transfer of assets between chains.

    • Users are kept informed of the transaction status through real-time updates, ensuring transparency and confidence in the process.

  5. Completion:

    • Upon successful completion of the transaction, users receive a confirmation, and the transferred assets are available on the destination chain. The entire process is designed to be fast, secure, and user-friendly.

Security and Reliability: Flexy.Tech prioritizes the security of user assets and transactions. Our platform employs advanced security measures and protocols to ensure the integrity and reliability of every transaction. Users can trust Flexy.Tech to handle their cross-chain transactions efficiently and securely.

Permit Messages

Many tokens like USDC or USDT have a special function called permit(). This function allows a user to create an off-chain signature that can let a spender access their tokens. The signature will only work for the Flexy contract that it was signed for. A good resource about the permit function can be found here.

An example of a permit message looks like this:

This message explains everything about the token permission that the user is signing:

  • Deadline: UTC timestamp (1 hour from now)

  • Nonce: The user's permit nonce (token specific)

  • Owner: The user signing the message

  • Spender: The Gasbot contract address

  • Value: The amount of token that can be accessed by Gasbot. Note: the amount shown is in the token's decimals. For example, USDC has 6 decimals on most chains. So $1 USDC is equivalent to 1000000 as shown in the picture.

Once the permit message is signed, we transfer in the tokens and send the user the gas token of their choice.

Users select the token to take and the gas token they want to receive. If the token and gas are on the same network. Then only a single transaction is made to swap the token to gas and send to the user. If they're on different network, Gasbot must make two transactions.

  • The first transaction will take the tokens on the source chain.

  • The second transaction will deliver the gas on the destination chain.

These transactions will be displayed on the status page after signing the message.

Last updated