There is no waiting time for “confirmations” in Lyra, and no balance lockups, so how double spending is prevented? Every Lyra spending transaction is written in its own block. Therefore, each transaction block is authorized and signed by the network (authorier nodes) individually. Once a block is authorized, a transaction is added to the account blockchain in the node databases and becomes immutable. It takes just fractions of seconds to complete authorization of the transaction block. Since each account has its own blockchain, the only scenario for double spending is when the account owner creates and signs two blocks that look at the same previous block in the account blockchain, which is immediately detected by the authorizer nodes. Only one of double spending blocks will make it into the blockchain, all others will be rejected. If a spending block is rejected, the recipient of such a transaction cannot use it to create the receiving block because such a block would be rejected as well.See more information about double spending in Why DPoS and how is it different from PoW?