Carbon X Metatransactions = No More ETH Gas Fees

Drip Drip

Hello! Today, the Carbon Team is happy announce that users of the Carbon Wallet no longer have to pay ETH gas fees when sending or redeeming CUSD.

Want to try it out without paying real money? Check out our open-source Ropsten “Faucet” where you can get free test CUSD, send it to a friend, and redeem it without spending any ETH 🤯. Don’t have an ETH account? No problem! Create temporary ETH accounts on the faucet site.

To repeat — to use CUSD you no longer need to own any ETH ✅


We have been working hard to upgrade our product and we believe this latest feature will improve the user experience for our current users and will also widen access to customers who might have otherwise been slow to adopt. At the end of the day, who actually enjoys paying gas fees?

This breakthrough feature is powered by our new back-end engine Carbon Fiber, which will allow any application to include a {fiat← →crypto} gateway with just a few lines of code. (Think of Carbon Fiber as an API that provides “fiat gateway as a service” that would allow end users to programmatically create the best version of fiat-CUSD ramps).

While our mission is to help build a new and Decentralized Internet devoid of panoptic centralized control, we acknowledge that this ethos is not an obvious sell to customers that are already satisfied by (or addicted to?) existing platforms. We can get all hot and bothered talking about upgradeable proxy contracts and metatransactions, trust me, but most software users care only about faster and cheaper products. Period.

Thanks again to Austin’s work, I came to realize that metatransactions are one of the smart contract inventions that actually move the needle on user experience. Spreading the benefits of digitized money but shaking off the centralized middle parties creates difficult technical problems, and transaction fees are one of the most despised. “Metatransactions” enable users to call an Ethereum smart contract action by swapping ETH fees for CUSD fees. Typically, users must package transaction fees, also known as “gas”, into their smart contract transaction packages to incentivize Ethereum miners to publish their actions.

The technical explanation of how metatransactions work is very clever: instead of signing and sending a transaction directly to a public Ethereum network, the user can instead just sign a transaction with their private key. Broadcasting blockchain transactions is like mailing physical letters: the signature for writing a letter is free, but the postage stamp costs money. So, if a user wants to send CUSD, then they can sign a “send” transaction without actually broadcasting it or ‘putting a stamp on it’. Next, our servers will pick up this signed transaction and broadcast it to the public network on behalf of the user. After cryptographically verifying that the original user’s signature, Carbon will pay for the user’s gas fees to publish the transaction

Why will users love this new feature? Previously, when users converted U.S. dollars / Fiat into CUSD on Ethereum, they needed to hold at a minuscule amount of ETH to do anything interesting with the CUSD like transferring or redeeming. Now, CUSD holders will never again have to hold ETH to interact with the CUSD-ETH payment rail. Great success!

Demo time:

Here, I am sending CUSD from an etherless account by signing a “transfer” metatransaction.

I just sent CUSD from an etherless account. A relayer account published the “Send” action on my behalf and paid my ETH gas fees. In return, I paid the relayer account (relayer address: 0xfe6…) an equivalent amount of CUSD.

In the previous iteration of the Carbon Wallet, to send CUSD from an etherless account I would have had no choice but to buy ETH to push my “transfer CUSD” transaction through.

Money deserves elegant UX design too.


For those interested in seeing code, check out this public gist of MetaTokens, and the open source wallet for the Ropsten Faucet.

Our Solidity smart contract code is also publicly hosted on etherscan.

Inspired by the work of some top-notch Ethereum devs:

@austingriffith — https://twitter.com/austingriffith/status/1068529962901168129

@PhABCD — https://twitter.com/PhABCD/status/1021974772786319361