Abstraxn Agent Layer

Abstraxn: public Web3 MCP server for read-only chain data and pay-per-call relays.

사용해야 할까요

품질 및 안전성

A
설명 품질
100%
스키마 완전성
98%
이름 품질
50%
오염 위험
100%
권한 일치
100%
프로토콜 준수
100%

발견 사항 (12)

  • LOWTool 'network.blocknumber' doesn't follow camelCase/snake_casenetwork.blocknumber에서
  • LOWTool 'network.transaction_status' doesn't follow camelCase/snake_casenetwork.transaction_status에서
  • LOWTool 'network.gas_info' doesn't follow camelCase/snake_casenetwork.gas_info에서
  • LOWTool 'network.token_info' doesn't follow camelCase/snake_casenetwork.token_info에서
  • LOWTool 'network.token_price' doesn't follow camelCase/snake_casenetwork.token_price에서
  • LOWTool 'network.prepare_transfer' doesn't follow camelCase/snake_casenetwork.prepare_transfer에서
  • LOWTool 'weather.forecast' doesn't follow camelCase/snake_caseweather.forecast에서
  • LOWTool 'market.crypto' doesn't follow camelCase/snake_casemarket.crypto에서
  • LOWTool 'web3.lookup' doesn't follow camelCase/snake_caseweb3.lookup에서
  • LOWTool 'travel.search' doesn't follow camelCase/snake_casetravel.search에서

도구 정의와 프로토콜 준수에 대한 자동 분석을 기반으로 합니다.

컨텍스트 비용

~9,806토큰 (도구 정의)
~5.7 KB일반적인 응답 크기
상당한 주의 영향 (128k 컨텍스트의 7.66%)

이는 서버의 도구가 모델의 컨텍스트에 로드될 때마다 소비되는 대략적인 토큰 수입니다. 수치가 높을수록 다른 작업에 사용할 수 있는 주의가 줄어듭니다.

설치

원클릭 설치

`claude_desktop_config.json` 파일에 다음을 추가하세요:

{
  "mcpServers": {
    "abstraxn": {
      "url": "https://mcp.abstraxn.com/mcp"
    }
  }
}

원격 엔드포인트

https://mcp.abstraxn.com/mcpstreamable-http

할 수 있는 일

도구 목록

도구 (12)

🟢 읽기 전용🟡 쓰기🔴 삭제⚪ 알 수 없음
🟢network.blocknumber(chain)

Read the current chain head — EVM block number or Solana slot — for a supported network. Free, read-only, no wallet needed. Use this to confirm a network is progressing before submitting a transaction, correlate off-chain events with on-chain height, or choose a safe starting point when scanning logs. Pass `chain` as one of: solana, solana-devnet, ethereum, sepolia, polygon, amoy, bsc, bsc-testnet, base, base-sepolia, tempo, tempo-testnet, arbitrum-one, monad, skale-base-sepolia. Omit `chain` (or pass `all`) to query every resolvable chain in one call.

입력 스키마

{
  "type": "object",
  "properties": {
    "chain": {
      "description": "Blockchain network, or \"all\" (default) for every supported chain. One of: solana, solana-devnet, ethereum, sepolia, polygon, amoy, bsc, bsc-testnet, base, base-sepolia, tempo, tempo-testnet, arbitrum-one, monad, skale-base-sepolia, all",
      "type": "string",
      "enum": [
        "solana",
        "solana-devnet",
        "ethereum",
        "sepolia",
        "polygon",
        "amoy",
        "bsc",
        "bsc-testnet",
        "base",
        "base-sepolia",
        "tempo",
        "tempo-testnet",
        "arbitrum-one",
        "monad",
        "skale-base-sepolia",
        "all"
      ]
    }
  },
  "$schema": "http://json-schema.org/draft-07/schema#"
}

출력 스키마

{
  "type": "object",
  "properties": {
    "chain": {
      "type": "string"
    },
    "blockNumber": {
      "description": "Hex-encoded EVM block number.",
      "type": "string"
    },
    "blockNumberDecimal": {
      "type": "string"
    },
    "slot": {
      "description": "Solana slot number.",
      "type": "integer",
      "minimum": -9007199254740991,
      "maximum": 9007199254740991
    },
    "blocks": {
      "description": "Per-chain results, present for multi-chain queries.",
      "type": "object",
      "propertyNames": {
        "type": "string"
      },
      "additionalProperties": {}
    },
    "error": {
      "type": "string"
    },
    "message": {
      "type": "string"
    }
  },
  "$schema": "http://json-schema.org/draft-07/schema#",
  "additionalProperties": false
}
🟢network.transaction_status(chain, transaction_hash)

Check the status of a transaction. Supports both EVM (transaction hash) and Solana (signature). Free, read-only. Use this to confirm a transfer landed, debug a failed transaction, or report status to a user. Both `chain` and `transaction_hash` are required. Available chains: solana, solana-devnet, ethereum, sepolia, polygon, amoy, bsc, bsc-testnet, base, base-sepolia, tempo, tempo-testnet, arbitrum-one, monad, skale-base-sepolia.

입력 스키마

{
  "type": "object",
  "properties": {
    "chain": {
      "type": "string",
      "enum": [
        "solana",
        "solana-devnet",
        "ethereum",
        "sepolia",
        "polygon",
        "amoy",
        "bsc",
        "bsc-testnet",
        "base",
        "base-sepolia",
        "tempo",
        "tempo-testnet",
        "arbitrum-one",
        "monad",
        "skale-base-sepolia"
      ],
      "description": "Blockchain network. One of: solana, solana-devnet, ethereum, sepolia, polygon, amoy, bsc, bsc-testnet, base, base-sepolia, tempo, tempo-testnet, arbitrum-one, monad, skale-base-sepolia"
    },
    "transaction_hash": {
      "type": "string",
      "description": "Transaction hash (EVM, 0x + 64 hex) or Solana signature (base58)."
    }
  },
  "required": [
    "chain",
    "transaction_hash"
  ],
  "$schema": "http://json-schema.org/draft-07/schema#"
}

