AnyGas Agents API

One-call and discovery endpoints built for autonomous agents

Operations 2

POST /api/agent/do One call: intent in, plan or signable payload out #
GET /api/errors The complete error contract #

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/anygas-xyz:anygas-xyz-agents-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

anygas-xyz-agents-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Anygas Xyz Agents API
  version: 3.28.2
  contact:
    name: Robyn AnyGas
    url: https://anygas.xyz
  license:
    name: Service terms
    url: https://anygas.xyz/svc/api/terms
  x-lastUpdated: '2026-07-29'
  description: 'Operations tagged agents across 2 of this provider''s published API definitions: anygas-openapi.json, anygas-xyz-openapi.json. Each path carries the servers of the definition it was published in.'
servers:
- url: https://api.anygas.xyz/svc
  description: Production gateway (also https://anygas.xyz/svc)
tags:
- name: Agents
  description: One-call and discovery endpoints built for autonomous agents
paths:
  /api/agent/do:
    post:
      tags:
      - Agents
      summary: 'One call: intent in, plan or signable payload out'
      description: 'The single entry point for an autonomous agent. Accepts plain language ("send 25 USDC to 0xabc... on arbitrum") or structured fields, resolves chains/token/amount, quotes the best rail, and returns exactly one of: status "sign" (with the precise payload to sign and where to POST it), "quoted" (something is still missing), "done" (sandbox), or a typed error. Replaces the chains -> quote -> execute -> poll sequence. Send header x-anygas-sandbox: 1 to dry-run the whole flow with no funds. Rate limit 60/min (300/min with a key).'
      operationId: agentDo
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                intent:
                  type: string
                  description: plain-language instruction
                fromChain:
                  oneOf:
                  - type: integer
                  - type: string
                toChain:
                  oneOf:
                  - type: integer
                  - type: string
                token:
                  type: string
                  example: USDC
                amountHuman:
                  type: number
                  description: human units, e.g. 25
                amount:
                  type: string
                  description: base units; overrides amountHuman
                toAddress:
                  type: string
                sandbox:
                  type: boolean
      responses:
        '200':
          description: Plan, signing instruction, or sandbox result
          content:
            application/json:
              schema:
                type: object
              example:
                status: sign
                rail: robyn-floatlane
                receives: '3990000'
                understood:
                  fromChain: 8453
                  toChain: 42161
                  token: USDC
                  amount: '4000000'
        '400':
          description: Typed error - branch on errorCode, never on the message text
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '429':
          description: Typed error - branch on errorCode, never on the message text
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '503':
          description: Typed error - branch on errorCode, never on the message text
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
      parameters:
      - $ref: '#/components/parameters/AnygasPass'
    servers:
    - url: https://api.anygas.xyz/svc
      description: Production gateway (also https://anygas.xyz/svc)
  /api/errors:
    get:
      tags:
      - Agents
      summary: The complete error contract
      description: Every errorCode the API can return, whether it is retryable, how long to wait, and the suggested recovery action. Fetch once at integration time and branch on errorCode.
      operationId: errorCatalogue
      responses:
        '200':
          description: Error taxonomy
          content:
            application/json:
              schema:
                type: object
    servers:
    - url: https://api.anygas.xyz/svc
      description: Production gateway (also https://anygas.xyz/svc)
components:
  schemas:
    Error:
      type: object
      description: Every error carries a stable errorCode plus recovery metadata. The legacy `error` string is retained for backward compatibility - branch on errorCode.
      properties:
        error:
          type: string
          description: human-readable message (legacy field)
        errorCode:
          type: string
          example: INSUFFICIENT_FLOAT
          description: stable machine code; see GET /api/errors for the full catalogue
        retryable:
          type: boolean
        retryAfterMs:
          type: integer
          description: present when the failure is transient
        suggestedAction:
          type: string
          description: what the caller should actually do next
        docs:
          type: string
      required:
      - error
  parameters:
    AnygasPass:
      name: x-anygas-pass
      in: header
      required: false
      schema:
        type: string
      description: 'Anonymous quota raise: base64(JSON {preparedMsg, sig}) of a one-time Plus blind pass (RFC 9474). Exempts THIS request from the rate limit and, unlike x-anygas-key, is unlinkable to any identity or other request. Free passes: POST /api/plus/trial (20/day). Over the OHTTP relay put the pass in body.pass instead (headers do not cross the envelope).'
x-refined-from:
- anygas-openapi.json
- anygas-xyz-openapi.json