Skip to main content
All CollectionsCrucibleCrucible - cFRM Migration
How to fix Insufficient Allowance error or Approval issue with Crucible Mint or Stake?
How to fix Insufficient Allowance error or Approval issue with Crucible Mint or Stake?
Taha Abbasi avatar
Written by Taha Abbasi
Updated over a week ago

If you use the crucible on Ferrum Gateway, you may face an Insufficient Allowance or Approval Issue. This issue will prevent you from executing the desired transaction.

Background and Root Cause

The cause of the issue is the lack of a "dynamic allowance check" on these two dApps. Let's assume that In the past, you wanted to bridge 100 tokens when the approval popped up in MetaMask. Instead of accepting the infinite approval or clicking use default in MetaMask, you clicked max in the approval popup in MetaMask.

This would change the Approval amount in MetaMask from an infinite approval to the number of tokens available in your wallet. In this example, that would be 100 tokens. Once you approve the 100 tokens, you will be able to bridge. However, when you return in the future, if you want to bridge more than 100 tokens, there will be a problem. Since these two dApps don't have "dynamic allowance check", they only check if an approval exists for your wallet, assuming you went with infinite approval. However, since you went with an approval of 100 tokens, the dApp gets an incorrect answer. The chain responds yes, the user has approval, which satisfies the app, but it doesn't tell the app that the approval amount was for 100 tokens and that you intend to bridge or interact with a larger number of tokens this time. This problem arose because, at the time of development for these dApps, MetaMask defaulted to one kind of approval, the infinite approval. In an update, MetaMask started allowing users in the UX to choose an approval amount. The bridge and crucible dApps have not yet been updated to accommodate this change.

Solution and Current Workaround

If you currently have FRM and have chosen the Mint and Stake option, then follow the instructions in the section titled Crucible Mint and Stake Approval Fix otherwise, follow the instructions in the Crucible Stake Approval Fix

Crucible Mint and Stake Approval Fix

You will need to revoke and reinstate the cFRM approval. Here are the steps:

  1. Click on Connect to Web 3 from the wallet you are using to transact on the gateway for crucible (FRM/cFRM)

  2. Expand the 1st function, which is named approve

  3. Enter the following information:
    For FRM BSC Mint and Stake/Mint:
    Spender Field Value: 0x476F21e9c9787A76cdD7f25dd6Db4039c0ad3176
    Value Field: 0

    For FRM Arbitrum Mint and Stake/Mint:
    Spender Field Value: 0xd2ad2e820df8b5f55074b73fb1fb821d8ecadefb
    Value Field: 0

  4. Click on the Write button and process the transaction from MetaMask.

  5. Now, go to the crucible or the bridge, and it will ask for Approval.

  6. When the Approval popup opens the MetaMask window, click use default

  7. Select Aggressive gas in MetaMask, then execute the transaction.

  8. Now, you can stake or bridge. 🎉

If you still face issues with this, please raise a ticket using the chat icon on this page.

Crucible Stake Approval Fix

You will need to revoke and reinstate the cFRM approval. Here are the steps:

  1. Click on Connect to Web 3 from the wallet you are using to transact on the gateway for crucible (cFRM)

  2. Expand the 1st function, which is named approve

  3. Enter the following information:
    For cFRM BSC Stake/Unstake/Mint/Unwrap:
    Spender Field Value: 0x476F21e9c9787A76cdD7f25dd6Db4039c0ad3176
    Value Field: 0

    For cFRM Arbitrum Stake/Unstake/Mint/Unwrap:
    Spender Field Value: 0xd2ad2e820df8b5f55074b73fb1fb821d8ecadefb
    Value Field: 0

  4. Click on the Write button and process the transaction from MetaMask.

  5. Now, go to the crucible or the bridge, and it will ask for Approval.

  6. When the Approval popup opens the MetaMask window, click use default

  7. Select Aggressive gas in MetaMask, then execute the transaction.

  8. Now, you can stake or bridge. 🎉

If you still face issues with this, please raise a ticket using the chat icon on this page.

Did this answer your question?