Die unbegrenzte Genehmigung ist eine Programmierpraxis für Smart Contracts, die oft als problematisch angesehen wird. Bei dieser Programmierung muss ein Smart Contract eine unbegrenzte Anzahl von Token aus der Wallet des Nutzers genehmigen, anstatt nur die Anzahl, die tatsächlich benötigt wird.Ein berüchtigtes Beispiel für einen Smart Contract, der auf diese Weise programmiert wurde, ist der der dezentralen Börse Bancor. Wenn ein Nutzer das System zum ersten Mal nutzte, musste er dem Smart Contract die Erlaubnis erteilen, eine unbegrenzte Anzahl von Token aus seiner Wallet abzuziehen.Die Smart Contracts von Bancor enthielten auch eine Schwachstelle, die es einem Hacker hätte ermöglichen können, alle Einheiten des Tokens zu stehlen, die der Nutzer dem Vertrag zur Verwaltung überlassen hatte, indem er diese Schwachstelle ausnutzte. Glücklicherweise bemerkten die Programmierer von Bancor die Schwachstelle, bevor böswillige Akteure die Token stehlen konnten, und änderten ihr System später so, dass sie nur noch die Genehmigung für die benötigte Anzahl von Token einholten. Nach der Kontroverse um Bancor wurde bekannt, dass die unbegrenzte Freigabe eine sehr beliebte Praxis bei Programmierern dezentraler Anwendungen ist. Nachforschungen eines Forschers der Krypto Wallet ZenGo ergaben, dass die beliebten dezentralen Anwendungen Compound, Uniswap, bZX, Aave, Kyber und dYdX allesamt über unendliche oder extrem hohe Genehmigungen verfügen. So kann ein Liquiditätsanbieter beispielsweise einen Liquiditätspool mit Ether im Wert von 5.000 US-Dollar und dem dezentralen Stablecoin DAI im Wert von 5.000 US-Dollar mit Peg zur Verfügung stellen, um den Handel zwischen diesen beiden Währungen zu ermöglichen. Jedes Mal, wenn ein Handel mit ETH/DAI durchgeführt wird, erhält der Liquiditätsanbieter eine Entschädigung dafür, dass er den betreffenden Pool finanziert hat.