# Interaction with smart contract directly or via meta transactions

**URL:** https://forum.openzeppelin.com/t/interaction-with-smart-contract-directly-or-via-meta-transactions/5642
**Category:** Support
**Tags:** design
**Created:** [February 2, 2021, 8:32am UTC](https://forum.openzeppelin.com/t/interaction-with-smart-contract-directly-or-via-meta-transactions/5642 "2021-02-02T08:32:45Z")
**Posts on this page:** 1
**Showing post:** 4

<div class="post-metadata">

### Author: ![abcoathup](https://sea2.discourse-cdn.com/flex022/user_avatar/forum.openzeppelin.com/abcoathup/32/415_2.png) [@abcoathup](https://forum.openzeppelin.com/u/abcoathup)
#### Post date: [February 5, 2021, 3:24am UTC](https://forum.openzeppelin.com/t/interaction-with-smart-contract-directly-or-via-meta-transactions/5642/4 "2021-02-05T03:24:01Z")

</div>

Hi @micheal,

EOAs are externally owned accounts and have a private key.

Each user of your system will have an EOA and they would need to pay for gas to create a transaction that interacts with your smart contract.

Alternatively, you could use meta transactions, where each user signs a message with their EOA and you have a relayer that submits the transaction.

You may want to sign up for the workshop next week which will cover meta transactions and how you can implement using OpenZeppelin Defender: [Workshop: Gasless MetaTransactions with OpenZeppelin Defender - Thursday 11 February 2021](https://forum.openzeppelin.com/t/workshop-gasless-metatransactions-with-openzeppelin-defender-thursday-11-february-2021/5662)

> [@micheal](#):
>
> Is it possible to have only one EOA that collects all the front-end requests (customer id + payment)? Is this id the customer’s EOA? So an EOA (contract manager) that collects many EOA + payment?

You could use a relayer (as described above)

> [@micheal](#):
>
> Must the payment of each client (which is collected by the contract manager) be in ether or in real money?

If the client is creating a transaction then they will need to pay gas in Ether for the transaction and any fee you are charging, this could be in Ether or a token (including stable tokens).

If you are relaying the transactions for your clients, then you could charge your clients using Fiat, or Ether or a token.

> [@micheal](#):
>
> Is it correct to say that my contract manager (implemented with web3.js) owns the only EOA that sends transactions to the smart contract?

No, it depends how you architect your system.

> [@micheal](#):
>
> If all this can be done, are the users paying the contract manager for gas? Or is it the contract manager who does it?

Whoever initiates the transaction pays gas, either the clients directly, or if using meta transactions via the relayer, it is the relayer.

---

_[View the full topic](https://forum.openzeppelin.com/t/interaction-with-smart-contract-directly-or-via-meta-transactions/5642)._