출력 스키마

{
  "type": "object",
  "properties": {
    "chain": {
      "type": "string"
    },
    "transaction_hash": {
      "type": "string"
    },
    "status": {
      "description": "e.g. \"success\", \"failed\", \"not_found\", \"pending\".",
      "type": "string"
    },
    "from": {
      "type": "string"
    },
    "to": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ]
    },
    "value": {
      "type": "string"
    },
    "gasUsed": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ]
    },
    "gasPrice": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ]
    },
    "blockNumber": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ]
    },
    "blockNumberDecimal": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ]
    },
    "timestamp": {
      "anyOf": [
        {
          "type": "number"
        },
        {
          "type": "null"
        }
      ]
    },
    "error": {
      "type": "string"
    },
    "message": {
      "type": "string"
    }
  },
  "$schema": "http://json-schema.org/draft-07/schema#",
  "additionalProperties": false
}
🟢network.gas_info(chain)

Get the current gas price and EIP-1559 fee hints for an EVM chain. Free, read-only, no wallet needed. Use this to estimate transaction cost or explain fees to a user before they send a transaction. `chain` is required. Supported chains: ethereum, sepolia, polygon, amoy, bsc, bsc-testnet, base, base-sepolia, tempo, tempo-testnet, arbitrum-one, monad, skale-base-sepolia.

입력 스키마

{
  "type": "object",
  "properties": {
    "chain": {
      "type": "string",
      "enum": [
        "ethereum",
        "sepolia",
        "polygon",
        "amoy",
        "bsc",
        "bsc-testnet",
        "base",
        "base-sepolia",
        "tempo",
        "tempo-testnet",
        "arbitrum-one",
        "monad",
        "skale-base-sepolia"
      ],
      "description": "EVM network slug. One of: ethereum, sepolia, polygon, amoy, bsc, bsc-testnet, base, base-sepolia, tempo, tempo-testnet, arbitrum-one, monad, skale-base-sepolia"
    }
  },
  "required": [
    "chain"
  ],
  "$schema": "http://json-schema.org/draft-07/schema#"
}

출력 스키마

{
  "type": "object",
  "properties": {
    "chain": {
      "type": "string"
    },
    "gasPrice": {
      "description": "Current gas price in wei.",
      "type": "string"
    },
    "gasPriceGwei": {
      "description": "Current gas price in gwei.",
      "type": "string"
    },
    "maxFeePerGas": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ]
    },
    "maxPriorityFeePerGas": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ]
    },
    "supportsEip1559": {
      "type": "boolean"
    },
    "timestamp": {
      "description": "Unix ms timestamp of the reading.",
      "type": "number"
    },
    "error": {
      "type": "string"
    },
    "message": {
      "type": "string"
    }
  },
  "$schema": "http://json-schema.org/draft-07/schema#",
  "additionalProperties": false
}
🟢network.token_info(chain, token)

Read ERC-20 token metadata — name, symbol, decimals, total supply — for a token contract on an EVM chain. Free, read-only. Pass `token` as a contract address (0x…) or symbol `USDC` / `USDC.e` on chains where a lookup is configured. This server never holds a caller wallet, so no balance is ever returned — only public token metadata. Both `chain` and `token` are required. Supported chains: ethereum, sepolia, polygon, amoy, bsc, bsc-testnet, base, base-sepolia, tempo, tempo-testnet, arbitrum-one, monad, skale-base-sepolia.

입력 스키마

{
  "type": "object",
  "properties": {
    "chain": {
      "type": "string",
      "enum": [
        "ethereum",
        "sepolia",
        "polygon",
        "amoy",
        "bsc",
        "bsc-testnet",
        "base",
        "base-sepolia",
        "tempo",
        "tempo-testnet",
        "arbitrum-one",
        "monad",
        "skale-base-sepolia"
      ],
      "description": "EVM network for the token contract."
    },
    "token": {
      "type": "string",
      "description": "ERC-20 contract address (0x…) or symbol USDC / USDC.e where configured for the chain."
    }
  },
  "required": [
    "chain",
    "token"
  ],
  "$schema": "http://json-schema.org/draft-07/schema#"
}

출력 스키마

{
  "type": "object",
  "properties": {
    "chain": {
      "type": "string"
    },
    "tokenAddress": {
      "type": "string"
    },
    "name": {
      "type": "string"
    },
    "symbol": {
      "type": "string"
    },
    "decimals": {
      "type": "integer",
      "minimum": -9007199254740991,
      "maximum": 9007199254740991
    },
    "totalSupply": {
      "description": "Raw total supply (base units).",
      "type": "string"
    },
    "totalSupplyFormatted": {
      "type": "string"
    },
    "timestamp": {
      "type": "number"
    },
    "error": {
      "type": "string"
    },
    "message": {
      "type": "string"
    }
  },
  "$schema": "http://json-schema.org/draft-07/schema#",
  "additionalProperties": false
}
🟢network.token_price(symbol, vsCurrency)

Get a spot token price from a public market API (CoinGecko). Free — no payment or wallet needed. Defaults to ETH/USD.

입력 스키마

{
  "type": "object",
  "properties": {
    "symbol": {
      "description": "CoinGecko token id (e.g. \"ethereum\", \"bitcoin\", \"solana\"). Defaults to \"ethereum\".",
      "type": "string"
    },
    "vsCurrency": {
      "description": "Quote currency code. Defaults to \"usd\".",
      "type": "string"
    }
  },
  "$schema": "http://json-schema.org/draft-07/schema#"
}

출력 스키마

