The solver that offers the very best execution value is granted the best to settle the consumer's order. The particular settlement transaction is then produced and signed from the solver. Solvers can move tokens on behalf of the user (using the ERC20 approvals the consumer granted for the settlement agreement) http://cow-protocol.fi/