{"uid":"cap_IT36RW9VEMXzWokpATJAw","slug":"portals-foresight-defi-transaction-simulation-api-35def172","name":"Portals Foresight — DeFi Transaction Simulation API","description":"Simulate any EVM transaction on 31+ chains. Compare DEX quotes, validate DeFi deposits/borrows, preview swaps, and verify transfers — no gas or balance needed.","url":"https://foresight.portals.fi/v1/simulate?utm_source=zero.xyz","method":"POST","headers":{},"bodySchema":{"type":"object","$schema":"https://json-schema.org/draft/2020-12/schema","required":["input"],"properties":{"input":{"type":"object","required":["type","bodyType","body","method"],"properties":{"body":{"required":["tx","inputToken","inputAmount"],"properties":{"tx":{"type":"object","required":["from","to","data","value"],"properties":{"to":{"type":"string","description":"Target contract address"},"data":{"type":"string","description":"Hex-encoded calldata"},"from":{"type":"string","description":"Sender address"},"value":{"type":"string","description":"Native token value in wei"}}},"recipient":{"type":"string","description":"Optional recipient address (defaults to tx.from)"},"inputToken":{"type":"string","description":"Address of the input token (0x0 for the chain native token)"},"inputAmount":{"type":"string","description":"Input amount in token base units"}}},"type":{"type":"string","const":"http"},"method":{"enum":["POST"],"type":"string"},"bodyType":{"enum":["json","form-data","text"],"type":"string"}},"additionalProperties":false},"output":{"type":"object","required":["type"],"properties":{"type":{"type":"string"},"example":{"type":"object"}}}}},"responseSchema":{"type":"json","example":{"events":[{"type":"wrap","token":"0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2","amount":"1000000000000000000"}],"sender":"0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045","gasCost":"838140000000000","gasUsed":"27938","success":true,"inputTokens":[{"token":"0x0000000000000000000000000000000000000000","amount":"1000000000000000000","standard":"native"}],"assetChanges":[{"token":"0x0000000000000000000000000000000000000000","amount":"1000000000000000000","standard":"native","direction":"sent"},{"token":"0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2","amount":"1000000000000000000","standard":"erc20","direction":"received"}],"outputTokens":[{"token":"0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2","amount":"1000000000000000000","standard":"erc20"}],"tokenMetadata":{"0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2":{"name":"Wrapped Ether","symbol":"WETH","decimals":18}}}},"example":null,"exampleRequest":null,"tags":["x402"],"displayCostAmount":"0.001","displayCostAsset":"USDC","priceDynamic":false,"priceHint":null,"priceStatus":"priced","priceSource":"settled","requiresHandshake":false,"reviewCount":0,"rating":{"score":"0.00","successRate":"0.00","reviews":0,"stars":null,"state":"unrated"},"availabilityStatus":"unknown","priceObserved":null,"sessionDeposit":null,"pricing":{"kind":"static","summary":"$0.001/call","primary":{"kind":"static","protocol":"x402","network":"base","amountUsd":"0.001","per":"call","confidence":"exact"},"accepted":[{"kind":"static","protocol":"x402","network":"base","amountUsd":"0.001","per":"call","confidence":"exact"}]},"paymentMethods":[{"uid":"pm_ZBnLP0wt1kQKzC-BPm0bS","protocol":"x402","methodType":"crypto","chain":"base","mode":"charge","costAmount":"0.001","costPer":"request","priority":0,"asset":null,"unit":"request","depositMicros":null,"planRef":null}],"brandName":null,"brandSlug":null,"brandBaseUrl":null,"brandDocsUrl":null,"whatItDoes":"Simulate any EVM transaction on 31+ chains to preview asset changes, gas costs, and DeFi outcomes without executing on-chain","exampleAgentPrompt":"Before I actually submit this transaction, can you simulate it for me — I'm sending 1 ETH (1000000000000000000 wei) from 0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045 to 0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2 with calldata 0xd0e30db0, input token is native ETH (0x0000000000000000000000000000000000000000), and I want to see exactly what asset changes and gas costs I'd get without actually executing on-chain.","exampleUseCases":null,"resultDescription":"Returns a JSON object with: success flag, gas used and gas cost in wei, decoded events (e.g. wrap/swap), inputTokens and outputTokens with addresses/amounts/standards, assetChanges with direction (sent/received) for each token, sender address, and tokenMetadata (name, symbol, decimals) for all involved tokens.","failureModes":["Transaction reverts on simulation — success:false returned with revert reason","Invalid or non-checksummed contract address — 400 bad request","Unsupported chain — endpoint returns error for chains outside the 31+ supported","Malformed calldata hex string — 400 validation error","inputAmount as non-decimal string (e.g. hex) — parsing error","Payment not included or insufficient — 402 payment required","Rate limiting or Pro plan required for customEvents without x402 — 402/403 error"],"whenToPreferThis":"Use this endpoint when you need to dry-run any EVM transaction — especially DeFi operations like swaps, deposits, borrows, or wraps — and want to preview exact asset changes, output token amounts, and gas costs before committing on-chain. Prefer it over DEX quote APIs when you need verified simulation results across 31+ chains including full event decoding, or when you need to validate that a transaction will succeed without holding a balance or paying gas.","instructions":null,"reviewSummary":null,"reviewSummaryHighlights":null,"reviewSummaryConcerns":null,"reviewSummaryGeneratedAt":null,"activationCount":0,"lastUsedAt":null,"lastSuccessfullyRanAt":null,"lastHealthCheckAt":"2026-10-12T18:32:50.367Z","isFirstParty":false,"canonicalSlug":"portals-foresight-defi-transaction-simulation-api-35def172"}