{
  "type": "object",
  "properties": {
    "symbol": {
      "type": "string"
    },
    "vsCurrency": {
      "type": "string"
    },
    "price": {
      "type": "number"
    },
    "source": {
      "description": "e.g. \"coingecko\".",
      "type": "string"
    },
    "error": {
      "type": "string"
    },
    "message": {
      "type": "string"
    }
  },
  "$schema": "http://json-schema.org/draft-07/schema#",
  "additionalProperties": false
}
🟢network.prepare_transfer(chain, from, to, amount, token, ...)

Build an **unsigned** native or token transfer transaction for a supported chain, from an explicit sender you provide. Free, read-only against the chain (nonce/gas/fees are read live) — this tool never signs, broadcasts, holds a key, or enforces any allowlist/spend limit. This server never binds a caller wallet, so `from` is always required. Supported chains: solana, solana-devnet, ethereum, sepolia, polygon, amoy, bsc, bsc-testnet, base, base-sepolia, tempo, tempo-testnet, arbitrum-one, monad, skale-base-sepolia. Token (`token` field): - Solana: 'SOL' (native, default) or 'USDC'. - EVM: native symbol (default), 'USDC', 'USDC.e' where configured for the chain, or a raw 0x contract address (decimals are read live from the contract; `token_decimals` is only a fallback if that read fails). Gas: the sender pays gas in the chain's native token once they sign — this server never sponsors it. Raw calldata (EVM only): pass `data` (hex, 0x-prefixed) with `to` as the contract call target and `amount` as the native value to send (use "0" for a pure call). Privacy (`private`, EVM only): requests SKALE BITE encryption, only supported on skale-base-sepolia, where it defaults to true — pass `private: false` there for a plaintext transfer. Rejected on every other chain.

입력 스키마

{
  "type": "object",
  "properties": {
    "chain": {
      "type": "string",
      "enum": [
        "solana",
        "solana-devnet",
        "ethereum",
        "sepolia",
        "polygon",
        "amoy",
        "bsc",
        "bsc-testnet",
        "base",
        "base-sepolia",
        "tempo",
        "tempo-testnet",
        "arbitrum-one",
        "monad",
        "skale-base-sepolia"
      ],
      "description": "Destination chain. One of: solana, solana-devnet, ethereum, sepolia, polygon, amoy, bsc, bsc-testnet, base, base-sepolia, tempo, tempo-testnet, arbitrum-one, monad, skale-base-sepolia"
    },
    "from": {
      "type": "string",
      "description": "Sender address (0x for EVM, base58 for Solana)."
    },
    "to": {
      "type": "string",
      "description": "Recipient address (0x for EVM, base58 for Solana)."
    },
    "amount": {
      "type": "string",
      "description": "Amount in human units (e.g. \"0.1\", \"100\"). Use \"0\" for a contract call that sends no native value."
    },
    "token": {
      "description": "Token symbol (native/USDC/USDC.e) or EVM contract address. Omit for the chain's native token.",
      "type": "string"
    },
    "token_decimals": {
      "description": "Fallback decimals for an EVM ERC-20 if a live decimals() read fails (default 18).",
      "type": "integer",
      "minimum": -9007199254740991,
      "maximum": 9007199254740991
    },
    "data": {
      "description": "Hex-encoded calldata for a raw EVM contract call (0x-prefixed). Requires `to` as the call target.",
      "type": "string"
    },
    "private": {
      "description": "Request BITE privacy encryption. Only valid on skale-base-sepolia (defaults true there); rejected elsewhere.",
      "type": "boolean"
    }
  },
  "required": [
    "chain",
    "from",
    "to",
    "amount"
  ],
  "$schema": "http://json-schema.org/draft-07/schema#"
}

출력 스키마

{
  "type": "object",
  "properties": {
    "status": {
      "type": "string"
    },
    "chain": {
      "type": "string"
    },
    "from": {
      "type": "string"
    },
    "to": {
      "type": "string"
    },
    "token": {
      "type": "string"
    },
    "tokenContract": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ]
    },
    "amount": {
      "type": "string"
    },
    "amountAtomic": {
      "type": "string"
    },
    "decimals": {
      "type": "integer",
      "minimum": -9007199254740991,
      "maximum": 9007199254740991
    },
    "transaction": {
      "type": "object",
      "propertyNames": {
        "type": "string"
      },
      "additionalProperties": {}
    },
    "execution": {
      "type": "object",
      "propertyNames": {
        "type": "string"
      },
      "additionalProperties": {}
    },
    "policy": {
      "type": "object",
      "propertyNames": {
        "type": "string"
      },
      "additionalProperties": {}
    },
    "error": {
      "type": "string"
    },
    "message": {
      "type": "string"
    }
  },
  "$schema": "http://json-schema.org/draft-07/schema#",
  "additionalProperties": false
}
🟢weather.forecast(action, q, days, date, aqi, ...)

Weather data from a global weather data provider — current conditions, short-range forecast, astronomy, historical, marine, and location search. Free, read-only, no wallet needed. Every action requires `q`, a location: a city name (e.g. "Paris"), "lat,lon" (e.g. "48.85,2.35"), a US/UK/Canadian postal code, or an IATA airport code. Pick one `action`: - current: current conditions for `q`. Optional `aqi` (default false) adds basic air quality data. - forecast: forecast for `q`. Optional `days` — this deployment runs on a data plan capped at 3 days, so only 1-3 is accepted; omit for the provider default. Optional `aqi`, `alerts` (default false, adds active weather alerts for the location where available). - astronomy: sunrise/sunset/moonrise/moonset/moon phase for `q` on `date` (required, YYYY-MM-DD). - search: resolve a fuzzy `q` into matching locations (name, region, country, lat/lon) — use this first if you only have an approximate place name and need to disambiguate. - history: past weather for `q` on `date` (required, YYYY-MM-DD, must be yesterday). This deployment enforces a free-tier data plan that only allows yesterday's date — any other date is rejected before a provider call is made. - marine: marine/sailing conditions for `q`. This deployment runs on a data plan limited to 1 day of data with no tide information. Results are for general informational purposes only — do not use them as the sole basis for decisions involving personal safety, aviation, marine navigation, or emergency planning.

