A fundamental question for the Core team: who is Kaspa being built for?
First of all, I fully support the proposal to add getUtxosByCovenantId. However, I believe this discussion raises a much more fundamental question.
When covenants and Covenant IDs were introduced, I assumed they were intended to enable applications that interact directly with the blockchain through a standard RPC node. In other words, a developer should only need to write a covenant and a client application, while users could interact with it through any Kaspa RPC node—without any intermediary services.
Today, that isn’t possible.
Even when running a full node, developers still need to build and maintain their own indexer or rely on someone else’s.
To me, this is not primarily about convenience—it’s about architecture.
If an additional server is required between the user and the blockchain, then the user is no longer interacting directly with the blockchain, but with the developer’s infrastructure. That dependency also significantly increases the cost of building and operating applications. Instead of just a covenant and client code, projects now require servers, DevOps, monitoring, redundancy, maintenance, and everything else that comes with operating backend infrastructure.
This inevitably raises the barrier to entry and makes many smaller projects economically impractical.
So my question to the Core team is simple:
What is the intended architecture for applications built on Kaspa?
Should a standard RPC node expose everything necessary to interact with covenants, allowing users to communicate directly with the blockchain?
Or is the expectation that any serious application will always require its own indexing layer as a fundamental part of its architecture?
To me, getUtxosByCovenantId is not just another RPC method. It’s a reflection of a much broader design philosophy.
Is Kaspa intended to become a platform where applications can exist with little or no backend infrastructure, communicating directly with the blockchain? Or is external indexing considered a permanent and necessary layer for building on Kaspa?
I think the answer to that question will have a much greater impact on the future of the ecosystem than any single RPC method ever could.