title_body: General approach for allowing multiple smart contract transactions per block In some applications, multiple users interact with the same smart contract and may want to do it at about the same time. Such interaction involves updating the state of the smart contract as embodied in the UTXOs of the smart contract address. One example application is a DEX.
  Because all the users interact with the same smart contract, potentially spending existing UTXOs and creating new ones, potentially only one user can succeed in each block and the other users have their transactions rejected due to double-spending the UTXOs, limiting the throughput of the application.
  Is there a general approach for dealing with this kind of situation to allow more transactions for a smart contract to succeed in each block?
upvoted_answer: Not as far as I know. The current model is limited to one state change (transaction) per block per smart contact.
  However, depending on the specific smart contact and its use case, I can see people using a centralized entity (or a group of users) post transition proposals and then have an incentive to bundle all of those up into one that actually modifies the global state. Not ideal, but this is the price to pay to have a state-full smart contact design.