Bug: Token-2022 transfer_checked CPI causes "This transaction reverted during simulation" on devnet (v26.11.1) #488
Replies: 1 comment
-
|
Hi @DBZandr01d please reach out via our support help.phantom.com |
Beta Was this translation helpful? Give feedback.
0 replies
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
-
Summary
Every transaction involving a Token-2022 mint shows:
▎ "This transaction reverted during simulation. Funds may be lost if submitted."
No swap estimation or token amounts are displayed in the preview. This affects all transaction
types — buy, sell, and token creation — when the token mint uses the Token-2022 program.
When clicking "approve anyway," the transaction succeeds on-chain every time. No funds are lost.
Diagnosis
Our app runs connection.simulateTransaction(tx) against our own RPC (QuickNode devnet) before
sending to Phantom. The simulation passes with err: null and all program logs show success:
Program TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA invoke [2]
Program TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA success
Program TokenzQdBNbLqP5VEhdkAS6EPFLC1PHnBqCXEpPxuEb invoke [2]
Program log: Instruction: Burn
Program TokenzQdBNbLqP5VEhdkAS6EPFLC1PHnBqCXEpPxuEb success
Program 9EnakqTxm1jXoiVVihYiJ7jMjoB1xu5eyREU8XxwHthE consumed 44762 of 200000 compute units
Program 9EnakqTxm1jXoiVVihYiJ7jMjoB1xu5eyREU8XxwHthE success
The transaction is valid — both our RPC simulation and on-chain execution confirm it. Only
Phantom's internal simulation reports a revert.
On-chain program details
accounts
What we ruled out
Environment
Expected behavior
Phantom should show the transaction preview with token amounts and swap details, matching the
successful simulation result from the RPC.
Actual behavior
Phantom shows "This transaction reverted during simulation. Funds may be lost if submitted." with
no transaction details. Transaction succeeds when approved anyway.
Related
appear to be available in v26.11.1 Developer Settings for devnet
Example
No response
Steps to Reproduce
Steps to reproduce
for token transfers
- tokenProgram: TOKEN_PROGRAM_ID (for USDC operations)
- token2022Program: TOKEN_2022_PROGRAM_ID (for token operations)
- Token ATAs derived with getAssociatedTokenAddress(mint, wallet, false, TOKEN_2022_PROGRAM_ID)
- USDC ATAs derived with default getAssociatedTokenAddress(usdcMint, wallet)
submitted."
Minimal repro: any transfer_checked CPI call to the Token-2022 program from within a custom Anchor
program triggers the simulation failure. Standard SPL Token transfer CPIs simulate correctly in
Phantom.
Quick verification: before sending to Phantom, run connection.simulateTransaction(tx) — it returns
err: null (success). The transaction is valid; only Phantom's internal simulation rejects it.
Phantom Version
v26.11.1
Is there an existing discussion for this?
Update: Confirmed this is Phantom-specific. Testing the same transaction with Solflare wallet
shows a clean simulation preview and succeeds without any warnings. This coincides with the Phantom
service outage reported on April 7, 2026
(https://www.cryptotimes.io/2026/04/07/phantom-wallet-outage-sparks-token-loss-fears-among-users/).
The outage may not have been fully resolved for Token-2022 simulation.
Beta Was this translation helpful? Give feedback.
All reactions