Skip to main content
This endpoint requires a Growth or Enterprise plan. Learn more.

Returns

GetSimulateTokenContractResultsConnection!
See GetSimulateTokenContractResultsConnection

Arguments

String!
required
The token contract address.
Int!
required
The network ID of the token.
String
Optional request ID returned by simulateTokenContract; restricts results to that request.
String
Opaque cursor from the preceding response.
Int
Maximum number of records per page. Defaults to 10 when omitted.

Example

Test this query in the Explorer →

Usage Guidelines

  • Pass the token’s contract address and networkId. Without simulationId you get every stored analysis for the token, newest block first, ten per page. Pass the simulationId returned by simulateTokenContract to read one request
  • Read verdict first. TRADEABLE and HONEYPOT are decisive. INDETERMINATE means the run could not reach a decision, and verdictReason says why (no sell route, unsupported venue, no liquidity). status only tracks the pipeline, and buySuccess / sellSuccess can be true on an indeterminate row
  • swap.buyTax and swap.sellTax are decimal fractions as strings: "0.05" is 5% and "1" is 100%. A honeypot usually reads sellTax: "1" with sellSuccess: false
  • liquidity.pairAddress is the pool the run traded through. Tax belongs to the pool, so runs that route through different pools can disagree. On Uniswap V4 the value is a 32-byte pool ID rather than an address
  • A submission writes a PENDING row first, and the finished result lands as a second row under the same uuid. Poll until a row with that uuid has a verdict, or subscribe to onSimulateTokenContract
  • Nullable measurements mean not measured, not zero. Rows written before the 2026 rebuild can have status: FAILURE and no verdict, and used percentage tax values
  • What the verdict means for the token as a whole is summarized on token.risk. See Token Risk

Troubleshooting Tips

The token has never been analyzed. Submit a run with simulateTokenContract, then query again with the returned simulationId. Codex analyzes tokens in the background as risk signals fire, so many tokens have stored rows, but not every token does.
The pending placeholder is not updated in place. The completed analysis is a separate row with the same uuid, so filter the page by uuid and take the row that has a verdict.
One submission per token and network is allowed every five minutes. The error message names the time after which you can submit again. Stored results stay readable in the meantime.
Each run analyzes one pool. If the token trades in several pools, or a pool applies a hook fee, the measured tax follows the pool used, shown in liquidity.pairAddress.
Last modified on October 2, 2026