> ## Documentation Index
> Fetch the complete documentation index at: https://docs.codex.io/llms.txt
> Use this file to discover all available pages before exploring further.

# onSimulateTokenContract

> Live stream of published token contract analysis results across all simulation IDs. Use getSimulateTokenContractResults for pending or failed outcomes.

## GraphQL

```
type Subscription {
  # Requires a Growth or Enterprise plan.
  onSimulateTokenContract(
    contractAddress: String
    networkId: Int!
    simulationId: String
  ): SimulateTokenContractResult!
}

enum SimulateTokenContractResultStatusEnum {
  SUCCESS
  FAILURE
  PENDING
}

enum AnalysisVerdictEnum {
  TRADEABLE
  HONEYPOT
  INDETERMINATE
}

type SimulateTokenErrorsType {
  tokenSymbolError: String
  decimalsError: String
  tokenNameError: String
  totalSupplyError: String
  canTransferOwnershipError: String
  canRenounceOwnershipError: String
}

type SimulateDeployErrorsType {
  deployError: String
  tokenMintedToDeployerError: String
}

type SimulateContractBalanceErrorsType {
  tokenContractTokenBalanceError: String
  tokenContractEthBalanceError: String
}

type SimulateLiquidityErrorsType {
  lpTotalSupplyError: String
  preLiquidityEnableTradingError: String
  postLiquidityEnableTradingError: String
  addLiquidityError: String
}

type SimulateTransferErrorsType {
  tokenContractApprovalError: String
  tokenTransferredToContractError: String
  userApprovalError: String
}

enum SimulateTokenContractBuySellErrorEnum {
  INSUFFICIENT_OUTPUT_AMOUNT
  INSUFFICIENT_LIQUIDITY
  TRANSFER_FAILED
  UNKNOWN_ERROR
}

type SimulateSwapErrorsType {
  buyError: String
  buyErrorEnum: SimulateTokenContractBuySellErrorEnum
  sellError: String
  sellErrorEnum: SimulateTokenContractBuySellErrorEnum
}

type SimulateOwnerErrorsType {
  ownerAddressError: String
  ownerTokenBalanceError: String
  ownerEthBalanceError: String
}

type SimulateCreatorErrorsType {
  creatorTokenBalanceError: String
  creatorEthBalanceError: String
}

type SimulateTokenContractErrors {
  simulatorError: String
  tokenErrors: SimulateTokenErrorsType!
  deployErrors: SimulateDeployErrorsType!
  contractBalanceErrors: SimulateContractBalanceErrorsType!
  liquidityErrors: SimulateLiquidityErrorsType!
  transferErrors: SimulateTransferErrorsType!
  swapErrors: SimulateSwapErrorsType!
  ownerErrors: SimulateOwnerErrorsType!
  creatorErrors: SimulateCreatorErrorsType!
}

type SimulateTokenType {
  contractAddress: String!
  tokenSymbol: String
  decimals: Int
  tokenName: String
  totalSupply: String
  canTransferOwnership: Boolean
  canRenounceOwnership: Boolean
  isOwnerRenounced: Boolean
}

type SimulateDeployType {
  deploySuccess: Boolean
  tokenMintedToDeployer: String
}

type SimulateContractBalanceType {
  tokenContractTokenBalance: String
  tokenContractEthBalance: String
}

type SimulateLiquidityType {
  pairAddress: String
  lpTotalSupply: String
  preLiquidityEnableTradingCall: String
  preLiquidityEnableTradingSuccess: Boolean
  preLiquidityEnableTradingSupportsTransfer: Boolean
  liquiditySetByPreLiquidityOpenTradingCall: Boolean
  postLiquidityEnableTradingCall: String
  postLiquidityEnableTradingSuccess: Boolean
  addLiquiditySuccess: Boolean
}

type SimulateTransferType {
  tokenContractApprovalSuccess: Boolean
  tokenTransferredToContractSuccess: Boolean
  userApprovalSuccess: Boolean
}

type SimulateSwapType {
  buySuccess: Boolean
  buyTax: String
  buyGasUsed: String
  maxBuyAmount: String
  sellSuccess: Boolean
  sellTax: String
  sellGasUsed: String
  maxSellAmount: String
}

type SimulateOwnerType {
  ownerAddress: String
  ownerTokenBalance: String
  ownerEthBalance: String
}

type SimulateCreatorType {
  creatorAddress: String
  creatorTokenBalance: String
  creatorEthBalance: String
}

type SimulateTokenContractResult {
  id: String!
  sortKey: String!
  contractHashKey: String!
  uuidHashKey: String!
  blockNumber: String!
  networkId: Int!
  analysisType: Int!
  timestamp: Int!
  status: SimulateTokenContractResultStatusEnum!
  verdict: AnalysisVerdictEnum
  verdictReason: String
  errors: SimulateTokenContractErrors!
  uuid: String!
  token: SimulateTokenType!
  deploy: SimulateDeployType!
  contractBalance: SimulateContractBalanceType!
  liquidity: SimulateLiquidityType!
  transfer: SimulateTransferType!
  swap: SimulateSwapType!
  owner: SimulateOwnerType!
  creator: SimulateCreatorType!
}
```


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.