Title: HyperEVM testnet — CoreDepositWallet deposits not credited on HyperCore (perps forward never executes; spot route never credits)
Environment
- HyperEVM testnet (chain 998)
- CoreDepositWallet 0x0B80659a4076E9E93C7DbE0f10675A16a3e5C206
- USDC 0x2B3370eE501B4a559b57D449569354196457D8Ab
- CctpForwarder 0x02e39ECb8368b41bF68FF99ff351aC9864e5E2a2
Summary
Following the CoreDepositWallet docs (approve, then deposit(amount, destinationDex)), the USDC leaves the sender and the call succeeds, but the sender is never credited on HyperCore.
- Perps (destinationDex 0): HyperCore credits the CoreDepositWallet's own spot account, but the CoreWriter sendAsset to the recipient never executes. The USDC stays in the CoreDepositWallet's HyperCore account.
- Spot (destinationDex 4294967295): the wallet emits Transfer(sender -> 0x2000...0000, amount), and HyperCore never credits the sender.
The same dropped forward also happens on deposits made through your CctpForwarder.
Perps route, sender 0x878ffCF3351C6596Bd75355E00319AB5Fcf1c639 (HyperCore account exists since 2026-09-20 17:49 UTC)
- 0x5722438949a14114de835f17e074296161c9d6c6b62eea8230457da54ba51c1d
deposit(9986000, 0), 2026-09-22 15:12:48 UTC, status 1. Logs: Transfer(CoreDepositWallet -> 0x2000...0000, 9.986), CoreWriter sendAsset(dest 0x878f..., sourceDex spot, destDex 0, token 0, 998600000), SendAsset.
HyperCore: CoreDepositWallet ledger shows the 9.986 credit at 15:12:48. No send follows, and the sender's perps balance is unchanged.
- 0x41528acf02e36c2b7611b6764aff981efc57fd77f58d4e77a9b314ca5240ea18
deposit(500000, 0), 14:39:28 UTC. Same result.
- 0xdca686833ce85c1a467dae7ae563272c819c00fc6e2f06f88e5c566775b411a0
deposit(200000, 0), 15:22:10 UTC. Same result, after setting the sender's abstraction to "disabled" and dex abstraction to false.
Same failure through the CctpForwarder
- 0x77a81fd325169f8fc1040ab13c9ef618b490872954d4b379c37e389f1bfa4885 (14:57:54 UTC): 9.8 USDC to 0x808101c40667ac72facf1ee7d10a499a5c2e1b59, dex 0. Credited to the CoreDepositWallet, never forwarded; the recipient's ledger is empty.
- For comparison, 0xfa9645fb145f84249b735d799dca7029ec1107a06a1f0835adf5a6ebc10e7535 (14:09:01 UTC): 19.8 USDC to 0xfe3a32434dc67aeabf01ebbbca205fc79d893c9b through the same forwarder was forwarded in the same block.
- CoreDepositWallet HyperCore ledger since 2026-09-21 14:23 UTC: 28 EVM->Core credits, only 15 forwards.
Spot route
- 0x3e9bed51fc8fab6cd612e10cebe0c422c3aef649f5cd0157db8444ed0e8a884a
deposit(3000000, 4294967295) from 0x878f..., 2026-09-22 00:06:57 UTC. Emitted Transfer(0x878f... -> 0x2000...0000, 3 USDC). Never credited on HyperCore.
- 0x6340398c853d63501b5c6a0cfd1c981bd293b2758ecd78d4865f58bf5a07ccf5
deposit(15000000, 4294967295) from contract 0x938acDEf0428797256180dA45226f79513c35A25 (HyperCore account active), 14:26:48 UTC. Emitted Transfer(0x938a... -> 0x2000...0000, 15 USDC). Never credited on HyperCore.
Ruled out on our side: the sender's HyperCore account exists (coreUserExists = true); CoreDepositWallet is not paused, perps forwarding is enabled and newCoreAccountFee = 0; no HyperCore rate limit on either address; small blocks; the calls match your docs and the circlefin/hyperevm-circle-contracts source.
Questions
- Why are these sendAsset forwards dropped, and why doesn't the spot-route Transfer credit the sender?
- Can the stuck amounts be credited or returned?
- 10.686 USDC (9.986 + 0.5 + 0.2) to 0x878ffCF3351C6596Bd75355E00319AB5Fcf1c639, perps
- 3 USDC to 0x878ffCF3351C6596Bd75355E00319AB5Fcf1c639, spot
- 15 USDC to 0x938acDEf0428797256180dA45226f79513c35A25, spot
Title: HyperEVM testnet — CoreDepositWallet deposits not credited on HyperCore (perps forward never executes; spot route never credits)
Environment
Summary
Following the CoreDepositWallet docs (approve, then deposit(amount, destinationDex)), the USDC leaves the sender and the call succeeds, but the sender is never credited on HyperCore.
The same dropped forward also happens on deposits made through your CctpForwarder.
Perps route, sender 0x878ffCF3351C6596Bd75355E00319AB5Fcf1c639 (HyperCore account exists since 2026-09-20 17:49 UTC)
deposit(9986000, 0), 2026-09-22 15:12:48 UTC, status 1. Logs: Transfer(CoreDepositWallet -> 0x2000...0000, 9.986), CoreWriter sendAsset(dest 0x878f..., sourceDex spot, destDex 0, token 0, 998600000), SendAsset.
HyperCore: CoreDepositWallet ledger shows the 9.986 credit at 15:12:48. No send follows, and the sender's perps balance is unchanged.
deposit(500000, 0), 14:39:28 UTC. Same result.
deposit(200000, 0), 15:22:10 UTC. Same result, after setting the sender's abstraction to "disabled" and dex abstraction to false.
Same failure through the CctpForwarder
Spot route
deposit(3000000, 4294967295) from 0x878f..., 2026-09-22 00:06:57 UTC. Emitted Transfer(0x878f... -> 0x2000...0000, 3 USDC). Never credited on HyperCore.
deposit(15000000, 4294967295) from contract 0x938acDEf0428797256180dA45226f79513c35A25 (HyperCore account active), 14:26:48 UTC. Emitted Transfer(0x938a... -> 0x2000...0000, 15 USDC). Never credited on HyperCore.
Ruled out on our side: the sender's HyperCore account exists (coreUserExists = true); CoreDepositWallet is not paused, perps forwarding is enabled and newCoreAccountFee = 0; no HyperCore rate limit on either address; small blocks; the calls match your docs and the circlefin/hyperevm-circle-contracts source.
Questions