Describe the bug
This issue became clearer during repeated Gateway swap testing on Solana mainnet-beta. Jupiter quote routes kept returning valid quotes, and Jupiter execution was not fully broken because the reverse direction SOL -> USDC completed successfully. The failure appears specific to the USDC -> SOL direction, where execution routes consistently fail during transaction simulation before a transaction signature is returned.
2026-05-13 07:44:20 | info | Getting quote for 3 USDC -> SOL
2026-05-13 07:44:20 | info | Jupiter quote: USDC->SOL, amount=3, slippagePct=1% (100 bps), swapMode=ExactIn, onlyDirectRoutes=false, restrictIntermediateTokens=true
2026-05-13 07:44:20 | info | Executing quote 1b31cc2e-b5b6-4fad-bfed-b9fdf2577f94 for USDC -> SOL, slippageBps=100
2026-05-13 07:44:20 | info | Sending swap with priority level veryHigh and max 1000000 lamports
2026-05-13 07:44:21 | info | Simulation Result: {
"unitsConsumed": 30098,
"status": "FAILED"
}
2026-05-13 07:44:21 | error | Transaction simulation failed:
Error: {"InstructionError":[3,"InvalidAccountData"]}
Gateway logs showed the Jupiter program failing with InvalidAccountData during simulation for the failing direction. The same wallet was able to execute both a Meteora USDC -> SOL swap and a Jupiter SOL -> USDC swap successfully in the same session, which suggests the problem is tied to the Jupiter USDC -> SOL execution/account path rather than a general wallet, balance, or RPC issue.
Steps to reproduce
- Configure Gateway on Solana mainnet-beta with a wallet that has both USDC and SOL.
- Call GET /connectors/jupiter/router/quote-swap for USDC -> SOL with:
- amount=3, side=SELL, and slippagePct=1.
- Call either
POST /connectors/jupiter/router/execute-swap with the same values or POST /connectors/jupiter/router/execute-quote using the fresh quoteId.
- Observe that the route returns 400 with
SIMULATION_FAILED instead of a transaction signature.
- Check Gateway logs and observe Jupiter program failure similar to InvalidAccountData.
- As a comparison, run SOL -> USDC for about 3 USD equivalent on the same wallet and observe that Jupiter execution succeeds.
Release version
dev-2.5
Type of installation
Source
Attach required files
No response
Describe the bug
This issue became clearer during repeated Gateway swap testing on Solana mainnet-beta. Jupiter quote routes kept returning valid quotes, and Jupiter execution was not fully broken because the reverse direction SOL -> USDC completed successfully. The failure appears specific to the USDC -> SOL direction, where execution routes consistently fail during transaction simulation before a transaction signature is returned.
Gateway logs showed the Jupiter program failing with
InvalidAccountDataduring simulation for the failing direction. The same wallet was able to execute both a Meteora USDC -> SOL swap and a Jupiter SOL -> USDC swap successfully in the same session, which suggests the problem is tied to the Jupiter USDC -> SOL execution/account path rather than a general wallet, balance, or RPC issue.Steps to reproduce
POST /connectors/jupiter/router/execute-swapwith the same values orPOST /connectors/jupiter/router/execute-quoteusing the freshquoteId.SIMULATION_FAILEDinstead of a transaction signature.Release version
dev-2.5
Type of installation
Source
Attach required files
No response