메타마스크에서 가스비(네트워크 수수료)가 부족하다는 안내는 보내려는 토큰이 아니라 그 네트워크의 기본 코인 잔액이 모자랄 때 떠요. 이더리움 메인넷과 아비트럼·옵티미즘 같은 레이어2는 ETH, BNB 체인은 BNB, 폴리곤은 POL, 아발란체는 AVAX가 기본 코인이에요. 그래서 이더리움에 USDT만 있고 ETH가 0이면, 다른 토큰으로 수수료를 내는 기능이 적용되지 않는 한 USDT를 보낼 수 없어요. 비교 기준도 실제로 나갈 수수료가 아니에요. 메타마스크 확인 화면은 가스 한도와 최대 수수료를 곱한 값에 보내는 기본 코인 금액을 더해, 그 합이 그 체인의 기본 코인 잔액보다 크면 확인을 막아요. 보내기 화면에서 만든 거래의 가스 한도에는 추정값에 여유분 배수가 붙어서(이더리움 메인넷 기본 RPC면 1.5배), 실제 수수료는 낼 수 있는데도 확인이 막히는 구간이 생겨요.
먼저 요약하면 이래요.
- 해결: 막힌 거래의 네트워크에서 그 계정으로 그 체인의 기본 코인을 넣으면 풀려요. 이더리움 메인넷에 ETH가 있어도 아비트럼 거래에는 아비트럼 쪽 ETH가 따로 있어야 해요. ETH 자체를 보내는 거래라면 보낼 금액을 줄여도 되고, 이더리움·BNB 체인 등 일부 네트워크에서는 다른 토큰으로 수수료를 내는 기능도 있어요.
- 이더리움 계열 확인 화면: 제목은 「자금 부족」, 본문은 「계정에 네트워크 수수료를 지불할 ETH(이)가 부족합니다.」(모바일) 또는 「계정에 네트워크 수수료를 지불할 만큼의 ETH(이)가 부족합니다.」(확장 프로그램)예요.
- 수수료 충당 잔액 부족 문구: 모바일 앱 소스에서 이 문구는 솔라나·비트코인·트론·스텔라 같은 비EVM 계정의 보내기 화면에만 연결돼 있어요. 이 문구가 뜨면 그 체인의 수수료용 코인(트론이라면 TRX) 잔액부터 확인하세요. 확장 프로그램의 같은 자리 문구는 「수수료 지불 잔액 부족」이에요.
- 비교하는 금액: 가스 한도 × 최대 수수료(가스 1단위당) + 보내는 기본 코인 금액이에요. 보내기 화면에서 만든 거래의 가스 한도는 추정값에 여유분 배수를 곱한 값이라(10월 19일에 읽은 원격 설정 기준 이더리움 기본 RPC 1.5배) 보통 실제로 쓰는 가스보다 커요. 확장 프로그램은 옵티미즘·베이스 같은 일부 레이어2 거래의 L1 수수료도 더해요.
- 실제로 빠지는 금액: 실제 쓴 가스 × (기본 수수료 + 우선 수수료)예요. 최대 수수료와 실제 단가의 차이는 처음부터 빠지지 않아요.
- 다른 토큰으로 수수료 내기: 메타마스크 도움말 세 쪽이 지원 네트워크를 2곳, 5곳, 7곳으로 서로 다르게 적어요.
이 글은 2026년 10월 16일 오후 2시 13분부터 2시 27분 사이(한국 시각)에 GitHub에 올라온 메타마스크 모바일 v8.15.0·확장 프로그램 v13.52.0의 소스와 한국어 번역 파일, 이더리움 실행 계층 스펙(커밋 f5f512f), go-ethereum v1.17.8 소스, ethereum.org 거래 문서 원본, 메타마스크 도움말 7쪽을 직접 받아 정리했어요. 가스 한도에 붙는 여유분 배수는 2026년 10월 19일 오후 4시 5분부터 4시 17분 사이에 메타마스크 원격 설정과 core 저장소 코드를 받아 확인했어요. 앱 화면을 캡처해 보지는 않았고, 어떤 문구가 어느 화면에 뜨는지는 그 문구를 부르는 소스 코드로 확인했어요.
![]()
이 글이 읽은 자료
| 자료 | 확인한 내용 |
|---|---|
| 모바일 한국어 번역 ko.json v8.15.0 | 「수수료 충당 잔액 부족」과 「자금 부족」 알림 문구 |
| 확장 프로그램 한국어 번역 messages.json v13.52.0 | 「수수료 지불 잔액 부족」, 「자금 부족」 알림, 스왑 화면 부족 문구, 가스 선택지 이름 |
| 모바일 useAmountValidation.ts, useSendType.ts | 보내기 화면 금액 검사와 비EVM 오류 코드 연결 |
| 확장 프로그램 useAmountValidation.ts | 같은 검사의 확장 프로그램 쪽 |
| 확장 프로그램 트론 보내기 자동 테스트 | TRX가 모자란 계정의 USDT 보내기 차단 |
| 모바일 useHasInsufficientBalance.ts, useInsufficientBalanceAlert.ts | 확인 화면의 잔액 비교식과 알림 조건 |
| 확장 프로그램 useHasInsufficientBalance.ts, useInsufficientBalanceAlerts.ts, useFeeCalculations.ts, useTransactionGasLimit.ts, send.utils.js | 같은 비교식, 최대 수수료와 예상 수수료 계산, L1 수수료 가산 |
| 보내기 거래를 만드는 확장 프로그램 send.ts, 모바일 send.ts | 보내기 화면이 가스 한도를 미리 넣지 않는 점 |
| 모바일 스왑 확인 버튼, useHasSufficientGas, useGasSponsorshipWarningAlert.ts | 스왑 화면의 「가스 부족」 조건, 모나드 최소 잔액 알림 |
| 메타마스크 core gas-fees.ts, gas.ts, feature-flags.ts | 저장된 설정이 없을 때 쓰는 가스 수준, 가스 한도 추정과 여유분 배수 적용 순서 |
| 메타마스크 원격 설정(client-config.api.cx.metamask.io, 확장 프로그램·모바일) | 2026년 10월 19일 오후 4시 5분에 읽은 가스 한도 여유분 배수 |
| 메타마스크 가스 추천값 API(gas.api.cx.metamask.io, 이더리움 메인넷) | 2026년 10월 16일 오후 2시 17분 53초에 한 번 읽은 이더리움 추천값 |
| 실행 계층 스펙 bpo2/fork.py, london/fork.py | 잔액 검사, 실제 청구와 환급, 런던 포크부터 같은 검사 |
| 실행 계층 스펙 osaka/vm/gas.py, osaka/transactions.py | 21,000(TX_BASE)과 거래 데이터 비용 |
| go-ethereum error.go, txpool/validation.go, types/transaction.go, gasestimator.go | 노드가 돌려주는 영어 오류와 그 계산, 일반 송금의 가스 추정 |
| ethereum.org 거래 문서 원본 | 토큰 전송 거래의 데이터 예시 |
| 메타마스크 도움말 자금 부족 오류, 가스 포함 거래, 가스리스 스왑, 가스 안내, 가스비 추정, 가스 후원, 가스 설정 | 기본 코인 예, 해결 방법, 다른 토큰으로 수수료를 내는 조건과 네트워크 목록 |
메타마스크의 부족 문구는 뜨는 자리마다 달라요
검색창에 들어오는 문구가 여러 가지라 먼저 정리할게요. 메타마스크 소스에서 수수료가 모자랄 때 쓰는 한국어 문구는 뜨는 자리에 따라 여러 가지예요. 아래는 보내기·확인·스왑 화면 문구예요.
이더리움 계열은 확인 화면의 「자금 부족」 알림
이더리움, 아비트럼, BNB 체인, 폴리곤 같은 EVM 체인에서 거래를 확인할 때는 「자금 부족」이라는 제목과 함께 「계정에 네트워크 수수료를 지불할 ETH(이)가 부족합니다.」(모바일), 「계정에 네트워크 수수료를 지불할 만큼의 ETH(이)가 부족합니다.」(확장 프로그램) 알림이 떠요. 번역 파일에는 ETH 자리가 변수로 들어 있고, 소스는 그 자리에 거래하는 체인의 기본 코인 기호를 넣어요. 두 앱 소스 모두 이 알림을 확인을 막는 알림으로 만들고, 수수료 줄에 붙이며, 기본 코인을 사는 버튼(모바일 「ETH 구매」, 확장 프로그램 「ETH 매수」)을 달아요. 메타마스크 도움말은 확인 버튼이 회색으로 눌리지 않는 경우도 같은 원인, 곧 거래 비용을 낼 기본 코인이 모자라서라고 적었어요.
「수수료 충당 잔액 부족」은 비EVM 보내기 화면 문구
검색이 많은 「수수료 충당 잔액 부족」은 모바일 앱의 보내기 화면 문구예요. 모바일 v8.15.0 소스에서 이 문구를 부르는 앱 코드는 한 곳이에요. 솔라나·비트코인·트론·스텔라 같은 비EVM 계정에서 보낼 금액을 검사할 때, 그 체인을 처리하는 스냅(메타마스크에 붙는 체인별 확장 모듈)이 InsufficientBalanceToCoverFee라는 오류 코드를 돌려주면 이 문구가 떠요. 확장 프로그램 v13.52.0의 같은 자리에는 「수수료 지불 잔액 부족」이 연결돼 있어요. 확장 프로그램의 자동 테스트에는 TRX가 거의 없는 트론 계정에서 USDT를 보내려 하면 이 오류가 뜨고 계속 버튼이 꺼지는지 확인하는 항목이 있어요.
이 문구가 떴다면 보내려는 토큰보다 그 계정의 수수료용 코인 잔액부터 확인하세요. 위 테스트처럼 트론 계정이라면 TRX예요. 수수료를 얼마로 잡아 잔액과 비교하는지는 각 체인의 스냅이 정해요. 이번에 연 메타마스크 앱 파일에는 그 계산식이 없어서, 아래에서 설명하는 이더리움 계열의 최대치 비교식이 그대로 적용된다고 볼 근거는 없어요. 또 이 연결은 v8.15.0과 같은 날 받은 기본 브랜치 소스 기준이에요. 예전 앱 버전에서 이더리움 거래에도 이 문구가 쓰였는지는 확인하지 않았어요.
보내려는 자산 자체의 잔액이 0이면 스냅에 묻기 전에 「자금 부족」이 먼저 떠요. 두 앱의 이 검사는 보내려는 자산의 잔액만 보고 수수료용 코인이 0인지는 보지 않아요. 그래서 USDT는 있고 TRX만 없는 경우처럼 보내려는 토큰 잔액이 있으면 이 검사를 지나 스냅의 판단으로 넘어가요.
같은 「자금 부족」이 토큰 금액을 넘겨도 떠요
헷갈리기 쉬운 점이 하나 더 있어요. 보내기 화면에서 가진 것보다 많은 토큰 금액을 넣어도 「자금 부족」이 떠요. 두 앱의 이 검사(validateTokenBalance)는 보내려는 자산 자체의 잔액만 비교해요. 같은 「자금 부족」이라도 보내기 화면의 금액 검사에서 뜨면 보내려는 토큰이 모자란 것이고, 확인 화면의 수수료 줄에 「계정에 네트워크 수수료를 지불할」로 시작하는 문구와 함께 뜨면 기본 코인이 모자란 거예요.
스왑 화면은 「가스 부족」
모바일 앱의 스왑 화면에는 문구가 하나 더 있어요. v8.15.0 소스의 스왑 확인 버튼은 그 체인의 기본 코인 잔액이 견적의 네트워크 수수료보다 적으면 버튼을 끄고 문구를 「가스 부족」으로 바꿔요. 견적이 가스 포함이거나 후원 거래면 이 검사를 하지 않아요. 확장 프로그램 v13.52.0의 스왑 화면은 견적의 수수료를 낼 기본 코인이 모자라면 「가스비를 위해 더 많은 ETH 필요」라는 제목과 「ETH(이)가 부족해 이 스왑에 대한 네트워크 수수료를 지불할 수 없습니다」라는 설명을 띄워요.
| 문구 | 앱 | 뜨는 자리 | 모자란 것 |
|---|---|---|---|
| 자금 부족, 계정에 네트워크 수수료를 지불할 (만큼의) ETH(이)가 부족합니다 | 모바일, 확장 프로그램 | EVM 거래 확인 화면의 수수료 줄 | 그 체인의 기본 코인 |
| 수수료 충당 잔액 부족 | 모바일 | 비EVM 계정의 보내기 화면 | 그 체인의 수수료용 코인(트론은 TRX, 필요 금액은 스냅이 계산) |
| 수수료 지불 잔액 부족 | 확장 프로그램 | 비EVM 계정의 보내기 화면 | 그 체인의 수수료용 코인(트론은 TRX, 필요 금액은 스냅이 계산) |
| 자금 부족(금액 검사) | 모바일, 확장 프로그램 | 보내기 화면의 금액 검사 | 보내려는 자산 자체 |
| 가스 부족 | 모바일 | 스왑 화면의 확인 버튼 | 그 체인의 기본 코인 |
| ETH(이)가 부족해 이 스왑에 대한 네트워크 수수료를 지불할 수 없습니다 | 확장 프로그램 | 스왑·브릿지 화면 | 그 체인의 기본 코인 |
투자 정보 안내
본 글은 암호화폐 시장에 대한 객관 데이터·정보 제공 목적이며, 특정 코인 매수·매도 권유가 아닙니다. 암호화폐는 변동성이 매우 크고 원금 전액 손실이 가능하므로 본인 판단과 책임 하에 결정하세요.
기준은 실제 수수료가 아니라 최대치예요
이더리움 계열에서 메타마스크가 잔액이 모자란다고 판단하는 식은 두 앱이 같아요. 모바일 useHasInsufficientBalance.ts는 거래의 최대 가스 단가(EIP-1559 거래면 maxFeePerGas, 예전 방식 거래면 gasPrice)에 가스 한도를 곱하고, 보내는 기본 코인 금액(value)을 더한 값이 기본 코인 잔액보다 크면 부족으로 봐요. 확장 프로그램도 같은 이름의 파일에서 보내는 금액과 최대 수수료를 더해 잔액과 비교해요(isBalanceSufficient). 토큰만 보내는 거래는 보내는 기본 코인이 없으니 가스 한도 × 최대 수수료만큼, ETH를 보내는 거래는 보낼 ETH에 그만큼을 더한 ETH가 있어야 해요. 확장 프로그램은 옵티미즘·베이스 같은 OP 스택 체인이나 스크롤·맨틀처럼 메타마스크 core 코드가 L1 수수료를 따로 계산하는 레이어2 거래면 그 L1 수수료(layer1GasFee)도 최대 수수료에 더해요(useFeeCalculations.ts). 아비트럼은 그 계산 대상에 없어요.
여기에 두 가지가 더 붙어요. 첫째, 잔액은 체인마다 따로 봐요. 두 앱 모두 그 거래의 체인 ID로 기본 코인 잔액을 찾아요. 같은 주소라도 이더리움 메인넷의 ETH와 아비트럼의 ETH는 다른 잔액이라, 아비트럼 거래가 막혔다면 아비트럼 쪽에 ETH가 있어야 해요. 둘째, 기본 코인이 없는 체인은 예외예요. 두 앱 코드에는 체인 ID 0x1079와 0xa5bf가 따로 적혀 있고 주석은 이를 템포(Tempo) 특례라고 불러요. 이 두 체인은 위 비교식을 쓰지 않아요. 메타마스크 도움말은 템포에 기본 가스 토큰이 없고 pathUSD, USDC.e, USDT0로 수수료를 낸다고 적었어요.
이더리움 스펙과 노드도 같은 식이에요
이 식은 메타마스크만의 규칙이 아니라 이더리움 규칙과 같아요. 2026년 10월 16일에 받은 이더리움 실행 계층 스펙 커밋에서 메인넷에 적용된 가장 최근 규칙인 BPO2 포크(메인넷 활성 2026년 1월 7일 오전 1시 1분, 협정 세계시) 파일의 check_transaction은 블록에 넣을 수 있는 거래인지 검사하면서 최대 가스 비용을 tx.gas * tx.max_fee_per_gas로 계산하고, 보낸 사람 잔액이 이 값에 보내는 금액(value)을 더한 것보다 작으면 insufficient sender balance 오류로 거래를 거절해요. 블롭 거래는 블롭 가스 비용의 최대치도 더해요. EIP-1559를 들인 런던 포크(스펙 일정표 기준 메인넷 블록 12,965,000, 2021년 8월 5일) 파일에도 같은 검사가 있어요.
이더리움 노드 프로그램 go-ethereum v1.17.8도 거래를 대기열에 받기 전에 잔액이 거래 비용(가스 한도 × 가스 가격 + 블롭 비용 + 보내는 금액)보다 작은지 봐요. EIP-1559 거래에서 가스 가격 자리에 들어가는 값은 최대 수수료(GasFeeCap)이고, 모자라면 insufficient funds for gas * price + value라는 오류를 돌려줘요. 디앱이나 다른 지갑에서 이 영어 문구를 봤다면 뜻은 같아요.
| 출처 | 비교하는 값 | 모자랄 때 |
|---|---|---|
| 메타마스크 확인 화면(모바일, 확장 프로그램) | 가스 한도 × 최대 수수료 + 보내는 금액(확장 프로그램은 일부 레이어2의 L1 수수료 포함) | 「자금 부족」 알림, 확인 막힘 |
| 이더리움 실행 계층 스펙 | 가스 한도 × max_fee_per_gas + value | 블록에 넣을 수 없는 거래 |
| go-ethereum 대기열 | 가스 한도 × GasFeeCap + value | insufficient funds for gas * price + value |
스펙에는 잔액과 별개인 조건도 하나 있어요. 최대 수수료가 그 블록의 기본 수수료보다 낮으면 잔액과 상관없이 그 블록에 들어갈 수 없어요. 최대 수수료를 너무 낮게 고치면 이쪽에 걸려요.
실제로 빠지는 수수료는 최대치보다 작거나 같아요
스펙이 실제로 빼는 금액은 다른 식이에요. 처리 단계(process_transaction)는 먼저 가스 한도 × 실제 가스 단가를 빼요. 실제 가스 단가는 블록의 기본 수수료에, 정해 둔 최대 우선 수수료와 「최대 수수료에서 기본 수수료를 뺀 값」 가운데 작은 쪽을 더한 값이에요. 거래가 끝나면 쓰지 않은 가스만큼 실제 단가로 돌려줘요. 결국 빠지는 금액은 실제 쓴 가스 × (기본 수수료 + 우선 수수료)이고, 최대 수수료와 실제 단가의 차이는 처음부터 빠지지 않아요. 메타마스크 가스 안내 도움말은 이 차이를 사용자에게 「돌려준다」고 따옴표를 쳐서 적었는데, 스펙으로 보면 처음부터 빠지지 않는 금액이에요.
그래서 잔액이 실제 수수료보다는 많은데 최대치에는 못 미치는 구간에서 막혀요. 그 구간이 얼마나 넓은지는 가스 한도를 실제로 쓰는 가스보다 얼마나 넉넉히 잡았는지, 최대 수수료를 기본 수수료보다 얼마나 높게 잡았는지에 달려 있어요.
가스 한도에는 여유분이 붙어요
메타마스크 core 저장소의 거래 코드(gas.ts)는 거래에 가스 한도가 이미 있으면 그 값을 쓰고, 없으면 노드 추정값에 원격 설정의 배수를 곱해요. 보내기 화면에서 만든 거래는 두 앱 모두 가스 한도를 미리 넣지 않아서 이 배수가 붙어요. 2026년 10월 19일 오후 4시 5분(한국 시각)에 읽은 메타마스크 원격 설정(확장 프로그램·모바일 같은 값)은 사용자 지정 RPC가 아닌 연결에 1.5배, 사용자 지정 RPC로 분류된 연결에 1배를 기본으로 두고, 아비트럼(1.2배)처럼 몇몇 체인에는 따로 정한 값을 두었어요. 이더리움 메인넷만 따로 정한 값은 없어서, 메타마스크가 처음부터 넣어 둔 이더리움 메인넷 RPC를 쓰면 1.5배가 붙어요. 확장 프로그램 소스의 주석도 가스를 추정할 때 50% 여유분을 붙인다고 적었어요. 원격 설정은 메타마스크가 앱 업데이트 없이 바꿀 수 있는 값이에요.
받는 쪽이 일반 주소인 ETH 보내기는 노드 추정값이 21,000이에요(go-ethereum의 가스 추정 코드는 데이터 없는 일반 송금을 가스 21,000으로 한 번 실행해 쓴 가스를 돌려줘요). 그래서 이더리움 메인넷 기본 RPC에서 ETH만 보내면 가스 한도는 21,000 × 1.5 = 31,500으로 잡히고, 실제로 쓰는 가스는 21,000이에요. 확인 화면은 31,500 × 최대 수수료로 잔액을 보고, 실제로는 21,000 × 실제 단가만큼 빠져요.
확장 프로그램 화면의 「예상 수수료」도 이 차이를 보여 주지 않아요. 소스에서 L1 수수료가 없는 거래의 예상 수수료는 (예상 기본 수수료 + 최대 우선 수수료, 최대 수수료를 넘으면 최대 수수료) × 시뮬레이션에서 쓴 가스(없으면 여유분을 붙이기 전 추정값)예요. 잔액 검사는 이 예상치가 아니라 여유분이 붙은 가스 한도 × 최대 수수료로 해요. 그래서 예상 수수료만큼 ETH가 있어도 확인이 막힐 수 있어요.
21,000은 모든 거래의 기본 비용이에요
메타마스크 도움말 두 쪽은 가스 한도 예로 21,000을 들어요. 2026년 10월 16일 받은 페이지 기준으로 가스 안내 쪽은 「ETH나 토큰을 보내는 일반 거래는 보통 21,000 가스」라고, 가스비 추정 쪽은 「ETH나 ERC-721 토큰을 다른 주소로 보내는 단순 거래는 21,000 가스」라고 적었어요. 두 페이지 모두 수정일은 표시돼 있지 않았어요.
스펙의 21,000은 모든 거래가 실행 전에 내는 기본 비용(TX_BASE, osaka vm/gas.py)이에요. 실행 전 비용에는 여기에 거래 데이터 비용(0인 바이트 4가스, 0이 아닌 바이트 16가스)과 컨트랙트 생성·접근 목록·권한 위임 비용이 더해져요. 데이터 없이 ETH만 보내는 거래가 21,000이고, 토큰 전송은 데이터가 붙어 실행 전 비용부터 21,000을 넘어요. ethereum.org 거래 문서의 USDC 전송 예시는 데이터가 68바이트(함수 지정 4바이트와 받는 주소, 금액)인데, 그 바이트를 스펙 식에 넣어 다시 계산하면 실행 전 비용만 21,608가스예요. 토큰 컨트랙트 코드를 실행하는 비용은 여기에 따로 더해져요. 같은 스펙은 데이터 바이트에 따른 최저 청구량(이 예시 데이터면 22,520가스)도 따로 두고, 실제로 쓴 가스가 그보다 적으면 그 값을 받아요. 그러니 같은 단가라면 토큰을 보낼 때 수수료로 잡히는 ETH가 ETH만 보낼 때의 수수료보다 많아요.
투자 정보 안내
본 글은 암호화폐 시장에 대한 객관 데이터·정보 제공 목적이며, 특정 코인 매수·매도 권유가 아닙니다. 암호화폐는 변동성이 매우 크고 원금 전액 손실이 가능하므로 본인 판단과 책임 하에 결정하세요.
예시: 2026년 10월 16일 오후 2시 17분의 메타마스크 추천값
메타마스크 모바일 소스가 추천 수수료를 받아 오는 주소(gas.api.cx.metamask.io)에서 이더리움 메인넷 값을 2026년 10월 16일 오후 2시 17분 53초(한국 시각)에 한 번 받았어요. 수수료는 계속 바뀌므로 아래 숫자는 그 순간의 예시예요. 같은 응답의 예상 기본 수수료는 0.066200852 gwei였어요.
| 항목 | 낮음(low) | 시장(medium) |
|---|---|---|
| 최대 우선 수수료(가스당) | 0.0001 gwei | 2 gwei |
| 최대 수수료(가스당) | 0.082851065 gwei | 2.094667219 gwei |
| 가스 한도 31,500 기준 최대치(확인 화면이 잔액과 비교하는 값) | 2,609.8085475 gwei | 65,982.0173985 gwei(약 0.000066 ETH) |
| 가스 21,000 사용, 기본 수수료가 그대로일 때 실제 수수료 | 1,392.317892 gwei | 43,390.217892 gwei(약 0.000043 ETH) |
가스 한도 31,500은 앞에서 본 대로 이더리움 메인넷 기본 RPC에서 ETH만 보낼 때 메타마스크가 잡는 값을 계산한 것이고, 앱에서 직접 본 값은 아니에요. 메타마스크 core 저장소의 거래 코드는 저장해 둔 가스 수준이 없고 디앱이 수수료를 정해 보내지 않았으면 medium을 써요. 번역 파일에서 medium의 화면 이름은 「시장」이고, 나머지 둘은 「낮음」과 「공격적」이에요.
이 순간 「시장」 수준에서 확인 화면이 보는 최대치와 실제 수수료의 차이는 22,591.7995065 gwei, 약 0.0000226 ETH로 최대치의 약 34%였어요. 가스 단가 쪽 차이는 가스당 약 0.028 gwei로 작았고, 차이의 대부분(약 21,695 gwei)은 가스 한도의 여유분 10,500가스에서 나왔어요. 실제 수수료는 낼 수 있는데 확인이 막히는 잔액 구간이 그만큼 있다는 뜻이에요. 막히는 거래는 예를 들면 이런 모양이에요(숫자는 예시예요).
- 기본 코인이 0인 지갑: ETH가 0이면, 다른 토큰으로 수수료를 내는 기능이 적용되지 않는 한 USDT 같은 토큰을 보내는 거래는 가스 한도와 상관없이 막혀요. 여유분까지 붙은 가스 한도가 예를 들어 60,000인 거래라면(실제 한도는 지갑이 거래마다 추정해요) 위 「시장」 수준 최대치는 125,680.03 gwei, 약 0.000126 ETH예요.
- ETH를 잔액 전부 보내려는 경우: 0.01 ETH가 있는 지갑에서 0.01 ETH를 그대로 보내면 보내는 금액만으로 잔액이 끝나서, 최대치 약 0.000066 ETH(가스 한도 31,500 기준)가 들어갈 자리가 없어요. 보낼 금액을 적어도 그만큼 줄여야 확인을 누를 수 있어요.
어떻게 풀리나요
그 체인의 기본 코인을 그 계정에 넣기
메타마스크 자금 부족 도움말의 해결책은 필요한 기본 코인을 그 계정으로 보내라는 거예요. 구하는 방법으로는 메타마스크 안에서 사기(온램프), 거래소에서 사기, 탈중앙 거래소에서 다른 토큰과 바꾸기를 들어요. 앞에서 본 것처럼 잔액은 체인별로 따로 보니, 아비트럼 거래가 막혔다면 아비트럼 네트워크로 ETH를 받아야 해요. 거래소에서 출금할 때 네트워크를 고르는 순서는 코인 출금 네트워크 선택 가이드에 정리돼 있어요.
기본 코인을 보내는 거래면 금액 줄이기
ETH 자체를 보내거나 바꾸는 거래라면 보낼 금액을 줄이는 길도 있어요. 확장 프로그램의 스왑 화면 문구도 「ETH(이)가 부족해 이 스왑에 대한 네트워크 수수료를 지불할 수 없습니다. 더 적은 금액을 입력하거나 더 많은 ETH(을)를 구매하세요.」라고 두 길을 함께 안내해요. 브릿지 화면에도 같은 모양의 문구가 있어요.
다른 토큰으로 수수료 내기는 도움말마다 네트워크가 달라요
메타마스크에는 기본 코인 대신 다른 토큰으로 수수료를 내는 기능이 두 가지 있어요. 보내기와 디앱 거래에 쓰는 가스 포함 거래(gas included transactions), 메타마스크 스왑에만 쓰는 가스리스 스왑이에요. 다만 지원 네트워크를 적은 도움말이 서로 달라요. 아래는 2026년 10월 16일 오후 2시 16분에 받은 페이지 기준이고, 어느 페이지에도 수정일은 적혀 있지 않았어요.
| 도움말 | 적힌 네트워크 | 수 |
|---|---|---|
| 자금 부족 오류 해결 | 이더리움 메인넷, BNB 스마트 체인 | 2 |
| 가스 안내 | 이더리움 메인넷, BNB 스마트 체인, 폴리곤, 아비트럼, 베이스 | 5 |
| 가스 포함 거래 본문 | 이더리움 메인넷, BNB 스마트 체인, 아비트럼, 폴리곤, 리네아, 베이스, 템포 | 7 |
| 가스 포함 거래 FAQ | 본문 목록에서 템포를 뺀 곳 | 6 |
| 가스리스 스왑 | 이더리움 메인넷, BNB 스마트 체인, 리네아, 베이스, 아비트럼, 폴리곤 | 6 |
| 가스비 추정 | 「일부 네트워크」라고만 적음 | 목록 없음 |
조건도 페이지에 적혀 있어요. 가스 포함 거래와 가스리스 스왑 페이지는 설정에서 「스마트 트랜잭션」과 「예상 잔액 변동」을 켜 두라고 적었어요. 가스리스 스왑 페이지는 예상 잔액 변동이 기본으로 켜져 있다고 덧붙였어요. 가스리스 스왑은 확장 프로그램 13.4, 모바일 7.62 이상에서 되고, 스왑 금액이 가스비보다 작으면 쓸 수 없으며, 기본 코인이 충분하면 선택지가 나오지 않아요. 베이스·아비트럼·폴리곤에서는 계정이 스마트 계정으로 자동 전환된다고 적었어요. 가스 포함 거래는 토큰별 예상 수수료에 작은 메타마스크 수수료가 들어간다고 적었고, 이더리움에서 수수료로 낼 수 있는 토큰으로 ETH, USDT, USDC, DAI 등 14개를 들었어요.
앱 소스에서도 이 기능은 「자금 부족」 알림과 이어져 있어요. 두 앱의 알림 코드는 다른 토큰이 수수료로 골라져 있으면 「자금 부족」 알림을 띄우지 않아요. 고를 수 있는 토큰 목록이 비어 있는 경우 같은 예외는 코드에 따로 적혀 있어요. 가스 포함 거래 도움말은 기본 코인이 모자라면 메타마스크가 쓸 수 있는 토큰을 자동으로 골라 주고, 「네트워크 수수료」 옆 토큰 메뉴에서 다른 토큰으로 바꿀 수 있다고 안내해요.
메타마스크가 수수료를 대신 내는 거래
가스 후원 도움말은 모나드, 세이(SEI), 솔라나의 일부 거래에서 메타마스크가 수수료를 낸다고 적었어요. 해당 거래는 확인 화면 수수료 옆에 「MetaMask가 지불함」이 보여요. 솔라나는 200달러 이상 스왑과 솔라나에서 시작하는 200달러 이상 크로스체인 스왑이 대상이에요. 모나드는 MON을 보내거나 바꾸는 거래라면 거래 뒤 지갑에 10 MON 이상이 남아야 하고(ERC-20 토큰 거래에는 이 조건이 없다고 적었어요), 모바일 앱은 후원 대상 모나드 거래의 시뮬레이션에서 이 조건 위반이 잡히면 「최소 잔액이 필요합니다」 알림으로 확인을 막아요. 500만 가스를 넘는 거래와 하드웨어 지갑 계정은 빠져요. 후원은 스마트 계정(EIP-7702)을 쓰고, 아직 전환하지 않은 계정은 첫 대상 거래 때 자동으로 전환되며, 후원 자체도 언제든 바뀔 수 있다고 적었어요. 두 앱의 알림 코드도 후원 거래에는 「자금 부족」 알림을 띄우지 않아요.
이 글과 이어지는 글
수수료가 어떻게 구성되고 어떻게 줄일 수 있는지는 이더리움 가스비 절약 방법에서 다뤘어요. 이 글의 문제는 확인을 누르기 전에 막히는 경우예요. 이미 보낸 거래가 처리되지 않고 멈춰 있다면 코인 전송 pending 해결 정리를 보세요. 메타마스크에서 네트워크를 켜고 추가하는 기본 내용은 메타마스크 지갑 만들기·사용법에 있어요.
이 글이 다루지 않은 것
- 트론 에너지 같은 비EVM 체인별 수수료 구조는 다루지 않았어요.
- 토큰 전송이 실제로 쓰는 가스는 측정하지 않았어요. 21,608가스는 ethereum.org 예시 데이터로 계산한 실행 전 비용이에요.
- 모바일의 잔액 비교 파일에는 레이어2의 L1 수수료를 더하는 줄이 없었고, 모바일의 다른 파일에서 더하는지는 확인하지 않았어요.
- 가스비 추이나 기본 수수료 소각 같은 지표는 다루지 않았어요.
모든 내용은 2026년 10월 16일 오후 2시 13분부터 2시 27분 사이(한국 시각)에 받은 메타마스크 모바일 v8.15.0(GitHub 릴리스 공개 10월 16일 오전 1시 37분)과 확장 프로그램 v13.52.0(10월 14일 오후 5시 38분)의 소스와 번역 파일, 메타마스크 core 저장소 커밋 af7a3d2, 이더리움 실행 계층 스펙 커밋 f5f512f, go-ethereum v1.17.8, ethereum.org 거래 문서 원본, 메타마스크 도움말 7쪽 기준이에요. 메타마스크 앱 소스는 같은 날 기본 브랜치(main)도 받아 비교했고, 잔액 비교 파일과 수수료 계산 파일은 릴리스 태그와 바이트까지 같았어요. 가스 한도 여유분은 2026년 10월 19일 오후 4시 5분부터 4시 17분 사이에 받은 메타마스크 원격 설정과 core 저장소 gas.ts·feature-flags.ts 기준이고, 두 앱이 쓰는 거래 모듈 판(72.0.0, 72.0.1)의 해당 코드도 같았어요. 이때 다시 받은 두 앱의 해당 소스 파일과 도움말 7쪽은 10월 16일에 받은 것과 바이트까지 같았어요. 릴리스 공개 시각은 GitHub에 태그가 올라온 시각이고, 앱 스토어 배포 시각은 확인하지 않았어요.
이 글은 정보 제공 글이며 매매 권유가 아니에요. 가상자산은 변동성이 크고 원금 손실 위험이 있으며, 투자 판단과 그 결과에 대한 책임은 본인에게 있어요.