Proposal: Develop public NEAR indexer from HERE Wallet team (compatible with kitwallet api)

Preface

Today, most wallets do not have their own infrastructure to show balances/information from the blockchain. They rely on a wallet kit api and NEAR RPC.

wallet kit api is a lightweight indexer that helps to find user’s FTs, NFTs, accounts by public key.

Suggestion

From January 2024 its support will be discontinued, which may lead to big problems in balance display for most projects and wallets. We at HERE Wallet use our own infrastructure based on

we process blocks directly from RPC, independent of Lake Indexer and any centralized solutions.

We propose to develop a compatible api with wallet kit and create a microservice that other projects can use out of the box to create their own independent infrastructure around the NEAR blockchain.

Development will include

  • Creating a python microservice to process near-zmq-indexer blocks and store the information in Postgres

  • Adding api support:

    • account search by public key
    • list of NFT/SBT on account
    • FT list on account
    • transaction history return
  • Setting up a node on Amazon AWS for scalable stable operation

  • Сompiling detailed documentation on local deployment and documentation

The project will be published open source and at least one working node will be supported.

In the future, under separate grants, it is possible to extend the API to include block streaming and BOS notifications

Difference from NEAR Blocks

The main difference is minimalism and simplicity. This is a backed api that can be deployed by any NEAR project. Also it is api compatibility with wallet kit and openness. No authorization will be needed to use it (only api restriction for ddos protection).

Budget

Developing kitwallet microservice on top of near-zmq-indexer: 15k USDT
Setup a infrastructure on AWS: 3k USDT
Preparing detailed documentation: 3k USDT

Monthly project and infrastructure support: ~5k (2.5-3k+2k team)

*throughput up to 100,000 requests per minute

2 Likes

Thank you for this proposal.
How did you want to manage API Call ? Everything Free ? Limitation on usage ?

@Didier from Pikespeak can maybe help too

2 Likes

We plan to support a free node with a limit of up to 50 call/min requests per ip address. It will be suitable for use with client-side web applications, just like near wallet works now. For example for wallet it is enough 4 calls/min.

The estimate cost of 2-3k$ on AWS node will withstand the load of up to 100 000 calls/min. If necessary, the throughput can be expanded. We plan to support this node from a separate grant, just as the kit wallet is now supported.

At the same time, we assume that large projects will raise their nodes and emphasize that it will be convenient to do it

1 Like

Thks @DDeAlmeida for tagging us!

Hi @Neafiol,

Didier here, co-founder of pikespeak.ai. Have you considered using our API?

You can basically use the following endpoint, for example, to display any token balances for a given account: /account/balance/{contract}

Out-of-the-box, your team can cover the following requirements:

  • list of SBT on account → (/sbt/sbt-by-owner)
  • FT list on account → (/account/balance/{contract})
  • transaction history return → (/event-historic/{contract})

We would be glad to add list of NFTs and Account search by public key to cover at 100% your requirements.

Leveraging our API, I am confident that we can cover your needs at a fraction of the cost of an in-house solution.

Happy to continue the conversation on Telegram - we have a Pikespeak <> HERE group.

1 Like