{"uid":"cap_HyevEPFq_6WP3S1GzmTu0","slug":"avasis-ethereum-transaction-pre-check-6d7c1ed1","name":"Avasis Ethereum Transaction Pre-check","description":"Pre-sign tx precheck for Ethereum (chain 1, $0.02): simulate transaction {from,to,data,value} with eth_simulateV1 before signing. Returns would_revert + reason, gas USD, each ETH/ERC-20/NFT transfer with USD, wallet PnL (net_for_from usd_net), approval risk (spender, unlimited:true, USD exposure), counterparty risk (GoPlus + OFAC), decoded method, SIGN/CAUTION/BLOCK verdict with reasons. POST JSON or GET. Free live sample /v1/evm/tx-precheck/sample. Advice only; RPC down 502, never charged.","url":"https://agents.avasis.ai/v1/eth/tx-precheck?utm_source=zero.xyz","method":"GET","headers":{},"bodySchema":{"type":"object","$schema":"https://json-schema.org/draft/2020-12/schema","required":["input"],"properties":{"input":{"type":"object","required":["type","method"],"properties":{"type":{"type":"string","const":"http"},"method":{"enum":["GET"],"type":"string"},"queryParams":{"type":"object","required":["from","to"],"properties":{"to":{"type":"string","description":"the transaction's to (contract or recipient, 0x + 40 hex)"},"gas":{"type":"integer","maximum":30000000,"minimum":21000,"description":"optional gas limit for the cost columns (default: the simulation's gas_used)"},"data":{"type":"string","description":"calldata as 0x hex (omit or 0x for a plain ETH transfer); max 6 KB"},"from":{"type":"string","description":"the signer's wallet (0x + 40 hex): the account that would sign; its ETH balance, allowances granted and net position are checked"},"chain":{"type":"string","description":"optional; must be ethereum / 1 on this route"},"value":{"type":"string","description":"ETH value in wei as a decimal or 0x hex integer string (default 0)"}},"additionalProperties":false}},"additionalProperties":false},"output":{"type":"object","required":["type"],"properties":{"type":{"type":"string"},"example":{"type":"object","required":["chain","verdict","decoded","sim","transfers","net_for_from","approvals","risk"],"properties":{"tx":{"type":"object"},"sim":{"type":"object"},"risk":{"type":"object"},"chain":{"type":"string"},"signer":{"type":"object"},"decoded":{"type":"object"},"verdict":{"type":"object"},"chain_id":{"type":"integer"},"precheck":{"type":"string"},"approvals":{"type":"array"},"transfers":{"type":"array"},"disclaimer":{"type":"string"},"net_for_from":{"type":"object"},"also_available":{"type":"object"}}}}}}},"responseSchema":{"type":"json","example":{"tx":{"to":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913","data":"0x095ea7b30000000000000000000000002626664c2603336e57b271c5c0b26f421741e481ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff","from":"0xf977814e90da44bfa03b6295a0616a897441acec","gas_limit":null,"value_eth":"0","value_wei":"0","data_bytes":68},"sim":{"rpc":"base-rpc.publicnode.com","method":"eth_simulateV1 (traceTransfers, validation off; funds checked separately)","status":"0x1","eth_usd":2580.5,"gas_usd":0.000865,"chain_id":8453,"gas_used":55785,"block_tag":"latest","gas_price":{"basis":"effective = base fee + priority (standard tier); max = 2 x base fee + priority","max_fee_wei":"11000000","base_fee_wei":"5000000","priority_wei":"1000000","effective_wei":"6000000"},"gas_usd_max":0.001585,"return_data":"0x0000000000000000000000000000000000000000000000000000000000000001","block_number":53394126,"gas_cost_eth":"0.00000033471","would_revert":false,"revert_reason":null,"eth_usd_source":"chainlink ETH/USD (latestRoundData)","block_timestamp":1793180287,"l1_data_fee_eth":"0.000000000488126494","gas_limit_used_for_cost":55785},"risk":{"ofac":{"hits":[],"available":true},"flags":[{"code":"UNLIMITED_APPROVAL","label":"an unlimited allowance: the spender can move your whole balance of that token at any later time","level":"CAUTION","evidence":"Uniswap SwapRouter02 on USDC: $1234.56 of your balance exposed now"}],"goplus":{"source":"GoPlus address_security (keyless)","screened":2,"unavailable":0},"counterparties":[{"ofac":false,"role":"to","known":"USDC (Circle)","goplus":{"warn":[],"block":[],"available":true},"address":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913","is_contract":false}]},"chain":"ethereum","signer":{"nonce":1200,"address":"0xf977814e90da44bfa03b6295a0616a897441acec","funds_ok":true,"balance_eth":"2.5","needs_eth_max":"0.000000614123126494"},"decoded":{"args":{"amount_raw":"115792089237316195423570985008687907853269984665640564039457584007913129639935","spender_or_to":"0x2626664c2603336e57b271c5c0b26f421741e481"},"kind":"approve","method":"approve","selector":"0x095ea7b3","to_known":"USDC (Circle)","one_liner":"approve: let Uniswap SwapRouter02 spend UNLIMITED USDC from your wallet","signature":"approve(address,uint256)"},"verdict":{"level":"CAUTION","action":"sign only after reviewing the reasons","reasons":["UNLIMITED_APPROVAL: Uniswap SwapRouter02 on USDC: $1234.56 of your balance exposed now"],"headline":"CAUTION: approve: let Uniswap SwapRouter02 spend UNLIMITED USDC from your wallet"},"chain_id":1,"precheck":"evm-tx-precheck-1","approvals":[{"nft":false,"owner":"0xf977814e90da44bfa03b6295a0616a897441acec","token":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913","amount":"unlimited","symbol":"USDC","spender":"0x2626664c2603336e57b271c5c0b26f421741e481","by_signer":true,"unlimited":true,"amount_raw":"115792089237316195423570985008687907853269984665640564039457584007913129639935","token_known":"USDC (Circle)","usd_exposure":1234.56,"spender_known":"Uniswap SwapRouter02","exposure_basis":"your whole current balance of this token (allowance covers it)","signer_balance":"1234.56","covers_full_balance":true,"spender_is_contract":true}],"transfers":[],"disclaimer":"advice only; see the paid body","net_for_from":{"note":"usd_net = ETH delta - gas + priced token deltas, at current prices","tokens":[],"usd_net":-0.000865,"unpriced":[],"eth_delta":"0","gas_cost_eth":"0.000000335198126494","gas_cost_usd":0.000865,"gas_cost_wei":"335198126494","eth_delta_usd":0,"eth_delta_wei":"0","usd_net_complete":true,"eth_delta_after_gas":"-0.000000335198126494"},"also_available":{"how":"same x402 flow as this quote (USDC on Base, no account or API key); an unpaid GET on any url is a free quote; free samples at /v1/evm/<sku>/sample","items":[{"url":"https://agents.avasis.ai/v1/eth/tx-receipt","what":"Ethereum tx receipt + status: after you send, wait for the receipt (up to 30 s), decoded transfers, fee in USD, revert reason, or a pending/stuck diagnosis","price_usd":"0.02","free_sample":"https://agents.avasis.ai/v1/evm/tx-receipt/sample"},{"url":"https://agents.avasis.ai/v1/eth/erc20-allowance","what":"Ethereum ERC-20 allowance check: is the spender approved, for how much, does the owner hold it; ready approve / revoke calldata","price_usd":"0.02","free_sample":"https://agents.avasis.ai/v1/evm/erc20-allowance/sample"}],"ladder":"$0.02 Ethereum tx precheck (this call) -> $0.02 Ethereum tx-receipt https://agents.avasis.ai/v1/eth/tx-receipt (after you send) -> $0.02 Ethereum erc20-allowance https://agents.avasis.ai/v1/eth/erc20-allowance | $0.02 Ethereum multi-balance https://agents.avasis.ai/v1/eth/multi-balance; free samples https://agents.avasis.ai/v1/evm/{tx-precheck,tx-receipt,erc20-allowance,multi-balance}/sample"}}},"example":null,"exampleRequest":null,"tags":["x402"],"displayCostAmount":"0.02","displayCostAsset":"USDC","priceDynamic":false,"priceHint":null,"priceStatus":"priced","priceSource":"probe","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.02/call","primary":{"kind":"static","protocol":"x402","network":"base","amountUsd":"0.02","per":"call","confidence":"exact"},"accepted":[{"kind":"static","protocol":"x402","network":"base","amountUsd":"0.02","per":"call","confidence":"exact"}]},"paymentMethods":[{"uid":"pm_7mm6Id4OSIOJ5Zq9AjyXM","protocol":"x402","methodType":"crypto","chain":"base","mode":"charge","costAmount":"0.02","costPer":"request","priority":0,"asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","unit":"request","depositMicros":null,"planRef":null}],"brandName":null,"brandSlug":null,"brandBaseUrl":null,"brandDocsUrl":null,"whatItDoes":"Simulates an Ethereum transaction before signing and returns revert risk, gas cost in USD, token/NFT transfers, wallet PnL, approval risk, counterparty/OFAC risk, and a SIGN/CAUTION/BLOCK verdict","exampleAgentPrompt":"Before I sign this Ethereum transaction, can you simulate it and tell me whether it will revert, how much it'll cost in gas, what tokens I'll be sending, and whether the spender has unlimited approval risk? From wallet 0xAbC...123, calling 0xDef...456 with calldata 0xa9059cbb... and 0 ETH value.","exampleUseCases":[{"title":"DeFi swap safety check","prompt":"I'm about to sign a Uniswap swap transaction — can you simulate it first and tell me if it'll revert, what tokens I'll actually send vs receive in USD, and whether it's safe to sign? From 0xMyWallet, to 0xUniswapRouter, with this calldata: 0x38ed1739..."},{"title":"Token approval risk scan","prompt":"This dApp wants me to approve a token spend — can you check if the spender gets unlimited approval, how much USD exposure that creates, and whether GoPlus or OFAC flags this contract? From 0xMyWallet, to 0xTokenContract, calldata 0x095ea7b3..."},{"title":"NFT transfer verification","prompt":"I got a transaction request asking me to transfer an NFT — before I sign, can you simulate it and show me exactly which NFTs will move, what they're worth in USD, and give me a SIGN, CAUTION, or BLOCK verdict? From 0xMyWallet, to 0xNFTContract, with calldata 0x23b872dd..."}],"resultDescription":"Returns a JSON object containing: chain identifier, simulation result (would_revert boolean + revert reason if applicable), decoded method name, list of ETH/ERC-20/NFT transfers each with USD value, wallet net PnL (net_for_from with usd_net), approval entries with spender address, unlimited flag, and USD exposure, counterparty risk assessment from GoPlus and OFAC, gas cost in USD, and a final verdict object with SIGN/CAUTION/BLOCK decision plus human-readable reasons.","failureModes":["502 Bad Gateway if the underlying Ethereum RPC node is down — not charged on this failure","Invalid from/to address format returns a validation error","Calldata exceeding 6 KB is rejected","Chain parameter set to anything other than ethereum/1 on this route returns an error","If the simulation itself reverts, would_revert is true but no charge failure occurs — this is a valid response"],"whenToPreferThis":"Choose this endpoint when an AI agent or wallet UI needs to pre-flight an Ethereum mainnet transaction before presenting it to a user for signing. It combines simulation, token flow analysis, approval risk, OFAC/GoPlus compliance screening, and a human-readable verdict in a single $0.02 call — eliminating the need to assemble multiple separate APIs (eth_simulateV1, GoPlus, OFAC lists, price feeds). Prefer it over raw RPC simulation when you need USD-denominated costs, unlimited-approval detection, or compliance screening alongside the simulation result.","instructions":null,"reviewSummary":null,"reviewSummaryHighlights":null,"reviewSummaryConcerns":null,"reviewSummaryGeneratedAt":null,"activationCount":0,"lastUsedAt":null,"lastSuccessfullyRanAt":null,"lastHealthCheckAt":"2026-11-01T06:38:25.544Z","isFirstParty":false,"canonicalSlug":"avasis-ethereum-transaction-pre-check-6d7c1ed1"}