I'm struggling to understand what can be accomplished with smart contracts. Can they actually hold (or force a transfer at completion of) ether? Could they work almost like an escrow account? Or would that require a "trusted" wallet to hold the funds until the contract completed?

Would it be more feasible to try to create your own tokens and allow them to be redeemed? My understanding is this would work, but would still require a "master account" to be manually held on the "honor system".


1 Answer 1


They can function as a trustworthy escrow with transparent inner workings. They can receive and send ether, but they can't take or force ether from another account. They can do all sorts of accounting and rule enforcement including issuing their own tokens. In the case of their own token, they can shape to the rules to their liking. Forceful transfer between other parties could be done in response to a triggering event as a matter of correct accounting. ERC20 is an emerging token standard with contracts downloadable from Github.

  • That's great information Rob. Could you perhaps edit your answer with some documentation of a few of the things you mentioned. For instance, how can you structure new tokens to have additional features (like expiring or being voided by the creator)?
    – Keith
    Dec 21, 2016 at 20:55
  • 1
    This might demystify tokens: ethereum.org/token. The contract is a mint and a clearing house, so it oversees every transaction that will happen. You might consider multi-colored tokens that morph each time they're spent. Admin controls are similar to any worthwhile software except that the code is generally open to inspection. One also needs to remember that if any human agency has too much power then the contract won't be trusted. Design tends toward incentives, economics, trust and dealing with adversity while aiming to keep it as simple as possible. Dec 21, 2016 at 22:13
  • @RobHitchens Thank you, but I am really struggling to understand. What is the intention of a contract account holding ether if this ether can not go back to the main developer of this smart contract?
    – Anonymous
    Aug 26, 2021 at 17:03
  • Think of a vending machine. It can hold candy, and money from sales. It can allow the owner to add more candy. It can release the money for the owner. Contracts are programmable machines that be as simple or as intricate as the developer wants them to be. They will not do anything they are not programmed to do. That includes transferring funds to someone who thinks he owns it. If that is needed, then it needs to be created in the same way a door with a lock needs to be installed on the vending machine. Aug 28, 2021 at 7:41
  • So just to be clear on the topic of ETH itself (not ERC20) - the owner of the contract holds these tokens e.g. via a function deposit() external payable function?
    – Dominic
    Dec 19, 2021 at 13:09

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.