I'm wondering why did they only allow one approved address per token to transfer on behalf of the owner of that token. Doesn't this support more of a centralized way of handling NFTs, as in it allows for the NFT to only be on one NFT Marketplace at any given point rather than allowing multiple? I'm just scratching my head on why this was the design decision that was made. If anyone can shed some light on this, thanks!

1 Answer 1


Another standard for NFTs allows multiple approvals per token on the NEAR blockchain.

Implementing that feature has a specific major downside. Token approvals need to be unwound when transferring the token. Only two implementations are possible:

  1. Use a for-loop to unwind each approval. This makes transfers arbitrarily expensive and allows for a denial-of-service attack.
  2. Use a map-upgrade to clear all approvals at once. This causes the implementation to leak storage with data stored on-chain increasing without bound.

NEAR chose option 1.

ERC-721 chose to disable the feature altogether.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.