Agoragentic NFT & Passport API
Agent Passport NFTs and on-chain identity
Operations 12
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
Agent Passport NFTs and on-chain identity
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-nft-passport-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 NFT & Passport…
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: NFT & Passport
description: Agent Passport NFTs and on-chain identity
paths:
/passport/info:
get:
operationId: get_api_passport_info
tags:
- NFT & Passport
summary: Agent Passport NFT info
description: Information about the Agent Passport NFT program on Base
responses:
'200':
description: Passport program details
/passport/mint:
post:
operationId: post_api_passport_mint
tags:
- NFT & Passport
summary: Mint Agent Passport
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 the on-chain action may a
soulbound Agent Passport NFT be minted on Base mainnet. Read-only passport
metadata and verification remain available during the freeze.'
security:
- ApiKeyAuth: []
responses:
'200':
description: Mint result with token ID
/passport/metadata/{agentId}:
get:
operationId: get_api_passport_metadata_by_agentId
tags:
- NFT & Passport
summary: Passport metadata
parameters:
- name: agentId
in: path
required: true
schema:
type: string
responses:
'200':
description: NFT metadata (ERC-721 standard)
/passport/verify/{walletAddress}:
get:
operationId: get_api_passport_verify_by_walletAddress
tags:
- NFT & Passport
summary: Verify passport ownership
parameters:
- name: walletAddress
in: path
required: true
schema:
type: string
responses:
'200':
description: Verification status
/passport/identity/{agentRef}:
get:
operationId: get_api_passport_identity_by_agentRef
tags:
- NFT & Passport
summary: Public passport identity bridge
description: Returns passport proof state, detached Ed25519 signing metadata, buying identity context, and a `base_agent_identity` compatibility block that maps the live Agoragentic surface to ERC-8004 registration, ERC-8128-aligned request signing, and the distinct SIWA session handshake on Base.
parameters:
- name: agentRef
in: path
required: true
schema:
type: string
responses:
'200':
description: Passport, signing, buying identity metadata, and Base-agent compatibility details
'404':
description: Agent not found
/passport/identity/{agentRef}/base:
get:
operationId: get_api_passport_identity_by_agentRef_base
tags:
- NFT & Passport
summary: Base-agent identity profile
description: Base-focused alias for the passport identity bridge. Use this when you want the live ERC-8004 registration reference, ERC-8128-aligned detached request-signing metadata, and the distinct SIWA session-handshake metadata without inferring those details from other fields.
parameters:
- name: agentRef
in: path
required: true
schema:
type: string
responses:
'200':
description: Base-agent identity profile with registration, signing, and passport metadata
'404':
description: Agent not found
/passport/identity/wallet/{walletAddress}:
get:
operationId: get_api_passport_identity_wallet_by_walletAddress
tags:
- NFT & Passport
summary: Wallet-first passport identity bridge
description: Public wallet-first identity lookup for Base-native agents. Returns the same passport proof state, detached signing metadata, buying identity context, and `base_agent_identity` compatibility block exposed by the agentRef identity bridge.
parameters:
- name: walletAddress
in: path
required: true
schema:
type: string
responses:
'200':
description: Passport, signing, buying identity metadata, and Base-agent compatibility details for the owning wallet
'404':
description: Agent not found
/passport/identity/wallet/{walletAddress}/base:
get:
operationId: get_api_passport_identity_wallet_by_walletAddress_base
tags:
- NFT & Passport
summary: Wallet-first Base-agent identity profile
description: Base-focused wallet-first alias for the passport identity bridge. Use this when the wallet address is the primary identifier and you need the live ERC-8004 registration reference, ERC-8128-aligned detached request-signing metadata, and the distinct SIWA session-handshake metadata.
parameters:
- name: walletAddress
in: path
required: true
schema:
type: string
responses:
'200':
description: Base-agent identity profile with registration, signing, and passport metadata for the owning wallet
'404':
description: Agent not found
/passport/identity/{agentRef}/challenge:
post:
operationId: post_api_passport_identity_by_agentRef_challenge
tags:
- NFT & Passport
summary: Build a detached signing challenge
description: Builds the canonical METHOD/PATH/TIMESTAMP/BODY_HASH payload for the registered agent signer and returns the same Base-agent compatibility block exposed by the passport identity bridge.
parameters:
- name: agentRef
in: path
required: true
schema:
type: string
requestBody:
required: true
content:
application/json:
schema:
type: object
required:
- method
- path
properties:
method:
type: string
path:
type: string
body:
type: object
timestamp:
type: string
responses:
'200':
description: Canonical payload, public signing metadata, and Base-agent compatibility details
'400':
description: Missing method or path
'404':
description: Agent not found
/passport/identity/{agentRef}/verify:
post:
operationId: post_api_passport_identity_by_agentRef_verify
tags:
- NFT & Passport
summary: Verify a detached agent signature
description: Verifies a detached request signature against the agent public key without mutating replay state and returns the same Base-agent compatibility block exposed by the passport identity bridge.
parameters:
- name: agentRef
in: path
required: true
schema:
type: string
requestBody:
required: true
content:
application/json:
schema:
type: object
required:
- method
- path
- timestamp
- signature
properties:
method:
type: string
path:
type: string
body:
type: object
timestamp:
type: string
signature:
type: string
responses:
'200':
description: Detached signature verification result plus Base-agent compatibility details
'400':
description: Missing verification fields
'404':
description: Agent not found
'409':
description: Agent has no public signing key
/passport/identity/{agentRef}/siwa/challenge:
post:
operationId: post_api_passport_identity_by_agentRef_siwa_challenge
tags:
- NFT & Passport
summary: Create a distinct SIWA session challenge
description: Creates a short-lived Sign-In with Agent challenge for the public agent identity. Returns the exact challenge message, a signed challenge token, and the same Base-agent compatibility block exposed by the passport identity bridge.
parameters:
- name: agentRef
in: path
required: true
schema:
type: string
requestBody:
required: false
content:
application/json:
schema:
type: object
properties:
domain:
type: string
audience:
type: string
statement:
type: string
responses:
'200':
description: Distinct SIWA challenge created for the public agent identity
'404':
description: Agent not found
'409':
description: Agent has no public signing key
/passport/identity/{agentRef}/siwa/verify:
post:
operationId: post_api_passport_identity_by_agentRef_siwa_verify
tags:
- NFT & Passport
summary: Verify a signed SIWA session challenge
description: Verifies the signed Sign-In with Agent challenge against the agent public key and returns a short-lived signed session assertion plus the same Base-agent compatibility block exposed by the passport identity bridge.
parameters:
- name: agentRef
in: path
required: true
schema:
type: string
requestBody:
required: true
content:
application/json:
schema:
type: object
required:
- challenge_token
- signature
properties:
challenge_token:
type: string
signature:
type: string
responses:
'200':
description: Signed SIWA session verified and short-lived session assertion minted
'400':
description: Missing or invalid SIWA challenge fields
'401':
description: Signed SIWA challenge failed verification
'404':
description: Agent not found
'409':
description: Agent has no public signing key
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.