Infinite Approval

Pre-approving smart contracts to enable the platform to spend any amount of your coins.

Infinite approval is a smart contract programming practice, often considered to be problematic. This programming feature allows a given smart contract access (upon authorization from a user) to an unlimited number of tokens in the user’s wallet instead of only the number that is actually needed.

An infamous example of a smart contract that was programmed this way is one employed by the decentralized exchange, Bancor. When a user first used the system, they had to give the smart contract authorization to withdraw an unlimited number of tokens from their wallet.

Bancor’s smart contracts also contained a vulnerability that could have allowed a hacker to steal all the units of the token that the user authorized the contract to manage by leveraging this vulnerability. Fortunately, Bancor’s programmers noticed before malicious actors could steal the tokens and later modified their systems to only ask for approval for the needed number of tokens. The developers preemptively “stole” user funds to return them later to avoid a hack.

After the controversy surrounding Bancor, it surfaced that infinite approval is a very popular practice among decentralized application programmers. Research conducted by a researcher at crypto wallet ZenGo revealed that popular decentralized applications feature infinite or extremely large approvals.

Related Articles

Discussion about this glossary

Recommended Stories

ADVERTISEMENT

The most important crypto and finance news and events of the day

Be the first to know latest important news & events directly to your inbox.

By signing up, I agree to our TOS and Privacy Policy.

Welcome Back!

Login to your account below

Create New Account!

Fill the forms below to register

Retrieve your password

Please enter your username or email address to reset your password.