Environment
- Network: Solana Devnet
- Gateway version: latest master (1.5.5)
- Startup:
./drift-gateway --dev https://api.devnet.solana.com --markets btc-perp,usdc --verbose
Problem
All order placements fail with {"code":6003,"reason":"InsufficientCollateral"}
despite having $10,000 USDC in collateral.
Root cause: the oracle for spot/0 (USDC) is completely stale.
Oracle Discrepancy — SDK vs On-chain
| Source |
Oracle Address (spot/0) |
Type |
SDK spotMarkets.ts |
En8hkHLkRe9d9DraYmBTrus518BvmVH448YcvmrFM6Ce |
PYTH_STABLE_COIN_PULL |
| On-chain (gateway logs) |
9VCioxmni2gDLv11qufWzT3RDERhQE4iY5Gf7NTfYyAV |
PythLazerStableCoin ← STALE |
The address the SDK defines for spot/0 appears on-chain as spot/6 with type PythStableCoinPull.
Oracle Delay Progression
| Time (UTC) |
Delay |
| 2026-03-08 03:35 |
250,753 slots (~27h stale) |
| 2026-03-08 11:04 |
321,292 slots (~35h stale) |
| 2026-03-08 22:51 |
still stale, no recovery |
Test Output
[4/5] Opening position — LONG 0.001 BTC
✗ HTTP 400 → {"code":6003,"reason":"InsufficientCollateral"}
[7] Oracle Health check
⚠ Oracle STALE — spot/0 (USDC) PythLazerStableCoin
⚠ Address: 9VCioxmni2gDLv11qufWzT3RDERhQE4iY5Gf7NTfYyAV
⚠ Impact: margin calculation returns ~$1.3B required vs $10k available
Result: Gateway PASS | Collateral PASS | Market PASS | Order FAIL | Oracle WARN
Confirmed working (not the issue)
- Collateral: $10,000.14 USDC free ✓
- All read endpoints return HTTP 200 ✓
- BTC-PERP oracle (perp/1, PythLazer) healthy ✓
--markets btc-perp,usdc resolves correctly ✓
Explorer
https://explorer.solana.com/address/9VCioxmni2gDLv11qufWzT3RDERhQE4iY5Gf7NTfYyAV?cluster=devnet
Questions
- Is the Pyth Lazer feed for
9VCioxmni2gDLv11qufWzT3RDERhQE4iY5Gf7NTfYyAV going to be restored on devnet?
- Is devnet actively maintained post-V3 launch?
- Should
spotMarkets.ts be updated to reflect the actual on-chain oracle address?
Environment
./drift-gateway --dev https://api.devnet.solana.com --markets btc-perp,usdc --verboseProblem
All order placements fail with
{"code":6003,"reason":"InsufficientCollateral"}despite having $10,000 USDC in collateral.
Root cause: the oracle for
spot/0(USDC) is completely stale.Oracle Discrepancy — SDK vs On-chain
spotMarkets.tsEn8hkHLkRe9d9DraYmBTrus518BvmVH448YcvmrFM6Ce9VCioxmni2gDLv11qufWzT3RDERhQE4iY5Gf7NTfYyAVThe address the SDK defines for
spot/0appears on-chain asspot/6with typePythStableCoinPull.Oracle Delay Progression
Test Output
Confirmed working (not the issue)
--markets btc-perp,usdcresolves correctly ✓Explorer
https://explorer.solana.com/address/9VCioxmni2gDLv11qufWzT3RDERhQE4iY5Gf7NTfYyAV?cluster=devnet
Questions
9VCioxmni2gDLv11qufWzT3RDERhQE4iY5Gf7NTfYyAVgoing to be restored on devnet?spotMarkets.tsbe updated to reflect the actual on-chain oracle address?