On top of the (excellent) reply by Jürgen, please be aware that the "50 messages per second" limitation applies to all messages combined. Do not think that you can send e.g. 50 placeOrder() and 50 reqMktData() in the same second! So, if you decide to code a message-pacer yourself instead of relying on the built-in pacer IBKR provides, you have to combine all outgoing messages from your application software into TWS/Gateway in this pacer.