I tried to exchange NMR (Ethereum token) to ETH, but both Uniswap and 1inch only suggest I sign a transaction for 0 ETH value. I signed this transaction, and here's the result:

0-value transaction

What's this "Success"? Because they have taken the transaction fee, but no exchange took place. What is it for? What did I pay for?

Btw, my wallet app shows "Call Contract succeeded" instead of "Success". I haven't found anything useful on it. The best I've found is "call" is performed without a fee. But in my case, I had to pay. Apparently, there are several terms "call" in Ethereum.

Why does this happen? How can I exchange NMR to ETH?

UPD: I've tried to swap on Uniswap 2 times, and both times, apparently, I've just paid for this approval. Both these 0 ETH transactions refer to the same Contract ID. I've connected with WalletConnect to etherscan.io and tried to perform approve on this Contract with _spender (address) to be official Uniswap address 0x7a250d5630b4cf539739df2c5dacb4c659f2488d. It fails with an error: estimateGas: execution reverted.

Do you have any ideas about what happened? How do I use this contract that I've paid for 2 times? How do I swap? Thanks

2 Answers 2


The problem was two things:

  1. I was badly informed on the following topic: ERC20 Approve/Allow
  2. Uniswap and 1inch interface had changed or something. Slightly, but enough to confuse me.

The first point is better explained by @Ismael and the article.

Let me write down the second.

When trying to perform such exchange (from similar Ethereum token to ETH), it used to be there were two buttons: "Approve" and "Swap". At first, "Swap" is a disabled button. Hence the UI conveniently and explicitly leads the user to "Approve" first. Then, after the successful transaction (which purpose is something like to put up your tokens for sale), the "Approve" button becomes disabled, and "Swap" is finally enabled. So you just swap as usual.

But this time and from now on currently (2021 May 18), there's only 1 button - "Swap".

So, just to reiterate for dumb people like me:

  1. First you choose your coins and the right amount you want to swap. Then click this "Swap" button, and it will prompt you to sign a transaction for the value of 0 ETH. You sign. An approval for swapping has been made, and no swap took place yet. (I honestly still don't know how most of the parameters you get to tweak apply here for this transaction, except for the Gas price. The UI lets you choose the parameters like you actually going to swap)
  2. Second, you repeat exactly the same thing, make sure you chose the same coins and entered the same amount. Now the parameters you choose are going to make some sense because you actually are going to swap. You click "Swap", and it prompts you to sign a transaction for the value of 0 ETH. Yes, again. But this time it will actually swap.

Uniswap's support helped me while dropping a hint: you should not rely just on the beautiful UI of these exchange platforms. You absolutely have to know how and what should exactly things happen before performing a transaction that involves cryptocurrency.

You would say, like with any other transaction. But with most banks, for example, they won't allow you to know what exactly the process is. They will with cryptocurrency; transparency is crypto's calling card. This transparency is damn opaque though. Make sure you look through it well enough.

  • Btw, why did I pay 2 times for the approval? First time I've paid for approval in V2, the second time I've paid for approval in V3. Choose either and proceed with any specific one.
    – Kukuster
    May 19, 2021 at 8:43

Due to some ERC20 shortcomings uniswap requires to execute two transaction:

  1. approve Call token contract to authorize uniswap access to your NMR tokens.
  2. swap Call uniswap contracts to perform the token swap

The capture is from step 1. so no swap has been performed yet.

  • Thanks for the info, I've updated the question with new problems...
    – Kukuster
    May 17, 2021 at 7:57
  • @Kukuster Are you using uniswap app? It should guide to complete the process.
    – Ismael
    May 17, 2021 at 8:12
  • I was using Uniswap web app. It used to be that Uniswap normally has two buttons in this case: "Approve" and "Swap". I've only have "Swap". The UI just allows me to calculate exchange. I press "Swap", and it sends me a request to sign a transaction of value 0 ETH. I did it 2 times, and it just made me pay for the same contract that it fails to approve.
    – Kukuster
    May 17, 2021 at 8:19
  • @Kukuster Did you enter the amount desired to be exchanged?
    – Ismael
    May 17, 2021 at 13:34
  • 1
    Yes of course. I've solved the issue late yesterday and wrote down the answer. Thanks for the references. It helped.
    – Kukuster
    May 18, 2021 at 17:27

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.