SERVICE / DETAILother

ApiToll Base Gas Oracle

GET gas.apitoll.cloud/v1/base/gas

SONAR SCORE0.725
LIVE PRICE0.001000
BAZAAR LIVEcompatible
CDP INDEXEDno
DECISION EVIDENCE

Why an agent can trust this route.

22 observations in the last 24h
HANDSHAKE SUCCESS95.5%402 challenge reachable
PAID DELIVERY0.0%settlement observed
P90 LATENCY2440msrecent response window
PRICE DRIFT0.0%advertised vs observed

Sonar evidence is advisory. Paid delivery is shown as verified only when paid probes are available; otherwise route estimates use the unpaid handshake as a clearly labeled proxy.

SONAR PROBE HISTORY / 30D

Observed outcomes

JSON ↗
LIVE ENDPOINT METADATA

Base gas oracle / gas price API for AI agents and bots — get the gas price for a transaction on Base in one x402 call. Real-time slow/standard/fast EIP-1559 fee tiers from a live eth_feeHistory call, returned as DROP-IN maxFeePerGas + maxPriorityFeePerGas in wei — plug straight into a viem/ethers transaction, no gwei conversion. Plus base fee, head block, and network fullness. Call it before every Base tx to set a fair fee or wait out congestion.

Resource: gas.apitoll.cloud/v1/base/gas

Network: eip155:8453 · Asset: 0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913 · Pay to: 0xcc69d619E6053F88A4845066518f465bD06Fc96c

Payment methods: · Last validation: 2026-09-14 12:30:04.02+00

{
  "input": {
    "type": "object",
    "required": [
      "type",
      "method"
    ],
    "properties": {
      "type": {
        "type": "string",
        "const": "http"
      },
      "method": {
        "enum": [
          "GET"
        ],
        "type": "string"
      },
      "queryParams": {
        "type": "object",
        "required": [
          "blocks"
        ],
        "properties": {
          "blocks": {
            "type": "integer",
            "maximum": 50,
            "minimum": 1,
            "description": "Recent blocks to sample for percentile reward (1..50, clamped). Wider = smoother tiers, narrower = more reactive."
          }
        }
      }
    },
    "additionalProperties": false
  },
  "output": {
    "type": "object",
    "required": [
      "type"
    ],
    "properties": {
      "type": {
        "type": "string"
      },
      "example": {
        "type": "object",
        "properties": {
          "stats": {
            "type": "object",
            "required": [
              "blocks_sampled",
              "median_fullness_pct",
              "ts"
            ],
            "properties": {
              "ts": {
                "type": "string",
                "format": "date-time",
                "description": "ISO 8601 timestamp when snapshot was assembled."
              },
              "blocks_sampled": {
                "type": "integer",
                "description": "Number of recent blocks sampled for percentile calculation."
              },
              "median_fullness_pct": {
                "type": "number",
                "description": "Median (gasUsed / gasLimit) × 100 across sampled blocks. 100 = full, 0 = empty."
              }
            },
            "description": "Sampling metadata: block count and median fullness."
          },
          "tiers": {
            "type": "object",
            "properties": {
              "fast": {
                "type": "object",
                "required": [
                  "max_fee_gwei",
                  "max_priority_gwei",
                  "maxFeePerGas",
                  "maxPriorityFeePerGas"
                ],
                "properties": {
                  "maxFeePerGas": {
                    "type": "string",
                    "description": "DROP-IN: exact maxFeePerGas in wei. tx.maxFeePerGas = BigInt(this)."
                  },
                  "max_fee_gwei": {
                    "type": "number",
                    "description": "maxFeePerGas in gwei (human-readable)."
                  },
                  "max_priority_gwei": {
                    "type": "number",
                    "description": "maxPriorityFeePerGas (tip) in gwei (human-readable)."
                  },
                  "maxPriorityFeePerGas": {
                    "type": "string",
                    "description": "DROP-IN: exact maxPriorityFeePerGas in wei (BigInt-ready)."
                  }
                }
              },
              "slow": {
                "type": "object",
                "required": [
                  "max_fee_gwei",
                  "max_priority_gwei",
                  "maxFeePerGas",
                  "maxPriorityFeePerGas"
                ],
                "properties": {
                  "maxFeePerGas": {
                    "type": "string",
                    "description": "DROP-IN: exact maxFeePerGas in wei. tx.maxFeePerGas = BigInt(this)."
                  },
                  "max_fee_gwei": {
                    "type": "number",
                    "description": "maxFeePerGas in gwei (human-readable)."
                  },
                  "max_priority_gwei": {
                    "type": "number",
                    "description": "maxPriorityFeePerGas (tip) in gwei (human-readable)."
                  },
                  "maxPriorityFeePerGas": {
                    "type": "string",
                    "description": "DROP-IN: exact maxPriorityFeePerGas in wei (BigInt-ready)."
                  }
                }
              },
              "standard": {
                "type": "object",
                "required": [
                  "max_fee_gwei",
                  "max_priority_gwei",
                  "maxFeePerGas",
                  "maxPriorityFeePerGas"
                ],
                "properties": {
                  "maxFeePerGas": {
                    "type": "string",
                    "description": "DROP-IN: exact maxFeePerGas in wei. tx.maxFeePerGas = BigInt(this)."
                  },
                  "max_fee_gwei": {
                    "type": "number",
                    "description": "maxFeePerGas in gwei (human-readable)."
                  },
                  "max_priority_gwei": {
                    "type": "number",
                    "description": "maxPriorityFeePerGas (tip) in gwei (human-readable)."
                  },
                  "maxPriorityFeePerGas": {
                    "type": "string",
                    "description": "DROP-IN: exact maxPriorityFeePerGas in wei (BigInt-ready)."
                  }
                }
              }
            },
            "description": "Three fee tiers (slow p10, standard p50, fast p90). Each carries human gwei (max_fee_gwei/max_priority_gwei) AND DROP-IN wei (maxFeePerGas/maxPriorityFeePerGas, BigInt-ready) to plug straight into a viem/ethers tx."
          },
          "network": {
            "enum": [
              "base-mainnet",
              "base-sepolia"
            ],
            "type": "string",
            "description": "Network identifier (Base mainnet or testnet)"
          },
          "base_fee_wei": {
            "type": "string",
            "description": "Base fee in wei (exact, BigInt-ready decimal string)."
          },
          "block_number": {
            "type": "integer",
            "description": "Latest sampled block number (the head)."
          },
          "base_fee_gwei": {
            "type": "number",
            "description": "EIP-1559 base fee for the next block (gwei, human-readable)."
          }
        }
      }
    }
  },
  "paymentRequirements": [
    {
      "raw": {
        "asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
        "extra": {
          "name": "USD Coin",
          "version": "2"
        },
        "payTo": "0xcc69d619E6053F88A4845066518f465bD06Fc96c",
        "amount": "1000",
        "scheme": "exact",
        "network": "eip155:8453",
        "maxTimeoutSeconds": 300
      },
      "asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
      "payTo": "0xcc69d619E6053F88A4845066518f465bD06Fc96c",
      "scheme": "exact",
      "network": "eip155:8453",
      "amountAtomic": "1000"
    }
  ]
}
METADATA PROVENANCE

Source catalog records are retained separately from live endpoint observations. Sonar score, uptime, and latency are advisory metrics. CDP indexing is not inferred from validation.