# Maker Gasless Poll Voting ### Summary: * It offers the ability for a voter to submit their vote preference at no cost. * It uses a relayer service to securely submit the vote metadata to a polling contract on arbitrum. * L2 votes are merged with votes from L1 and the results are presented seamlessly in the UI. ### Diagram: ![](https://i.imgur.com/FSis3v4.png) ### User Flow 1. Users submit their votes via the gasless system, it's opt-out (they can use L1 voting if they choose to do so). 2. They sign a message with their vote selections + metadata with their wallet. 3. Gov portal backend does some validation to prevent spam, this includes: * Address has at least 0.1 MKR. * Address has not sued the voting system in the last 10min. * Address has not voted more than once in any of the polls inclueded in the ballot. * Address is not a multisig wallet. 4. Vote is submitted by their relayer to the polling contract on Arbitrum, the relayer pays the gas. 5. Gov polling DB "listens" for the event and records it on the table. when requested by frotnend votes from L1 and L2 are merged + calculated. 6. Frontend displays the poll results in the UI. ### Defender Relay * Ethereum-account-as-a-service provided by [OpenZeppelin](https://docs.openzeppelin.com/defender/relay) * Defender Relayers are general-purpose relayers. * When a new Relayer is created, Defender will create a new private key in a secure vault. * When you request Defender to send a new transaction, it will use the corresponding pk. * Thee might be some security considerations, for example when using an ORU, like Arbitrum or Optimism, the relayer depends on the chain's sequencer, so if it goes down or censors a txn then it won't be able to bypass it and commit directly to L1.