Why does wallet_getCallsStatus return a 500 status?

Last updated: August 20, 2026

The status field returned by wallet_getCallsStatus is a specific status code for the batch of calls you submitted, not a generic HTTP error. A 500 status means Onchain Failure: the batch was included onchain but reverted completely. In this case, only changes related to the gas charge may have made it onchain, and none of the calls in the batch executed successfully.

This is a terminal result, not a transient or service-side error. Continuing to poll wallet_getCallsStatus for the same call ID will not resolve it. If you want the intended operation to succeed, you need to find out why the batch reverted and submit a new call rather than retrying the status check.

Debugging an Onchain Failure

To find out why a specific batch reverted, use the Transaction Lifecycle Dashboard in the Alchemy Dashboard, under Tools > Logs > Wallet API Logs. It groups every step of a batch by call ID so you can see exactly where it failed, and includes an "Explain this error" feature that uses AI to suggest a likely cause. Alchemy notes these AI-generated explanations are guidance and should be independently verified. See the Debug Transactions docs for more detail.

Related docs