This endpoint requires a Growth or Enterprise plan. Learn more.
Returns
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. WithoutsimulationIdyou get every stored analysis for the token, newest block first, ten per page. Pass thesimulationIdreturned bysimulateTokenContractto read one request - Read
verdictfirst.TRADEABLEandHONEYPOTare decisive.INDETERMINATEmeans the run could not reach a decision, andverdictReasonsays why (no sell route, unsupported venue, no liquidity).statusonly tracks the pipeline, andbuySuccess/sellSuccesscan be true on an indeterminate row swap.buyTaxandswap.sellTaxare decimal fractions as strings:"0.05"is 5% and"1"is 100%. A honeypot usually readssellTax: "1"withsellSuccess: falseliquidity.pairAddressis 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
PENDINGrow first, and the finished result lands as a second row under the sameuuid. Poll until a row with thatuuidhas averdict, or subscribe toonSimulateTokenContract - Nullable measurements mean not measured, not zero. Rows written before the 2026 rebuild can have
status: FAILUREand noverdict, 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
Why is results empty?
Why is results empty?
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.Why does the first row still say PENDING?
Why does the first row still say PENDING?
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.Why did simulateTokenContract return TOO_MANY_REQUESTS?
Why did simulateTokenContract return TOO_MANY_REQUESTS?
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.
Why do two runs report different taxes?
Why do two runs report different taxes?
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.Related
- Token Risk: The verdict, score and reason codes that summarize these results per token
simulateTokenContract: Queue a new analysisonSimulateTokenContract: Stream published results for a token