입력 스키마

{
  "type": "object",
  "properties": {
    "action": {
      "type": "string",
      "enum": [
        "current",
        "forecast",
        "astronomy",
        "search",
        "history",
        "marine"
      ],
      "description": "Which weather operation to perform."
    },
    "q": {
      "type": "string",
      "description": "Location: city name, \"lat,lon\", postal code, or airport code. Required for every action."
    },
    "days": {
      "description": "forecast: number of forecast days (1-3 on this deployment's plan). Omit for the provider default.",
      "type": "integer",
      "minimum": 1,
      "maximum": 3
    },
    "date": {
      "description": "astronomy / history: date in YYYY-MM-DD format. Required for both.",
      "type": "string"
    },
    "aqi": {
      "description": "current / forecast / history: include basic air quality data (default false).",
      "type": "boolean"
    },
    "alerts": {
      "description": "forecast: include active weather alerts for the location (default false).",
      "type": "boolean"
    }
  },
  "required": [
    "action",
    "q"
  ],
  "$schema": "http://json-schema.org/draft-07/schema#"
}

출력 스키마

{
  "type": "object",
  "properties": {
    "error": {
      "type": "string"
    },
    "message": {
      "type": "string"
    }
  },
  "$schema": "http://json-schema.org/draft-07/schema#",
  "additionalProperties": false
}
🟢market.crypto(action, q, ids, currencies, include_24h, ...)

Crypto market-data lookups (CoinGecko-sourced pricing and market data), paid per call in USDC/USDm directly from the caller's own wallet via the x402 protocol — no Abstraxn account needed. Pick one `action`: - search ($0.001): fuzzy-search coins by name/symbol. Requires `q`. Call this first to resolve a coin id before using price_feed or historical_data, both of which need an id (e.g. "bitcoin"), not a ticker. - price_feed ($0.001): current price (and optionally 24h change / market cap) for one or more coins. Requires `ids` (comma-separated coin ids). Optional `currencies` (comma-separated fiat codes, default "usd"), `include_24h` (default true), `include_mcap` (default false). - market_data ($0.002): coins ranked by market cap (or another order) — use for "top N coins" / market overview questions. Optional `currency` (default "usd"), `category`, `order` (default "market_cap_desc"), `limit` (1-250, default 100), `page` (default 1). - historical_data ($0.003): historical price/market cap/volume series for one coin. Requires `id`. Optional `currency` (default "usd"), `days` (lookback window or "max", default 30), `interval` (e.g. "daily"). - trending ($0.001): currently trending coins by search interest. No extra parameters. - token_prices ($0.005): DEX-derived prices for up to 200 tokens in one call. Requires `tokens`, an array of `{chain, token_address}` objects. Prices above are indicative — the exact charge for a given call is always whatever the live payment challenge specifies for that request. The first call (no `paymentPayload`) returns `paymentRequired`; retry with the same arguments plus `paymentPayload` to complete payment and get the real result.

입력 스키마

{
  "type": "object",
  "properties": {
    "action": {
      "type": "string",
      "enum": [
        "search",
        "price_feed",
        "market_data",
        "historical_data",
        "trending",
        "token_prices"
      ],
      "description": "Which market-data operation to perform."
    },
    "q": {
      "description": "search: coin name or symbol to search for, e.g. \"btc\".",
      "type": "string"
    },
    "ids": {
      "description": "price_feed: comma-separated coin IDs, e.g. \"bitcoin,ethereum\".",
      "type": "string"
    },
    "currencies": {
      "description": "price_feed: comma-separated fiat currency codes, default \"usd\".",
      "type": "string"
    },
    "include_24h": {
      "description": "price_feed: include 24h price change (default true).",
      "type": "boolean"
    },
    "include_mcap": {
      "description": "price_feed: include market cap (default false).",
      "type": "boolean"
    },
    "currency": {
      "description": "market_data / historical_data: currency code, default \"usd\".",
      "type": "string"
    },
    "category": {
      "description": "market_data: category filter, e.g. \"decentralized-finance-defi\".",
      "type": "string"
    },
    "order": {
      "description": "market_data: sort order, default \"market_cap_desc\".",
      "type": "string"
    },
    "limit": {
      "description": "market_data: max results, default 100.",
      "type": "integer",
      "minimum": 1,
      "maximum": 250
    },
    "page": {
      "description": "market_data: page number, default 1.",
      "type": "integer",
      "minimum": 1,
      "maximum": 9007199254740991
    },
    "id": {
      "description": "historical_data: coin id, e.g. \"bitcoin\".",
      "type": "string"
    },
    "days": {
      "description": "historical_data: lookback window in days, or \"max\". Default 30.",
      "type": "string"
    },
    "interval": {
      "description": "historical_data: data granularity, e.g. \"daily\".",
      "type": "string"
    },
    "tokens": {
      "description": "token_prices: array of {chain, token_address} pairs to price, max 200 entries.",
      "maxItems": 200,
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "chain": {
            "type": "string"
          },
          "token_address": {
            "type": "string"
          }
        },
        "required": [
          "chain",
          "token_address"
        ]
      }
    },
    "paymentPayload": {
      "description": "x402 payment payload from a previous `paymentRequired` challenge. Omit on the first call.",
      "type": "object",
      "propertyNames": {
        "type": "string"
      },
      "additionalProperties": {}
    }
  },
  "required": [
    "action"
  ],
  "$schema": "http://json-schema.org/draft-07/schema#"
}

출력 스키마

{
  "type": "object",
  "properties": {
    "paymentRequired": {
      "type": "object",
      "propertyNames": {
        "type": "string"
      },
      "additionalProperties": {}
    },
    "error": {
      "type": "object",
      "propertyNames": {
        "type": "string"
      },
      "additionalProperties": {}
    }
  },
  "$schema": "http://json-schema.org/draft-07/schema#",
  "additionalProperties": false
}
🟢web3.lookup(action, chain, address, limit, name, ...)

