MetaMask / MetaMask/metamask-extension
[Bug]: Unable to submit transaction with insufficient balance
Nobody has claimed this yet.
- Dominant language
- TypeScript
- Stars
- 13.2k
- Forks
- 5.6k
- Avg merge
- 2d 5h
- Merged PRs (30d)
- 451
Description
**Describe the bug**
When attempting to submit a transaction that will be sponsored (so a user will not be required to hold the gas cost or value), Metamask refuses to allow submission, suggesting the user buy Ethereum. This runs counter to widely-supported transaction sponsorship via MEV bundling.
**Expected behavior**
Allow the user to submit the transaction, possibly with a warning informing them this may be stuck.
**Steps to reproduce**
1. Select a wallet
2. Attempt to send transaction that you have insufficient funds to submit
**Error messages or log output**
```shell
You do not have enough ETH in your account to pay for transaction fees on Ethereum Mainnet network. Buy ETH or deposit from another account.
```
**Version**
11.5.1
**Build type**
None
**Browser**
Chrome
**Operating system**
Windows, MacOS, Linux
**Additional context**
Metamask does not support a raw signature method to allow meta-transactions, so at the very least it should support transaction sponsorship. I'm willing to add the code for this feature myself if necessary. This feature would also enhance whitehat support for compromised account recovery without further dissemination of private keys, as a user could submit a transaction without requiring the gas to be in there (which is often swept out by bots after account compromise)
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
No source files, tests, or entry points are named in the issue. Start by locating the insufficient-balance validation for Ethereum Mainnet transaction submission and trace how sponsored transactions are represented. Done means a transaction can be submitted without the account holding gas or value, with an appropriate warning if needed, and coverage for the reported scenario.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- typescript
- Domain
- blockchain
- Issue type
- Bug
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 25/100