Skip to main content
The validate endpoint ensures that the unsigned transaction you’re about to sign matches exactly what was simulated. Each field is checked independently, so you know precisely what changed if validation fails.

Request Parameters

Response

Examples

Successful Validation

Response:

Failed Validation (Tampered Data)

If the calldata has been modified since simulation, the data check will fail:

Interpreting Failed Checks

If any check fails, do not sign the transaction. Re-simulate to get a fresh simulationId, or investigate why the transaction changed.

Cache Expiry

Simulations are cached for 5 minutes. If you call /validate after the simulation has expired, you’ll receive a 404 error:
Re-simulate to get a fresh simulationId and try again.

Best Practices

  • Validate immediately before signing — Don’t validate far in advance. Validate as close to the signing moment as possible within the 5-minute window.
  • Log the simulationId — Store simulation IDs for debugging and audit trails.
  • Re-simulate on failure — If validation fails, re-simulate to get a fresh result rather than retrying the same validation.
  • Check individual fields — When valid is false, inspect the checks object to understand exactly what changed.

Updated