This is an excellent summary. Thanks a lot @adrianhopebailie for writing it up!
A couple of clarifying questions:
- Are the APIs between the various components you’re describing assumed to be HTTP/RPC APIs (network calls), internal APIs, or is that to be determined?
- Would a combined settlement engine + ledger adapter be a 3rd option? (It seemed like that was what we were discussing before)
If we agree on having a ledger adapter with an HTTP/RPC API, then we actually don’t need to agree on the internal / external settlement engine design. I think the main question to this point has been how to abstract away different settlement systems in such a way that we don’t need to reimplement the integration in every programming language. If different people start working on external settlement engines that require different APIs from the connector, it may be nice to try to standardize those but it doesn’t seem like we need as broad agreement on that design as for the ledger adapter.
Update: I started a new thread on the Ledger Adapter API to work on designing that component.