Am I right to say that the data stored in a contract are stored as tables and that for every row, we would have to emplace that row to a user, who would then pay for the storage?

Or is one particular user liable for the storage of the whole smart contract?

  • each row need a biller
    – Jimmy Guo
    Jul 24, 2018 at 2:45

1 Answer 1


Yes, someone has to pay for the table store, i.e. RAM. You (contract) can choose who to pay. For example, in eosio.token contract, it is the "sender" paying RAM if the receiver is not in the balance table.

  • what about every entry in the table, can i bill them to each user specifically?? Or the person that owns the contract pays for everything
    – Randy
    Jul 24, 2018 at 6:06
  • 1
    yes, you can bill different accounts for different rows. like eosio.token bills different accounts for storing their own balance
    – confused00
    Jul 24, 2018 at 8:29
  • Which line of code specifies who pays for storage and CPU?
    – eclipse
    Jul 29, 2018 at 8:09
  • Ah found it the multi index methods have a payer argument :)
    – eclipse
    Jul 29, 2018 at 8:11

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.