You need to send a unique transaction for each one you send(). You can either create once and send a unique clone(), or create each one you send. You sending a reference to a transaction, not the contents of the transaction. If you only create one transaction, and send the same reference over and over, you that will not work because randomize will change the values of the transaction you just sent as will as the transaction you are about to send. There is also base class data that needs to be unique, the like sequence id number that is used for routing responses. That has to remain unique for reach transaction you send. See Driver/Sequence API | Verification Academy