Skip to content

Infinite Allowances

On Ethereum and EVM-compatible chains, smart contracts cannot spend a user’s tokens without explicit permission. Before a contract can transfer tokens on your behalf, you must first approve an allowance — a transaction that grants the contract permission to spend up to a specified amount of a given token.

This applies to two key operations on the Aktionariat platform:

  • Direct Investment — When paying with cryptocurrency (e.g. ZCHF), the user must grant an allowance to the Aktionariat PaymentHub contract. This allows the contract to transfer the required stablecoin amount as part of the investment transaction.
  • Secondary Trading — Depending on whether you are buying or selling, an allowance must be granted to the Aktionariat TradeReactor contract. Sellers approve spending of their share tokens; buyers approve spending of their stablecoins. This enables the contract to execute the trade atomically — both sides of the transaction settle in a single on-chain operation.

When requesting an allowance, Aktionariat approves a very high amount rather than the exact amount needed for a single transaction. This means:

  • The user only needs to approve once per token per contract
  • Subsequent transactions do not require a new approval
  • There is no need to set an allowance before each trade

This is an established practice in DeFi, used by protocols such as Uniswap and Aave. It reduces transaction friction and saves gas costs by eliminating repeated approval transactions.

Allowances can be revoked at any time, outside of the Aktionariat platform. If you want to remove a previously granted allowance, you can do so using tools such as revoke.cash. Revoking an allowance sets the approved amount back to zero, meaning the contract can no longer spend your tokens until a new allowance is granted.