Currently (all?) clients manually implement the RPC API, which is problematic, because:
- It leads to accidental implementation bugs, such as unit mistakes (s/vB vs BTC/kvB)
- It is hard to maintain, when the API changes
- It requires effort to implement in a new programming language
So it could make sense to have a formal specification.
Please leave a comment if there are additional aspects to consider here, or if you have ideas for a solution.
One solution for a formal description could be OpenAPI. Generators exist, such as (random example) https://github.com/microsoft/kiota?tab=readme-ov-file#supported-languages