Syncing of all user ERC20 tokens

We need to fetch all of the token balances of the users of our app on a weekly basis. We want to use the Web3API.account.getTokenBalances function but without authenticating the users with the Moralis SDK as this is a background job running on our servers.

So I had some questions regarding how Moralis stores and returns this information

  1. Do we need to add all our usersโ€™ public addresses to be synced and watched? User Balances and Transactions.
  2. If yes, do we need to pass sync_historical as true? We only need the instantaneous balances of the user, not historical transactions
  3. Is there a limit on the number of public addresses that can be synced?
  4. How frequently does Moralis sync these balances?
  5. Is there a limited list of tokens that Moralis monitors or is it all ERC20 tokens?
  6. How many requests can we make every minute in the Pro plan? I read somewhere that expensive API calls count as more than 1 API call

The server will not sync balances now, only transactions, if you use that sync and watch address functionality.

You can use web3api to get that info, the number of requests that you can make per second depends on the endpoint that you use, every endpoint can have a different cost.

for example

  {
    "endpoint": "getTokenBalances",
    "path": "/{address}/erc20",
    "price": 5,
    "rateLimitCost": 5
  },

means that you can make 5 requests per second with a free plan and 12 requests with a pro plan.

the balances are synced real time for the data that you get by using web3api

1 Like