Multi-chain wallet, token, ENS, and transaction-simulation lookups, paid per call in USDC/USDm directly from the caller's own wallet via the x402 protocol — no Abstraxn account needed. Pick one `action`: - wallet_balances ($0.005): token balances for a wallet across 20+ chains. Requires `chain` and `address`. - wallet_transactions ($0.005): transaction history with asset transfers for a wallet. Requires `address`. Optional `chain`, `limit`. - wallet_pnl ($0.01): realized and unrealized profit/loss per token for a wallet. Requires `chain` and `address`. - token_metadata ($0.002): name/symbol/decimals for a token contract. Requires `chain` and `address`. - ens_resolve ($0.001): resolve an ENS name to an Ethereum address. Requires `name`. - ens_reverse ($0.001): resolve an Ethereum address to its ENS name. Requires `address`. - tx_simulate ($0.01): simulate an EVM transaction before sending — gas estimate, execution trace, revert reason. Requires `network_id`, `from`, `to`. Optional `value`, `data`, `gas`. Prices above are indicative — the exact charge for a given call is always whatever the live payment challenge specifies for that request. The first call (no `paymentPayload`) returns `paymentRequired`; retry with the same arguments plus `paymentPayload` to complete payment and get the real result.

입력 스키마

{
  "type": "object",
  "properties": {
    "action": {
      "type": "string",
      "enum": [
        "wallet_balances",
        "wallet_transactions",
        "wallet_pnl",
        "token_metadata",
        "ens_resolve",
        "ens_reverse",
        "tx_simulate"
      ],
      "description": "Which web3 operation to perform."
    },
    "chain": {
      "description": "wallet_balances / wallet_transactions / wallet_pnl / token_metadata: chain name, e.g. \"ethereum\", \"base\", \"solana\".",
      "type": "string"
    },
    "address": {
      "description": "Address to look up — a wallet address for wallet_balances / wallet_transactions / wallet_pnl / ens_reverse, or a token contract address for token_metadata.",
      "type": "string"
    },
    "limit": {
      "description": "wallet_transactions: max transactions to return, default 100.",
      "type": "integer",
      "minimum": 1,
      "maximum": 1000
    },
    "name": {
      "description": "ens_resolve: ENS name to resolve, e.g. \"vitalik.eth\".",
      "type": "string"
    },
    "network_id": {
      "description": "tx_simulate: EVM chain id as a string, e.g. \"1\" or \"8453\".",
      "type": "string"
    },
    "from": {
      "description": "tx_simulate: sender address for the simulated transaction.",
      "type": "string"
    },
    "to": {
      "description": "tx_simulate: recipient/contract address for the simulated transaction.",
      "type": "string"
    },
    "value": {
      "description": "tx_simulate: transaction value in wei, as a string. Optional, default \"0\".",
      "type": "string"
    },
    "data": {
      "description": "tx_simulate: hex-encoded calldata. Optional.",
      "type": "string"
    },
    "gas": {
      "description": "tx_simulate: gas limit override. Optional.",
      "type": "integer",
      "minimum": -9007199254740991,
      "maximum": 9007199254740991
    },
    "paymentPayload": {
      "description": "x402 payment payload from a previous `paymentRequired` challenge. Omit on the first call.",
      "type": "object",
      "propertyNames": {
        "type": "string"
      },
      "additionalProperties": {}
    }
  },
  "required": [
    "action"
  ],
  "$schema": "http://json-schema.org/draft-07/schema#"
}

출력 스키마

{
  "type": "object",
  "properties": {
    "paymentRequired": {
      "type": "object",
      "propertyNames": {
        "type": "string"
      },
      "additionalProperties": {}
    },
    "error": {
      "type": "object",
      "propertyNames": {
        "type": "string"
      },
      "additionalProperties": {}
    }
  },
  "$schema": "http://json-schema.org/draft-07/schema#",
  "additionalProperties": false
}
🟢travel.search(action, q, origin, destination, departureDate, ...)

Flight and hotel search, paid per call in USDC/USDm directly from the caller's own wallet via the x402 protocol — no Abstraxn account needed. Pick one `action`: - flight_search ($0.02): live flight fares via Google Flights. Requires `origin`, `destination`, `departureDate`. Optional `returnDate`, `adults`, `children`, `travelClass`, `stops`, `maxPrice`, `currency`. - hotel_search ($0.02): live hotel prices/ratings via Google Hotels. Requires `q` (city or hotel name), `checkInDate`, `checkOutDate`. Optional `adults`, `children`, `sortBy`, `minPrice`, `maxPrice`, `hotelClass`, `currency`. Prices above are indicative — the exact charge for a given call is always whatever the live payment challenge specifies for that request. The first call (no `paymentPayload`) returns `paymentRequired`; retry with the same arguments plus `paymentPayload` to complete payment and get the real result.

입력 스키마

