You seem to be using HTTP but removing the "web" and TCP part of this. If this is meant as an API framework for making signed, replicable requests & responses, why involve HTTP at all?
In particular, you probably do NOT want to be serving GET requests over this slow, inefficient transport at all, it would be much more appropriate for the state to be published to the chain (that's what blockchains are for...) and have clients read from there rather than issue duplicate idempotent requests.