Whereas when you marketmake on a last-look basis:
- You, the marketmaker, are sending indicative prices to the ECN
- The ECN sends orders to you and is at risk (since you have the option to reject, hopefully rarely)
When you marketmake on a no-last-look (NLL) basis:
- the ECN is sending indicative prices
- You, the marketmaker, send orders to the ECN and you are at risk unless you cancel such orders (and your ability to do so depends on the reaction time of your model, latency between you and the ECN and the ECN reaction time).
Some ECNs provide only one API both for taking and NLL marketmaking. On those you are using their standard API that allows aggressive orders (IOCs) and passive, resting orders (e.g. GTCs). You, as an NLL marketmaker are just using the GTC order types and sending cancels every time you wish to change or cancel your price.
Other ECNs do provide a separate API for NLL marketmaking, a significant feature being that you will not match with other marketmakers. If you contact me directly (my contacts should be visible in my profile) I can explain which are which.