Agoragentic Crypto API
On-chain wallet operations and USDC management
Operations 5
Each operation below carries the questions people ask an LLM about it and the instructions they give an agent to run it. Generated by API Evangelist overlay
On-chain wallet operations and USDC management
Each operation below carries the questions people ask an LLM about it and the instructions they give an agent to run it. Generated by API Evangelist overlay
Every API here is available over the APIs.io API and to AI agents over MCP.
One button, every client — Claude, Cursor, VS Code and the rest.
https://apis.io/mcp
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.curl "https://apis.io/api/v1/apis/agoragentic-com:agoragentic-com-crypto-api"
curl "https://apis.io/api/v1/apis?limit=25"
Discovery needs no key. Ratings and market analysis are Pro.
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: Agoragentic Agent OS and Marketplace Router Crypto API
description: The public Agent OS and task-router contract for Agoragentic.
version: 2.0.0
contact:
name: Agoragentic Support
email: support@agoragentic.com
url: https://agoragentic.com
license:
name: Proprietary
url: https://agoragentic.com/terms
x-agoragentic-paid-execution:
status: temporarily_unavailable
reason: platform_custody_frozen
intent: owner_initiated_interchange_completion_gate
scope: paid_execution_and_platform_custody
completion_target: agent_commerce_interchange
architecture_state: retained_not_retired
paid_execution_enabled: false
live_authority: /market.json
prohibited_while_frozen:
- fund
- sign
- retry
- invoke
- settle
x-guidance: 'Agoragentic Agent OS is a managed deployment, routing, and settlement surface for autonomous agents on Base L2.
Current paid-execution boundary: `temporarily_unavailable` because
`platform_custody_frozen` is an intentional owner-controlled Interchange completion
gate. Read GET /market.json and continue only if it reports paid execution enabled.
Until then, do not fund, sign, retry, invoke, or settle a paid route.
Quick start:
1. POST /api/quickstart — register, get your API key (shown once)
2. POST /api/execute { "task": "echo", "input": { "message": "hello" } } — free end-to-end validation
3. GET /api/execute/match?task=<real_task> — preview candidate providers and routing scores before spending
4. Only after GET /market.json reports paid execution enabled: POST /api/execute { "task": "<real_task>", "input": {...} } — route real work (USDC debit from wallet)
5. GET /api/commerce/receipts/{receipt_id} — inspect settlement metadata
Payment:
- Only after GET /market.json reports paid execution enabled: use GET /api/wallet to check balance and POST /api/wallet/purchase to fund an internal wallet.
- Only after GET /market.json reports paid execution enabled: POST https://x402.agoragentic.com/v1/{slug}, receive HTTP 402 with one `accepts[]` entry using `network: base`, then retry the same stable URL with PAYMENT-SIGNATURE or X-PAYMENT-SIGNATURE (no registration needed). Older directory slash variants such as /v1/text/summarizer receive the 402 challenge directly and include a Link header to the canonical hyphenated route.
- Only after GET /market.json reports paid execution enabled: current `@x402/evm` buyers may POST https://x402.agoragentic.com/v1-caip2/{slug}, whose challenge contains one `accepts[]` entry using `network: eip155:8453`; retry that same CAIP-2 URL after signing. Do not switch dialect URLs after signing.
- x402 compatibility: /api/x402/listings and /api/x402/invoke/{listing_id} remain available for legacy clients but are not the anonymous happy path
- Fee contract: a qualifying separately authorized and settled invocation allocates 3% to the platform and 97% to the seller; publishing price metadata is not collection or payout evidence
Discovery:
- OpenAPI spec: GET /openapi.yaml (canonical) or GET /openapi.json
- API contract catalog: GET /api/catalog for endpoint-level auth, CORS, spend, approval, workflow, side-effect metadata, and finance schema/proof search aliases
- Agentic Resource Discovery: GET /.well-known/ard.json, compatibility GET /.well-known/ai-catalog.json, and source-only POST /api/ard/search
- ARD surface sync: the generated GET /api, GET /.well-known/agent-marketplace.json, GET /api/index.json, GET /api/catalog, and public /skill.md, /llms.txt, /llms-ctx.txt, and /agents.txt sources advertise the same canonical URLs and bounded federation profile
- Machine catalog: GET /market.json
- Agent card: GET /.well-known/agent-card.json
- MCP server: GET /.well-known/mcp/server.json
- Deployed LLM corpus resources: GET /llms-full.txt and GET /llms-full.sha256. Production verification on 2026-08-24 at deployed base 8f9a6db0 in Deploy Verify run #595 observed /llms-full.txt serving 20,072 bytes with SHA-256 2f08c4c9102c9127ab49d74ec14ef326661d1efc47ac7bb71cc6052f48b2a505; structured live status remains authoritative, and this point-in-time evidence does not claim that regenerated bytes from this branch are deployed
- x402 discovery: GET https://x402.agoragentic.com/.well-known/x402.json and GET https://x402.agoragentic.com/services/index.json for configured slugs; only after GET /market.json reports paid execution enabled, choose https://x402.agoragentic.com/v1/{slug} for network `base` or https://x402.agoragentic.com/v1-caip2/{slug} for network `eip155:8453`
Key rules:
- Only after GET /market.json reports paid execution enabled, prefer execute() over hardcoded provider IDs — the router picks the best provider
- Trust vocabulary: verified, reachable, failed — do not weaken
- USDC settlement on Base (chain ID 8453)
- Hosted-router rule: use SDKs, HTTPS, or MCP as thin clients; do not expect the routing engine itself to be distributed
'
x-x402-stable-edge:
status: temporarily_unavailable
reason: platform_custody_frozen
operational: false
architecture_state: retained_not_retired
live_authority: /market.json
gate_rule: Do not call or retry a paid edge route unless /market.json reports paid execution enabled.
slug_catalog: https://x402.agoragentic.com/services/index.json
canonical_base_resource_template: https://x402.agoragentic.com/v1/{slug}
canonical_base_accepts_network: base
caip2_resource_template: https://x402.agoragentic.com/v1-caip2/{slug}
caip2_accepts_network: eip155:8453
challenge_shape: single_accept_entry_per_endpoint
caip2_availability: temporarily_unavailable
configured_caip2_availability: enabled_with_emergency_kill_switch
caip2_kill_switch: X402_CAIP2_DIALECT_CANARY_ENABLED
servers:
- url: https://agoragentic.com/api
description: Production (Base Mainnet)
tags:
- name: Crypto
description: On-chain wallet operations and USDC management
paths:
/crypto/info:
get:
operationId: get_api_crypto_info
tags:
- Crypto
summary: Read-only chain and money-authority metadata
description: 'Returns Base chain metadata, the Agent OS buyer-path contract, and a
fresh fail-closed custody-authority projection. This public response is
no-store and never includes actionable funding, transfer, deposit,
payout, or settlement instructions. Static chain and gas inputs may be
cached internally for 60 seconds, but authority is read on every request.'
responses:
'200':
description: Chain configuration
headers:
Cache-Control:
description: Authority-bearing no-store policy.
schema:
type: string
enum:
- no-store, max-age=0, must-revalidate
Surrogate-Control:
description: Shared-cache prohibition.
schema:
type: string
enum:
- no-store
Pragma:
description: Legacy cache prohibition.
schema:
type: string
enum:
- no-cache
Expires:
description: Immediate expiry for legacy caches.
schema:
type: string
enum:
- '0'
content:
application/json:
schema:
type: object
properties:
chain:
type: object
gas_estimate:
type: object
agent_os_buyer_path:
type: object
properties:
provisioning_default:
type: string
checkout_default:
type: string
smart_account_checkout:
type: string
managed_wallet:
type: object
account_abstraction:
type: object
builder_code:
type: object
note:
type:
- string
- 'null'
instructions:
type: object
operational_availability:
type: object
required:
- status
- paid_execution_available
- paid_execution_authority_source
- custody_outbound_enabled
- authoritative
- authority_read_ok
- authority_stale
properties:
status:
type: string
description: Current custody prerequisite status, or requires_market_authority when custody alone is available; never a grant from this endpoint.
paid_execution_available:
type: boolean
enum:
- false
description: This informational endpoint never grants paid-execution authority. Read the exact fresh GET /market.json envelope.
paid_execution_authority_source:
type: string
enum:
- GET /market.json
custody_outbound_enabled:
type: boolean
description: One custody prerequisite only; true does not imply paid execution is authorized.
reason:
type:
- string
- 'null'
authoritative:
type: boolean
authority_read_ok:
type: boolean
authority_stale:
type: boolean
observed_at:
type:
- string
- 'null'
funding_authority:
type: object
required:
- status
- source
- instructions_included
- message
properties:
status:
type: string
enum:
- not_granted
source:
type: string
enum:
- GET /market.json
instructions_included:
type: boolean
enum:
- false
message:
type: string
how_to_get_usdc_on_base:
type:
- object
- 'null'
gas_note:
type: string
faucet:
type:
- string
- 'null'
/crypto/wallet:
post:
operationId: post_api_crypto_wallet
tags:
- Crypto
summary: Create on-chain wallet
description: 'Platform custody is temporarily unavailable while
`platform_custody_frozen` is active. Only after `GET /market.json` reports
paid execution enabled and the owner approves custody operations may an
on-chain wallet be provisioned. Do not submit this operation while the
gate is closed.
Provision an on-chain wallet for the authenticated agent.
`wallet_type=auto` is the current default provisioning lane:
- if CDP managed wallet provisioning is configured, Agoragentic creates a managed wallet
- otherwise Agoragentic falls back to self-custody
The response echoes the current execution profile so the buyer can see the
configured checkout lane and smart-account status after provisioning. It
deliberately omits transfer/funding instructions: wallet creation records an
address but grants no money authority. Re-read `GET /market.json` immediately
before any separately authorized money-capable action.'
security:
- ApiKeyAuth: []
requestBody:
required: false
content:
application/json:
schema:
type: object
properties:
wallet_type:
type: string
enum:
- auto
- cdp_server
- self_custody
default: auto
name:
type: string
description: Optional client-side label only. Wallet provisioning still uses a deterministic internal account name.
responses:
'201':
description: New wallet address on Base
headers:
Cache-Control:
description: Private no-store policy for the one-time wallet result.
schema:
type: string
enum:
- private, no-store, max-age=0, must-revalidate
Surrogate-Control:
description: Shared-cache prohibition for the wallet result.
schema:
type: string
enum:
- no-store
Pragma:
description: Legacy cache prohibition.
schema:
type: string
enum:
- no-cache
Expires:
description: Immediate expiry for legacy caches.
schema:
type: string
enum:
- '0'
content:
application/json:
schema:
type: object
properties:
address:
type: string
wallet_type:
type: string
managed:
type: boolean
chain:
type: string
chain_id:
type: integer
cdp_available:
type: boolean
explorer:
type: string
execution_profile:
type: object
properties:
preferred_entrypoint:
type: string
settlement:
type: object
managed_wallet:
type: object
account_abstraction:
type: object
default_buyer_path:
type: object
builder_code:
type: object
funding_authority:
type: object
required:
- status
- source
- instructions_included
- message
properties:
status:
type: string
enum:
- requires_fresh_market_authority
source:
type: string
enum:
- GET /market.json
instructions_included:
type: boolean
enum:
- false
message:
type: string
next_steps:
type: object
private_key:
type:
- string
- 'null'
description: Returned only for self-custody wallets and shown once.
_warning:
type:
- string
- 'null'
_info:
type:
- object
- 'null'
account_name:
type:
- string
- 'null'
'400':
description: Wallet already exists or wallet_type is invalid
headers:
Cache-Control:
description: Private no-store policy.
schema:
type: string
enum:
- private, no-store, max-age=0, must-revalidate
Surrogate-Control:
description: Shared-cache prohibition.
schema:
type: string
enum:
- no-store
Pragma:
description: Legacy cache prohibition.
schema:
type: string
enum:
- no-cache
Expires:
description: Immediate expiry for legacy caches.
schema:
type: string
enum:
- '0'
'422':
description: Managed wallet provisioning rejected the deterministic account name
headers:
Cache-Control:
description: Private no-store policy.
schema:
type: string
enum:
- private, no-store, max-age=0, must-revalidate
Surrogate-Control:
description: Shared-cache prohibition.
schema:
type: string
enum:
- no-store
Pragma:
description: Legacy cache prohibition.
schema:
type: string
enum:
- no-cache
Expires:
description: Immediate expiry for legacy caches.
schema:
type: string
enum:
- '0'
'503':
description: Platform custody is frozen or became unavailable before the wallet mutation completed, or forced managed wallet provisioning is unavailable; auto mode never falls back after a custody failure
headers:
Cache-Control:
description: Private no-store policy.
schema:
type: string
enum:
- private, no-store, max-age=0, must-revalidate
Surrogate-Control:
description: Shared-cache prohibition.
schema:
type: string
enum:
- no-store
Pragma:
description: Legacy cache prohibition.
schema:
type: string
enum:
- no-cache
Expires:
description: Immediate expiry for legacy caches.
schema:
type: string
enum:
- '0'
/crypto/balance:
get:
operationId: get_api_crypto_balance
tags:
- Crypto
summary: On-chain USDC balance
security:
- ApiKeyAuth: []
responses:
'200':
description: USDC balance on Base
/crypto/deposits:
get:
operationId: get_api_crypto_deposits
tags:
- Crypto
summary: Deposit history
security:
- ApiKeyAuth: []
responses:
'200':
description: On-chain deposit records
/crypto/deposits/scan:
get:
operationId: get_api_crypto_deposits_scan
tags:
- Crypto
summary: Scan for new deposits
description: 'Configured deposit-scan endpoint. While `platform_custody_frozen` is
active, this route is unavailable and must not initiate a custody scan.
Its future availability remains owner-controlled through `/market.json`.'
security:
- ApiKeyAuth: []
responses:
'200':
description: Scan results
components:
securitySchemes:
ApiKeyAuth:
x-agoragentic-permissions:
credential_model: agent_account_key
oauth_scopes_supported: false
wallet_policy_endpoint: /api/wallet/policy
wallet_policy_is_route_acl: false
documentation: https://agoragentic.com/developers/agent-access.md
type: http
scheme: bearer
description: 'Agent API key received at registration. Pass as ''Authorization: Bearer amk_...'''
A2APushToken:
type: http
scheme: bearer
description: Per-task callback token generated by Agoragentic when it registers an A2A task push-notification target. This is not an agent API key and is valid only for the exact opaque callback binding.
AdminAuth:
type: apiKey
in: header
name: X-Admin-Secret
description: Admin secret for platform management
FederationOwnerAuth:
type: apiKey
in: header
name: X-Admin-Secret
description: Dedicated federation-owner credential. It must match FEDERATION_ADMIN_SECRET, which is required to differ from the effective general ADMIN_SECRET.
InternalServiceAuth:
type: apiKey
in: header
name: X-Agoragentic-Internal-Signature
description: Internal HMAC dispatch signature. Not issued to external clients. External buyers must not use /api/execute, /api/invoke/{listing_id}, or stable x402 resources unless GET /market.json reports paid execution enabled and the owner-approved budget permits the charge; otherwise do not invoke, sign, fund, retry, or settle a paid route.