"submitted" nor "pending" means confirmed.
Rail
rail is "self-pay" or "sponsored" on both chains. It is the only field that tells you which
path actually ran. If your app promises fee-in-token, check it rather than assuming your
configuration took effect.
EVM receipt
- Self-pay:
idis a transaction hash;statusstarts at"submitted"(broadcast, not mined). - Sponsored:
idis a userOpHash, an intent id, not a transaction hash;statusis"pending"until the bundler reports a receipt.
Solana receipt
"expired" status, a transaction whose blockhash lapsed before it confirmed.
- Self-pay:
statusstarts at"submitted". - Sponsored:
statusstarts at"pending".
signature.
Confirming
To advance a receipt’s status, poll the send engine’s status method (or the provider’swallet_getCallsStatus on EVM). Only "confirmed" means the transaction is on chain. See Sponsor
EVM sends and Sponsor Solana sends.