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-discovery-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: 3.2.0
info:
title: Anygas Xyz Discovery 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 discovery 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: Discovery
description: Health, mesh and gasless config
paths:
/api/status:
get:
tags:
- Discovery
summary: Operational status
description: 'Sanitized public health: overall state, per-node up/down (22 EVM + Stellar/Solana/Bitcoin), bridge rails, endpoint probes and route count. Cached ~30s. Rate limit 60/min.'
operationId: getStatus
responses:
'200':
description: Status snapshot
content:
application/json:
schema:
$ref: '#/components/schemas/Status'
servers:
- url: https://api.anygas.xyz/svc
description: Production gateway (also https://anygas.xyz/svc)
/api/route/chains:
get:
tags:
- Discovery
summary: The gasless mesh / route graph
description: Supported chain ids, node/route counts, the Permit2 spender (relayer) your SDK signs for, the routing engine, and per-node metadata for the non-EVM legs. Source of truth for what is routable. No key required.
operationId: getMesh
responses:
'200':
description: Mesh snapshot
content:
application/json:
schema:
$ref: '#/components/schemas/Mesh'
servers:
- url: https://api.anygas.xyz/svc
description: Production gateway (also https://anygas.xyz/svc)
/api/gasless/info:
get:
tags:
- Discovery
summary: Same-chain gasless config
description: Deployed router / anyGas / tokenPaymaster / Permit2 / EntryPoint addresses, the EIP-712 domain, the per-chain deployment map and accepted fee tokens. No key required.
operationId: gaslessInfo
responses:
'200':
description: Config
content:
application/json:
schema:
$ref: '#/components/schemas/GaslessInfo'
servers:
- url: https://api.anygas.xyz/svc
description: Production gateway (also https://anygas.xyz/svc)
/api/capabilities:
get:
tags:
- Discovery
summary: Everything this service can do, as structured data
description: 'The machine-readable capability surface: which rails serve which lanes, which corridors can execute versus only quote (with the reason), the real fee model, and the feature list. Read this first to decide what is possible before quoting. Rails include aggregators (EVMEVM best-of-N), allbridge-core (Solana/Sui), cctp (Circle CCTP V2 native burn-and-mint, serves EVM->Stellar), chainflip (native BTC) and sponsor7702 (same-chain sponsored execution).'
operationId: getCapabilities
responses:
'200':
description: Capability surface
content:
application/json:
schema:
type: object
servers:
- url: https://api.anygas.xyz/svc
description: Production gateway (also https://anygas.xyz/svc)
/api/capability/snapshot:
get:
tags:
- Discovery
summary: Signed record of what Robyn can actually do right now
operationId: capabilitySnapshot
description: 'An agent deciding whether to depend on a corridor has only a status page — a claim about NOW that is gone by the time anything goes wrong. When a workflow later fails, nobody can reconstruct what the provider said it could do at the moment the decision was made. This is a signed, timestamped record: `serviceableNow` (chains that can ACTUALLY be paid out on, from live inventory), `policyEligible` (the marketing list), `notServiceable` (the difference), per-rail `executeReady`, node health, and whether delivery figures are measured or estimated. USE `serviceableNow`, NOT `policyEligible`, when choosing a destination. It is a RECORD, not a guarantee: it states what was true at that instant, does not promise the same capability a minute later, and the signature does not make it an SLA — `whatThisIsNot` says so in the payload.'
responses:
'200':
description: Signed capability snapshot
content:
application/json:
schema:
type: object
servers:
- url: https://api.anygas.xyz/svc
description: Production gateway (also https://anygas.xyz/svc)
/api/capability/verify:
post:
tags:
- Discovery
summary: Verify a capability snapshot
operationId: verifyCapability
description: 'Recomputes the digest from the submitted claims, so inflating `serviceableNow` to the full policy list — the tempting lie — invalidates it. Also reports `ageMinutes` and warns when a snapshot is stale: still authentic, but no longer a description of the present.'
requestBody:
required: true
content:
application/json:
schema:
type: object
responses:
'200':
description: valid, recovered signer, age and staleness warning
content:
application/json:
schema:
type: object
servers:
- url: https://api.anygas.xyz/svc
description: Production gateway (also https://anygas.xyz/svc)
/api/changelog:
get:
tags:
- Discovery
summary: What changed since you integrated
operationId: changelog
parameters:
- name: since
in: query
required: false
schema:
type: string
example: 3.9.0
description: the API version your integration was built against
description: 'An agent that generated a client last week has no way to learn what changed. Human changelogs are prose on a marketing page — unparseable, usually stale, and silent about the only thing a running integration cares about: whether something it depends on has BROKEN. So integrators either pin forever and miss every improvement, or re-fetch the whole spec on a schedule and diff it themselves. Both are the provider''s failure pushed onto the consumer. Pass `since` and you get only what changed after that version. CHECK `mustAct` FIRST — if true, there are breaking changes and your integration may already be failing; each such entry carries an `action`. `breaking:true` means an existing CORRECT integration could stop working. It is a compatibility claim, not a measure of importance, and nothing that qualifies is downgraded because it looks bad. Every path claimed here is cross-checked against the live spec on each request; drift is reported rather than hidden, because a changelog is believed.'
responses:
'200':
description: Change history, filtered
content:
application/json:
schema:
type: object
servers:
- url: https://api.anygas.xyz/svc
description: Production gateway (also https://anygas.xyz/svc)
/api/recipes:
get:
tags:
- Discovery
summary: Ordered playbooks for real goals
operationId: recipes
description: 'There are 100+ endpoints here. The spec tells you WHAT exists; it cannot tell you what order to call things in, or which checks it would be reckless to skip. That knowledge otherwise lives in prose written for humans, so every agent re-derives it badly and differently — quoting without checking serviceability, paying without confirming a recipient, reporting success when verification said `undetermined`. Each recipe is an ordered sequence: which endpoint, what it answers, what to do with the answer, whether it is optional, and what skipping it actually costs. Every referenced endpoint is checked against the live spec on each request — a recipe naming an endpoint that no longer exists is worse than none, because it will be followed.'
responses:
'200':
description: All recipes, with drift flags
content:
application/json:
schema:
type: object
servers:
- url: https://api.anygas.xyz/svc
description: Production gateway (also https://anygas.xyz/svc)
/api/recipes/{name}:
parameters:
- name: name
in: path
required: true
schema:
type: string
example: pay-someone-safely
get:
tags:
- Discovery
summary: One playbook
operationId: recipe
responses:
'200':
description: The recipe
content:
application/json:
schema:
type: object
'404':
description: Unknown name, with the available list
content:
application/json:
schema:
type: object
servers:
- url: https://api.anygas.xyz/svc
description: Production gateway (also https://anygas.xyz/svc)
/api/integration/lint:
post:
tags:
- Discovery
summary: Is the request I am about to send safe?
operationId: lintIntegration
description: 'Every provider documents the safe way to integrate and then has no idea whether anyone followed it. Integrators discover they skipped something when it costs them. Post the request you INTEND to send and get the missing/unsafe fields with the concrete consequence of each. Severity is honest: `unsafe` means you can lose money or report a falsehood; `suboptimal` means it will cost you. IT LINTS THE REQUEST ONLY. It cannot see whether you branch on all three verification verdicts, treat `undetermined` as success, or use `serviceableNow` rather than `policyEligible` — a clean lint is NOT a correct integration, and an endpoint with no rules returns "unchecked", never "clean".'
requestBody:
required: true
content:
application/json:
schema:
type: object
responses:
'200':
description: findings with severity, field, consequence and fix
content:
application/json:
schema:
type: object
'400':
description: endpoint required
content:
application/json:
schema:
type: object
servers:
- url: https://api.anygas.xyz/svc
description: Production gateway (also https://anygas.xyz/svc)
/api/integration/rules:
get:
tags:
- Discovery
summary: Every lint rule
operationId: lintRules
responses:
'200':
description: the rule set
content:
application/json:
schema:
type: object
servers:
- url: https://api.anygas.xyz/svc
description: Production gateway (also https://anygas.xyz/svc)
components:
schemas:
Mesh:
type: object
properties:
nodes:
type: integer
example: 25
chains:
type: array
items:
type: integer
description: EVM chain ids
example:
- 1
- 10
- 56
- 100
- 130
- 137
- 146
- 480
- 999
- 1135
- 1868
- 4663
- 5000
- 8453
- 33139
- 34443
- 42161
- 43114
- 57073
- 59144
- 81457
- 7777777
routableNonEvm:
type: array
items:
type: string
example:
- stellar
- solana
- bitcoin
directedRoutes:
type: integer
example: 500
relayer:
type: string
description: Permit2 spender the SDK signs for
example: '0x1253D25A0B6a757CfD65CDf441E2d91DBeCeE6c5'
permit2:
type: string
example: '0x000000000022D473030F116dDEE9F6B43aC78BA3'
engine:
type: string
example: LI.FI aggregation (Across / Gas.zip / Near / Squid / Symbiosis / Relay + ~15 bridges); Stellar + Solana via Allbridge Core; Bitcoin via Chainflip
nonEvmNodes:
type: object
additionalProperties: true
description: Per-node metadata; quote-only nodes carry executeReady:false
comparatorQuoteOnly:
type: object
additionalProperties: true
description: Scroll, extra Chainflip asset lanes and Sui — quotable but NOT execute-ready
additionalProperties: true
GaslessInfo:
type: object
properties:
service:
type: string
example: Robyn Gasless Pay
router:
type: string
example: '0x8f4a466435264A2D56Bc80e6749Ea351d567D141'
anyGasRouter:
type: string
example: '0x298ab4Be2B3a8f1A2dB3650f578407AA1f952487'
tokenPaymaster:
type: string
example: '0x4afc3DD9143bC75fCfFDA52e9E5e50dA4Cb3A635'
permit2:
type: string
example: '0x000000000022D473030F116dDEE9F6B43aC78BA3'
entryPoint:
type: string
example: '0x0000000071727De22E5E9d8BAf0edAc6f37da032'
chainId:
type: integer
example: 4663
routes:
type: array
items:
type: string
example:
- direct
- cheapest
- fastest
recommended:
type: string
example: direct
gaslessChains:
type: object
additionalProperties: true
description: Per-chain deployment map keyed by chain id
acceptedTokens:
type: array
items:
type: object
additionalProperties: true
domain:
type: object
additionalProperties: true
description: EIP-712 domain
additionalProperties: true
Status:
type: object
properties:
status:
type: string
enum:
- operational
- degraded
- down
- unknown
example: operational
ts:
type: integer
example: 1784012730722
nodes:
type: object
properties:
up:
type: integer
example: 25
total:
type: integer
example: 25
evm:
type: array
items:
type: object
properties:
chainId:
type: integer
name:
type: string
up:
type: boolean
nonEvm:
type: array
items:
type: object
properties:
name:
type: string
up:
type: boolean
rails:
type: array
items:
type: object
properties:
name:
type: string
up:
type: boolean
routes:
type: integer
nullable: true
example: 500
endpoints:
type: array
items:
type: object
properties:
name:
type: string
up:
type: boolean
x-refined-from:
- anygas-openapi.json
- anygas-xyz-openapi.json