{
  "type": "object",
  "properties": {
    "action": {
      "type": "string",
      "enum": [
        "flight_search",
        "hotel_search"
      ],
      "description": "Which travel operation to perform."
    },
    "q": {
      "description": "hotel_search: city or hotel name to search for, e.g. \"hotels in Paris\".",
      "type": "string"
    },
    "origin": {
      "description": "flight_search: departure airport IATA code, e.g. \"JFK\".",
      "type": "string"
    },
    "destination": {
      "description": "flight_search: arrival airport IATA code, e.g. \"LAX\".",
      "type": "string"
    },
    "departureDate": {
      "description": "flight_search: departure date, YYYY-MM-DD.",
      "type": "string"
    },
    "returnDate": {
      "description": "flight_search: return date for round trips, YYYY-MM-DD. Optional.",
      "type": "string"
    },
    "adults": {
      "description": "flight_search / hotel_search: number of adult passengers/guests. Optional.",
      "type": "string"
    },
    "children": {
      "description": "flight_search / hotel_search: number of children. Optional.",
      "type": "string"
    },
    "travelClass": {
      "description": "flight_search: cabin class — 1=Economy, 2=Premium Economy, 3=Business, 4=First. Optional.",
      "type": "string"
    },
    "stops": {
      "description": "flight_search: stop preference — 0=nonstop only, 1=up to 1 stop, 2=up to 2 stops. Optional.",
      "type": "string"
    },
    "maxPrice": {
      "description": "flight_search / hotel_search: maximum price filter. Optional.",
      "type": "string"
    },
    "currency": {
      "description": "flight_search / hotel_search: currency code, default \"USD\".",
      "type": "string"
    },
    "checkInDate": {
      "description": "hotel_search: check-in date, YYYY-MM-DD.",
      "type": "string"
    },
    "checkOutDate": {
      "description": "hotel_search: check-out date, YYYY-MM-DD.",
      "type": "string"
    },
    "sortBy": {
      "description": "hotel_search: sort order — 3=lowest price, 8=highest rating, 13=most reviewed. Optional.",
      "type": "string"
    },
    "minPrice": {
      "description": "hotel_search: minimum price per night filter. Optional.",
      "type": "string"
    },
    "hotelClass": {
      "description": "hotel_search: star rating filter, 2-5. Optional.",
      "type": "string"
    },
    "paymentPayload": {
      "description": "x402 payment payload from a previous `paymentRequired` challenge. Omit on the first call.",
      "type": "object",
      "propertyNames": {
        "type": "string"
      },
      "additionalProperties": {}
    }
  },
  "required": [
    "action"
  ],
  "$schema": "http://json-schema.org/draft-07/schema#"
}

출력 스키마

{
  "type": "object",
  "properties": {
    "paymentRequired": {
      "type": "object",
      "propertyNames": {
        "type": "string"
      },
      "additionalProperties": {}
    },
    "error": {
      "type": "object",
      "propertyNames": {
        "type": "string"
      },
      "additionalProperties": {}
    }
  },
  "$schema": "http://json-schema.org/draft-07/schema#",
  "additionalProperties": false
}
🟢places.lookup(action, textQuery, locationBias, includedType, openNow, ...)

Places, solar, and aerial-view lookups, paid per call directly from the caller's own wallet via the x402 protocol — no Abstraxn account needed. Pick one `action`: - text_search_full ($0.08): full-detail place text search. Requires `textQuery`. Optional `maxResultCount` (1-5, default 5), `excludeFields` (default ["photos"]), `pageToken`, `locationBias` ({circle:{center:{latitude,longitude},radius}}), `includedType`, `languageCode` (default "en"), `openNow`, `minRating` (0-5), `priceLevels`. - text_search_partial ($0.02): same as text_search_full but returns fewer fields per place — cheaper for quick lookups. Same parameters. - nearby_search_full ($0.08): full-detail search for places within a radius. Requires `locationRestriction` ({circle:{center:{latitude,longitude},radius (0-50000)}}) — do NOT send a bare top-level latitude/longitude/radius. Optional `includedTypes`/`excludedTypes` (max 50 each), `maxResultCount` (1-5, default 5), `excludeFields` (default ["photos"]), `languageCode` (default "en"), `rankPreference` (POPULARITY default, or DISTANCE). - nearby_search_partial ($0.02): same as nearby_search_full, fewer fields, cheaper. Same parameters. - place_details_full ($0.05): full details for one place. Requires `placeId` — the exact place id returned by an earlier text_search/nearby_search result; do not invent or guess it. Optional `excludeFields` (default ["photos"]), `languageCode` (default "en"). - place_details_partial ($0.02): same as place_details_full, fewer fields, cheaper. Same parameters. - solar_building_insights ($0.02): rooftop solar potential for one location. Requires `latitude` (-90..90) and `longitude` (-180..180). Optional `requiredQuality` (LOW/MEDIUM/HIGH, default HIGH). - solar_data_layers ($0.08): raw solar data layers for an area. Requires `latitude`, `longitude`. Optional `radiusMeters` (0.1-175, default 50), `view` (default "FULL_LAYERS"), `requiredQuality` (default HIGH), `pixelSizeMeters` (default 0.25, documented as one of 0.1/0.25/0.5/1.0 but not schema-enforced), `exactQualityRequired` (default false). - solar_rgb_image ($0.05): renders one of the solar_data_layers assets as a viewable image. Either `id` (the exact asset id already returned by an earlier solar_data_layers call — "Mode A"; do not invent or guess it) OR both `latitude` and `longitude` ("Mode B") is required — provide exactly one mode, not both. Optional `radiusMeters` (0.1-100, default 30, Mode B only), `layer` (default "rgb"), `month` (1-12), `hour` (0-23), `format` (png/jpeg, default png), `scale` (1-2, default 1), `crop` (default false), `quality` (1-100, default 85). - aerial_view_lookup_video ($0.01): check whether a rendered aerial-view video already exists / poll its render status. Exactly one of `address` or `videoId` is required — `videoId` must be the exact value returned by an earlier aerial_view_render_video call; do not invent or guess it. - aerial_view_render_video ($0.01): kick off rendering a new aerial-view video for an address. Requires `address`. Poll aerial_view_lookup_video with the returned videoId until ready. Pagination: text_search_full/partial and nearby_search_full/partial return `nextPageToken` when more results exist — repeat the ORIGINAL call (same textQuery / locationRestriction / etc.) with `pageToken` set to page further. `pageToken` must be the exact `nextPageToken` value from that earlier response — do not invent or guess it. excludeFields: colon-separated nested-path syntax trims nested response fields, e.g. "organization:technologies" excludes just that sub-field. All place-search/details actions default-exclude `photos` if `excludeFields` is omitted — pass `excludeFields: []` to include photos. Prices above are indicative — the exact charge for a given call is always whatever the live payment challenge specifies for that request. The first call (no `paymentPayload`) returns `paymentRequired`; retry with the same arguments plus `paymentPayload` to complete payment and get the real result.

