ERC-20 Approvals for Stock Tokens: Allowances, Permissions and Safer UX
An approval does not move a token. It authorizes a spender to move up to an allowance later, which makes spender identity and scope critical.

Key takeaways
- approve sets a spender allowance; transferFrom later consumes that allowance and can fail for token-specific policy reasons.
- Interfaces should show the verified spender, exact amount, current allowance and whether a broader approval is being requested.
- Canonical token identity, simulation and post-transaction allowance reads are essential for RWA workflows.
Approve 125 units, transfer 100, leave 25
In the basic ERC-20 model, a holder approves a verified locker for 125 units. A successful transferFrom of 100 units leaves a 25-unit allowance unless the token implements different documented behavior.
- Initial allowance
- 0
- Approval
- 125 units
- transferFrom
- 100 units
- Remaining
- 25 units
Read owner-to-spender allowance on the active chain.
Hypothetical exact bounded approval.
Spender moves the approved token amount.
Read again after the mined transfer receipt.
Illustrative values. Tokens can add transfer controls and applications must handle false returns or reverts correctly.
Source: ERC-20 token standard (Ethereum Improvement Proposals).
Approval and transfer are different actions
The ERC-20 standard defines approve to set how much a spender may withdraw from an owner's account. The spender later calls transferFrom. An approval transaction can succeed without moving any balance, and the user's intended deposit remains incomplete until the second transaction is mined.
Interfaces should show this sequence before the first signature. After approval, read the confirmed allowance and proceed only if account, chain, token and spender still match. Mobile wallet returns and chain-change events make that revalidation especially important.
Verify both sides of the permission
A token name and symbol are not identity. Resolve the stock token from an issuer registry for the active chain and confirm live code. Resolve the spender from the protocol's release manifest. A malicious interface can request a real token approval for an attacker-controlled spender.
Display checksummed addresses or a clear expansion control beside human labels. If a proxy is the intended spender, explain that the allowance remains attached to the proxy address while its implementation may change under an admin policy.
Bound allowances to the intended action
An exact approval limits the immediate amount a compromised spender can transfer, though repeated use requires new approvals. An unlimited approval reduces transaction friction but creates persistent exposure. The application should explain the choice rather than silently requesting the largest integer.
Existing nonzero allowances also need care because the ERC-20 specification discusses an allowance-change attack pattern and recommends user-interface mitigation. Some tokens require setting allowance to zero before changing it. Support should be based on observed contract behavior and simulation, not a universal assumption.
RWA tokens can add transfer policy
A stock token may implement pauses, eligibility lists, freezes or jurisdiction controls beyond the base ERC-20 interface. A sufficient allowance does not guarantee transferFrom will succeed. The caller should simulate the exact transfer and surface a meaningful restriction state before asking for gas.
Those policies can change under issuer governance. Applications need event monitoring and clear failure handling. They should not encourage repeated approvals when the real blocker is recipient eligibility or a paused asset.
Reconcile and help users revoke
After the protocol action, read the mined receipt, resulting token balance and remaining allowance. A successful approval followed by a failed deposit leaves permission behind. The interface should make that state visible and offer a path to revoke or reduce it.
Security pages can list current protocol spenders by network and link their verified code and role owners. This makes wallet approval warnings actionable. Users can compare what the wallet displays with a canonical release record instead of trusting a contract label supplied by the requesting site.
Sources and further reading
Sources were accessed for this publication on August 4, 2026. Product terms, networks and deployments can change; check the linked primary source before acting.
Related reading
Why Canonical Contract Addresses Matter for Stock Tokens and LP Positions
Ticker symbols and token interfaces are easy to imitate. Canonical identity comes from an authoritative registry plus live onchain verification.
Source Verification and Bytecode Matching for Onchain Market Infrastructure
Published source is useful only when users can connect it to the exact bytecode, network and configuration that holds assets.
Multisig and Timelock Governance for RWA Protocols: Roles and Response Paths
A multisig reduces single-key control; a timelock adds notice. Neither helps if one broadly privileged role can bypass the intended path.