# Avasis Base Transaction Pre-Check

> Avasis Base Transaction Pre-Check is a paid API for AI agents from agents.avasis.ai, paid per call via x402, $0.02/call, status unknown (last checked 2026-11-01).

Simulates an Ethereum Base chain transaction before signing, returning revert risk, gas cost in USD, token transfers with USD values, approval risks, counterparty risk scores, and a SIGN/CAUTION/BLOCK verdict.

## Facts

- Endpoint: GET https://agents.avasis.ai/v1/base/tx-precheck?utm_source=zero.xyz
- Price: $0.02/call
- Payment: x402
- Status: unknown
- Last checked: 2026-11-01
- Activations on Zero: 0
- Tags: x402
- Canonical page: https://www.zero.xyz/c/avasis-base-transaction-pre-check-208f09a4
- Structured record (JSON): https://api.zero.xyz/v1/capabilities/cap_VsLrn6FGdywFj1i3kK5F9

Status and success rate cover calls made through Zero and Zero's own probes. Third-party monitors may report differently.

## How to call it through Zero

Zero handles the 402 payment challenge and records the run. With the Zero CLI installed (`npm i -g @zeroxyz/cli`):

```sh
zero fetch --capability avasis-base-transaction-pre-check-208f09a4
```

Example prompt: Before I sign this transaction, can you simulate it on Base and tell me whether it'll revert, how much gas it'll cost in USD, what tokens will move, and whether I should sign it or block it? From wallet 0xYourWallet, to 0xContractAddress, with calldata 0xabcdef and 0 ETH value.

## When to prefer this

Use this endpoint when an AI agent or wallet interface needs to validate a Base chain (chain 8453) transaction before the user signs it — especially when you need USD-denominated cost/transfer previews, approval risk scoring, GoPlus+OFAC counterparty checks, and a single SIGN/CAUTION/BLOCK verdict in one call. Prefer it over raw eth_simulateV1 calls when you want pre-parsed, human-readable risk output rather than raw simulation data. It is specifically scoped to Base; use sibling endpoints for Ethereum mainnet or Solana.

## Known failure modes

- 502 Bad Gateway if the Base RPC node is down — no charge is applied
- Missing required 'from' or 'to' query parameters returns a 400 validation error
- Invalid hex format for 'data' or 'from'/'to' addresses returns a schema validation error
- Calldata exceeding 6 KB is rejected
- Simulation may return would_revert:true with a revert reason if the transaction would fail on-chain
- If GoPlus or OFAC services are unavailable, counterparty risk fields may be null or incomplete

## How this service works

Pre-sign tx precheck for Base (chain 8453, $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.

## Output

A JSON object containing: chain identifier, simulation result (would_revert, revert reason), decoded method name and parameters, list of ETH/ERC-20/NFT transfers each with USD value, wallet net PnL (net_for_from with usd_net), array of approval risks (spender address, unlimited flag, USD exposure), counterparty risk scores from GoPlus and OFAC check, estimated gas cost in USD, and a final verdict object with SIGN / CAUTION / BLOCK decision plus human-readable reasons.

## Request schema (JSON Schema)

```json
{
 "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 base / 8453 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"
      },
      "n
… (truncated)
```

## Response schema (JSON Schema)

```json
{
 "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": "base",
  "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"
   },
   "kin
… (truncated)
```

## More

- Live health (JSON, refreshed every minute): https://www.zero.xyz/c/avasis-base-transaction-pre-check-208f09a4/health.json
- [Zero catalog index](https://www.zero.xyz/llms.txt)
- [Other services from agents.avasis.ai](https://www.zero.xyz/host/agents.avasis.ai/llms.txt)
