LogoLogo
  • BASICS
    • What is Contango?
    • Who's this for?
    • Use cases
    • What is looping?
    • How does it work?
      • Detailed tx analysis
    • Key features
      • Liquidity and price impact
      • Pricing
      • Funding rates
      • PnL computations
      • Fees
      • Automation
      • Liquidations
      • Margin in any currency
      • Multiple positions on the same pair and direction
      • More than 300 trading pairs
      • Incentives and rewards
        • Contango points
        • Third-party rewards
        • Incentive layer
    • Ecosystem
    • Risks
  • APP
    • Simplified
      • Simplified tutorials
    • Advanced
      • Advanced tutorials
    • Staking
      • How staking works
      • Staking APR
      • Staking tutorial
    • oTANGO
      • oTANGO tutorial
    • Profile
  • TANGO
    • TANGOnomics
    • Allocations and unlocking
  • RESOURCES
    • Link tree
    • Brand assets
    • Contracts and audits
    • Permits and approvals
    • Glossary
    • FAQ
      • PT instruments
    • Troubleshooting
Powered by GitBook
  1. RESOURCES

Permits and approvals

PreviousContracts and auditsNextGlossary

Last updated 9 months ago

When you open a position on Contango, by default you sign a gas-less permit. Contango uses permits wherever possible, to make the user experience smoother. You might still face the need to use approvals, e.g. when using a multisig or when permits are not available for some tokens.

Contango gives you the choice of selecting among Permit, Permit2, Approval: after clicking the ‘Review trade’ button, you can select your preferred option by clicking the dropdown arrow in the ‘Approve’ button.

Here below you have a quick overview of how permits and approvals are used on Contango (a more comprehensive explanation can be found on ):

What’s an Approval?

A token approval is a method to allow a smart contract or address to withdraw funds from your address. In other words, an approval is an on-chain permission that users grant to smart contracts to allow them to access a specific amount of their tokens without needing a wallet signature for individual transactions. It sets the so-called spending allowance. As the approval confirmation happens on-chain, there’s a gas fee associated with it.

On Contango, you can choose to use approvals, but this is not the default option. When using approvals you set the specific amount you want to approve: a high amount can help avoid further approvals later on and simplify your user experience, but at the same time you expose yourself to the risk of potential Contango exploits that could use this allowance and drain funds from your wallet. Revoke.cash is a useful tool to revoke any unwanted allowance.

What’s a Permit?

introduced a new method of Ethereum token approvals known as Permit signatures. Permits allow you to grant token approvals by signing a message off-chain. In other words, it's a gas-less transaction that replaces an approval transaction by signing a piece of data inside your wallet. When using permits, the cost of setting an allowance will still be batched into the real transaction that you sign when opening a position, which results in a smoother user experience.

On Contango, permits are the default option for the majority of tokens. If a token does not support permits, Contango defaults back to Permit2. When signing a permit, this is only for the exact amount needed for the specific transaction you’re about to execute.

What’s a Permit2?

Permit2 is a new approval contract built by the Uniswap team that extends the benefits of to all tokens. In other words, Permit2 allows you to use gasless approvals for any token, regardless of whether that token has integrated ERC-2612. In addition, Permit2 has automatic expiration built-in, eliminating the security risk that comes with lingering token approvals.

On Contango, permit2 is used as the best option to default to if permit is not available for a given token. Permit2 grant and infinite allowance once, just like approvals, but via an immutable and verified contract from Uniswap.

Ledger’s website
ERC-2612
ERC-2612