입력 스키마

{
  "type": "object",
  "properties": {
    "action": {
      "type": "string",
      "enum": [
        "text_search_full",
        "text_search_partial",
        "nearby_search_full",
        "nearby_search_partial",
        "place_details_full",
        "place_details_partial",
        "solar_building_insights",
        "solar_data_layers",
        "solar_rgb_image",
        "aerial_view_lookup_video",
        "aerial_view_render_video"
      ],
      "description": "Which places/solar/aerial-view operation to perform."
    },
    "textQuery": {
      "description": "text_search_full / text_search_partial: free-text query, e.g. \"coffee shops in Brooklyn\".",
      "type": "string"
    },
    "locationBias": {
      "description": "text_search_full / text_search_partial: soft location bias. Optional.",
      "type": "object",
      "properties": {
        "circle": {
          "type": "object",
          "properties": {
            "center": {
              "type": "object",
              "properties": {
                "latitude": {
                  "type": "number"
                },
                "longitude": {
                  "type": "number"
                }
              },
              "required": [
                "latitude",
                "longitude"
              ]
            },
            "radius": {
              "type": "number"
            }
          },
          "required": [
            "center"
          ]
        }
      },
      "required": [
        "circle"
      ]
    },
    "includedType": {
      "description": "text_search_full / text_search_partial: restrict to one place type, e.g. \"restaurant\". Optional.",
      "type": "string"
    },
    "openNow": {
      "description": "text_search_full / text_search_partial: only return places currently open. Optional.",
      "type": "boolean"
    },
    "minRating": {
      "description": "text_search_full / text_search_partial: minimum average rating filter (0-5). Optional.",
      "type": "number",
      "minimum": 0,
      "maximum": 5
    },
    "priceLevels": {
      "description": "text_search_full / text_search_partial: filter by one or more price levels. Optional.",
      "type": "array",
      "items": {
        "type": "string",
        "enum": [
          "PRICE_LEVEL_FREE",
          "PRICE_LEVEL_INEXPENSIVE",
          "PRICE_LEVEL_MODERATE",
          "PRICE_LEVEL_EXPENSIVE",
          "PRICE_LEVEL_VERY_EXPENSIVE"
        ]
      }
    },
    "locationRestriction": {
      "description": "nearby_search_full / nearby_search_partial: REQUIRED hard boundary — {circle:{center:{latitude,longitude}, radius (0-50000)}}.",
      "type": "object",
      "properties": {
        "circle": {
          "type": "object",
          "properties": {
            "center": {
              "type": "object",
              "properties": {
                "latitude": {
                  "type": "number"
                },
                "longitude": {
                  "type": "number"
                }
              },
              "required": [
                "latitude",
                "longitude"
              ]
            },
            "radius": {
              "type": "number",
              "minimum": 0,
              "maximum": 50000
            }
          },
          "required": [
            "center",
            "radius"
          ]
        }
      },
      "required": [
        "circle"
      ]
    },
    "includedTypes": {
      "description": "nearby_search_full / nearby_search_partial: place types to include. Optional.",
      "maxItems": 50,
      "type": "array",
      "items": {
        "type": "string"
      }
    },
    "excludedTypes": {
      "description": "nearby_search_full / nearby_search_partial: place types to exclude. Optional.",
      "maxItems": 50,
      "type": "array",
      "items": {
        "type": "string"
      }
    },
    "rankPreference": {
      "description": "nearby_search_full / nearby_search_partial: result ranking, default POPULARITY. Optional.",
      "type": "string",
      "enum": [
        "POPULARITY",
        "DISTANCE"
      ]
    },
    "maxResultCount": {
      "description": "text/nearby search: max results per page (1-5, default 5). Optional.",
      "type": "integer",
      "minimum": 1,
      "maximum": 5
    },
    "excludeFields": {
      "description": "Nested-path field names to exclude from the response (colon-separated for nested paths, e.g. \"organization:technologies\"). Defaults to [\"photos\"] on every place-search/details action if omitted — pass [] to include photos. Optional.",
      "anyOf": [
        {
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        {
          "type": "string"
        }
      ]
    },
    "pageToken": {
      "description": "text/nearby search: pagination token from a previous nextPageToken. Optional.",
      "type": "string"
    },
    "languageCode": {
      "description": "text/nearby search, place details: response language, default \"en\". Optional.",
      "type": "string"
    },
    "placeId": {
      "description": "place_details_full / place_details_partial: REQUIRED place id.",
      "type": "string"
    },
    "latitude": {
      "description": "solar_building_insights / solar_data_layers / solar_rgb_image (Mode B): latitude.",
      "type": "number",
      "minimum": -90,
      "maximum": 90
    },
    "longitude": {
      "description": "solar_building_insights / solar_data_layers / solar_rgb_image (Mode B): longitude.",
      "type": "number",
      "minimum": -180,
      "maximum": 180
    },
    "requiredQuality": {
      "description": "solar_building_insights / solar_data_layers: minimum imagery quality, default HIGH. Optional.",
      "type": "string",
      "enum": [
        "LOW",
        "MEDIUM",
        "HIGH"
      ]
    },
    "view": {
      "description": "solar_data_layers: which layer set to return, default FULL_LAYERS. Optional.",
      "type": "string",
      "enum": [
        "DSM_LAYER",
        "IMAGERY_LAYERS",
        "IMAGERY_AND_ANNUAL_FLUX_LAYERS",
        "IMAGERY_AND_ALL_FLUX_LAYERS",
        "FULL_LAYERS"
      ]
    },
    "pixelSizeMeters": {
      "description": "solar_data_layers: pixel resolution in meters, default 0.25. One of 0.1/0.25/0.5/1.0 by convention but not schema-enforced. Optional.",
      "type": "number"
    },
    "exactQualityRequired": {
      "description": "solar_data_layers: fail instead of falling back to lower quality, default false. Optional.",
      "type": "boolean"
    },
    "radiusMeters": {
      "description": "solar_data_layers: radius in meters (0.1-175, default 50). solar_rgb_image (Mode B only): radius in meters (0.1-100, default 30). Optional.",
      "type": "number"
    },
    "id": {
      "description": "solar_rgb_image (Mode A): asset id from a prior solar_data_layers call.",
      "type": "string"
    },
    "layer": {
      "description": "solar_rgb_image: which layer to render, default \"rgb\". Optional.",
      "type": "string",
      "enum": [
        "rgb",
        "dsm",
        "annualFlux",
        "monthlyFlux",
        "hourlyShade",
        "mask"
      ]
    },
    "month": {
      "description": "solar_rgb_image: month for monthlyFlux/hourlyShade layers. Optional.",
      "type": "integer",
      "minimum": 1,
      "maximum": 12
    },
    "hour": {
      "description": "solar_rgb_image: hour for hourlyShade layer. Optional.",
      "type": "integer",
      "minimum": 0,
      "maximum": 23
    },
    "format": {
      "description": "solar_rgb_image: output image format, default png. Optional.",
      "type": "string",
      "enum": [
        "png",
        "jpeg"
      ]
    },
    "scale": {
      "description": "solar_rgb_image: image scale factor, default 1. Optional.",
      "type": "integer",
      "minimum": 1,
      "maximum": 2
    },
    "crop": {
      "description": "solar_rgb_image: crop to a circle, default false. Optional.",
      "type": "boolean"
    },
    "quality": {
      "description": "solar_rgb_image: JPEG quality (1-100), default 85. Optional.",
      "type": "integer",
      "minimum": 1,
      "maximum": 100
    },
    "address": {
      "description": "aerial_view_render_video: REQUIRED address to render. aerial_view_lookup_video: exactly one of address/videoId is required.",
      "type": "string"
    },
    "videoId": {
      "description": "aerial_view_lookup_video: exactly one of address/videoId is required.",
      "type": "string"
    },
    "paymentPayload": {
      "description": "x402 payment payload from a previous `paymentRequired` challenge. Omit on the first call.",
      "type": "object",
      "propertyNames": {
        "type": "string"
      },
      "additionalProperties": {}
    }
  },
  "required": [
    "action"
  ],
  "$schema": "http://json-schema.org/draft-07/schema#"
}

출력 스키마

{
  "type": "object",
  "properties": {
    "paymentRequired": {
      "type": "object",
      "propertyNames": {
        "type": "string"
      },
      "additionalProperties": {}
    },
    "error": {
      "type": "object",
      "propertyNames": {
        "type": "string"
      },
      "additionalProperties": {}
    }
  },
  "$schema": "http://json-schema.org/draft-07/schema#",
  "additionalProperties": false
}
🟢social.profile_lookup(records, match_condition_fields, paymentPayload)

Resolve person / social-profile identity for a batch of records, paid per call directly from the caller's own wallet via the x402 protocol — no Abstraxn account needed. Supports two modes per record: - Fuzzy match: supply `first_name` and/or `last_name` plus `emails` and/or `phones`. - Reverse lookup: supply only `emails` and/or `phones`, no name required. Every record needs a caller-chosen `record_id` (any string) to correlate it with its match in the response, plus at least one non-empty first_name/last_name, or at least one non-empty entry in emails, or at least one non-empty entry in phones — an empty array counts as not provided. Optional top-level `match_condition_fields` (e.g. `["linkedin_url"]`) restricts results to matches that include ALL of the named fields. The exact response shape (field names/nesting per match) is passed through unchanged from the upstream provider — read whatever comes back rather than assuming a fixed shape. Charges ~$0.02 per call — the exact charge for a given call is always whatever the live payment challenge specifies for that request. The first call (no `paymentPayload`) returns `paymentRequired`; retry with the same arguments plus `paymentPayload` to complete payment and get the real result.

입력 스키마

{
  "type": "object",
  "properties": {
    "records": {
      "minItems": 1,
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "record_id": {
            "type": "string",
            "description": "Caller-chosen id to correlate this record with its match in the response."
          },
          "first_name": {
            "type": "string"
          },
          "last_name": {
            "type": "string"
          },
          "emails": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "phones": {
            "type": "array",
            "items": {
              "type": "string"
            }
          }
        },
        "required": [
          "record_id"
        ]
      },
      "description": "Records to resolve. Each needs record_id plus at least one non-empty first_name/last_name, emails entry, or phones entry."
    },
    "match_condition_fields": {
      "description": "Optional filter — only return matches whose result includes ALL of these fields, e.g. [\"linkedin_url\"].",
      "type": "array",
      "items": {
        "type": "string"
      }
    },
    "paymentPayload": {
      "description": "x402 payment payload from a previous `paymentRequired` challenge. Omit on the first call.",
      "type": "object",
      "propertyNames": {
        "type": "string"
      },
      "additionalProperties": {}
    }
  },
  "required": [
    "records"
  ],
  "$schema": "http://json-schema.org/draft-07/schema#"
}

출력 스키마

{
  "type": "object",
  "properties": {
    "paymentRequired": {
      "type": "object",
      "propertyNames": {
        "type": "string"
      },
      "additionalProperties": {}
    },
    "error": {
      "type": "object",
      "propertyNames": {
        "type": "string"
      },
      "additionalProperties": {}
    }
  },
  "$schema": "http://json-schema.org/draft-07/schema#",
  "additionalProperties": false
}

커뮤니티

이 서버 평가하기

증거

최근 관측

검증됨버전이 기록되지 않음도구 12개
검증됨버전이 기록되지 않음도구 12개