Skip to main content

What is token registration?

NEP-141 tokens require a small storage deposit per account.

NEP-141 fungible token contracts on NEAR require accounts to pay a small storage deposit before the contract can store balance data for them. This is often called “registration” and is performed by callingstorage_deposit on the token contract.

Why registration is required

Token contracts maintain per-account state (balances, allowances). To prevent storage-abuse, contracts require each account to cover the cost of storing its own data with a one-time deposit in NEAR. If an account isn’t registered, token transfers to or from that account may fail.

Who needs to register?

  • The receiver account (e.g., your vault) must be registered with the token to receive tokens viaft_transfer_call.
  • The sender account (e.g., a lender) typically must be registered as well to hold a balance with the token they intend to send.

How to register

  1. Call storage_balance_bounds on the token to read the minimum deposit required.
  2. Call storage_deposit attaching the minimum (or more) NEAR deposit. Many UIs (including this one) offer a button to do this for you when needed.

Registration is usually one-time per token per account. If you unregister or the token contract refunds storage, you may need to register again before using it.

Costs and refunds

The storage deposit is held by the token contract to cover your on-chain storage. If your token-related storage footprint shrinks (e.g., you remove allowances and your balance goes to zero), some contracts allow you to reclaim part of the deposit via storage_unregister.

Troubleshooting

  • Transfer failed with a message about “storage” — register the account with the token first.
  • Unsure which account to register? Receivers of ft_transfer_call must be registered on the token, and senders should be registered to hold the token balance.