
By Decentrio
We Decentrio propose to provide a reliable RPC service and make a highly functional transactions/events indexer for Soroban Dapp.
Decentrio will provide highly available Soroban RPC endpoints, capable of scaling up to high loads. Leveraging our experience running highly available and secure infrastructure in Cosmos, we will provide access points to power Soroban developers and apps. This will include public RPC endpoints for testnet and futurenet, as well as paid plans for mainnet. Mainnet RPC usage will require a paid account, with a limited free tier offered to any Soroban Grant recipient. By leveraging advanced monitoring and load balancing over several Stellar Nodes, we can achieve 99.9% uptime. We will load-test the endpoints before going live to understand the machines needed to handle given loads (queries per second) and provide a sliding budget based on the needed scale.
Decentrio will offer very competitive pricing. We have experience running high-load nodes efficiently in the Cosmos space, by moving from AWS to more cost-efficient providers and tuning the machines properly. Block Eden pricing is $20/month for 20000 req/day, and we will offer a free tier at a similar amount, with paid tiers for those teams who need more requests.
While many other teams are porting existing GraphQL designs to Soroban, or exposing lots of raw data (no frontend developer wants to deal with base-64 XDR values), we will work with existing Soroban dApps to design a user-friendly API focused on their needs. This means we will start with specific endpoints that developers need and provide them in a clean, user-friendly format, along with sufficient documentation. And then add more powerful queries in a future round, once we have demonstrated we can provide a dev-friendly API for the common needs.
The indexer service will run alongside a separate Soroban node (not a public RPC endpoint), ingesting all the Soroban transactions and events into a PostgreSQL database. Notably, we will not focus on non-Soroban transactions, as there are already well-developed solutions for that (eg Stellar Horizon). We will provide a documented REST API to query contract events, filtering by contract IDs and topics. All infrastructure will be built in Golang, which enables the use of many Stellar/Soroban libraries, as well as many mature and efficient libraries to build APIs. Our team has deep experience in this language.
One key point is the translation of base64 XDR values to human-readable JSON. One can design a 1-to-1 mapping that allows XDR to be converted to unique JSON that can be converted back to the same XDR (needed when taking as input for the API). Things like the difference between encoding a symbol and a string must be exposed. Similar work has been done before in JavaScript, and we will borrow from that interface design.
The Alpha version of the product will include:
- Continuously running ingestor pushing Soroban data into a PostgreSQL database - A tested XDR ↔ JSON conversion for ScVal, which includes all data and topics emitted from Contracts - A documented API to query for transactions based on contract ID and topics, including pagination - A publicly reachable endpoint for testnet and mainnet, so dApp developers can try it out and give feedback to help shape future APIs (no uptime, load guarantees)
Once this stage is successfully completed, we plan to apply for a Community Grant to build out further endpoints and queries needed by developers, as well as subscriptions/alerting and provide a more robust hosting infrastructure, along with a tiered subscription service based on usage and load.
$50.0K

