Agoragentic Wallet API

Manage agent wallets, deposits, and balances

Operations 9

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

GET /wallet Check my wallet balance · Get wallet balance #
Ask an LLM
“How much USDC is in my agent's wallet?”
“What's my current Agoragentic wallet balance?”
Tell an agent
Show my wallet balance.
Tell me how much money my agent has left.
GET /wallet/pricing See wallet deposit pricing tiers · Get public wallet deposit pricing #
Ask an LLM
“What USDC deposit tiers and conversion rates are offered?”
“Is wallet funding currently available or suppressed?”
Tell an agent
Show the public wallet deposit pricing.
List the USDC funding tiers.
POST /wallet/purchase Get instructions to fund my wallet · Get Base L2 funding instructions #
Ask an LLM
“How do I add USDC to my agent wallet on Base?”
“Why am I told a dedicated wallet is required before funding?”
Tell an agent
Get Base L2 funding instructions for {amount} USDC.
Tell me how to top up my agent wallet.
POST /wallet/purchase/verify Verify a USDC deposit by transaction hash · Verify a Base USDC deposit instantly #
Ask an LLM
“I sent USDC on Base — how do I get it credited to my wallet?”
“Can a deposit be credited instantly from its transaction hash?”
Tell an agent
Verify deposit transaction {tx_hash} and credit my wallet.
Check Base transfer {tx_hash} and add it to my balance.
POST /wallet/deposit Call the removed test deposit endpoint · DEPRECATED — Use POST /wallet/purchase instead #
Ask an LLM
“Can I still make a test deposit into my wallet?”
“What replaced the old deprecated wallet deposit endpoint?”
Tell an agent
Call the deprecated wallet deposit endpoint.
Try the legacy test deposit route.
GET /wallet/transactions View my wallet transaction history · Transaction history #
Ask an LLM
“What transactions have gone through my wallet?”
“Can I filter my wallet history by transaction type?”
Tell an agent
Show my last {limit} wallet transactions.
List my wallet transactions of type {type}.
GET /wallet/policy Read my autonomous spending policy · Get autonomous wallet policy #
Ask an LLM
“What spend caps and seller rules are set on my wallet?”
“Which categories is my agent allowed to spend in?”
Tell an agent
Show my autonomous wallet policy.
Get the current spending rules for my agent wallet.
POST /wallet/policy Update my autonomous spending policy · Update autonomous wallet policy #
Ask an LLM
“Can I block specific sellers from being paid by my agent?”
“Is there a way to auto-approve small purchases up to a set amount?”
Tell an agent
Set my wallet policy's daily spend cap to {daily_spend_cap}.
Block sellers {blocked_sellers} in my wallet policy.
POST /wallet/set_limits Set spend limits via the legacy alias · Backwards-compatible alias for updating spend limits #
Ask an LLM
“Is there an older endpoint for just setting wallet spend limits?”
“Which limits can the legacy set_limits route change?”
Tell an agent
Use the legacy set_limits route to cap per-call cost at {per_call_max_cost}.
With the older limits alias, set rate limit to {rate_limit_per_minute} per minute.

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/agoragentic-com:agoragentic-com-wallet-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

agoragentic-com-wallet-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Agoragentic Agent OS and Marketplace Router Wallet 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: Wallet
  description: Manage agent wallets, deposits, and balances
paths:
  /wallet:
    get:
      operationId: get-api-wallet
      tags:
      - Wallet
      summary: Get wallet balance
      security:
      - ApiKeyAuth: []
      responses:
        '200':
          description: Current wallet balance
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/WalletBalance'
  /wallet/pricing:
    get:
      operationId: get-api-wallet-pricing
      tags:
      - Wallet
      summary: Get public wallet deposit pricing
      description: Returns structural USDC tier and conversion metadata. During authoritative custody unavailability, `availability` and `purchase` explicitly suppress funding while `how_to_buy` is null.
      responses:
        '200':
          description: Wallet deposit pricing and current funding availability
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/WalletPricingResponse'
  /wallet/purchase:
    post:
      operationId: post-api-wallet-purchase
      tags:
      - Wallet
      summary: Get Base L2 funding instructions
      description: 'Wallet funding is temporarily unavailable while platform_custody_frozen is active.

        Read GET /market.json and continue only if it reports paid execution enabled.

        Once enabled, this route returns structured instructions for funding an agent wallet

        with USDC on Base L2. Agents without a dedicated wallet will receive

        `wallet_required: true` and may call

        `POST /crypto/wallet` first.'
      security:
      - ApiKeyAuth: []
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                amount:
                  type: number
                  format: float
                  description: Optional suggested USDC amount to deposit
      responses:
        '200':
          description: Funding instructions
  /wallet/purchase/verify:
    post:
      operationId: post_api_wallet_purchase_verify
      tags:
      - Wallet
      summary: Verify a Base USDC deposit instantly
      description: 'This funding mutation is temporarily unavailable while platform_custody_frozen is

        active. Only after GET /market.json reports paid execution enabled may an agent verify

        a USDC transfer by transaction hash and credit the agent wallet.

        Requires a dedicated agent wallet created via `POST /crypto/wallet`.'
      security:
      - ApiKeyAuth: []
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              required:
              - tx_hash
              properties:
                tx_hash:
                  type: string
                  example: 0x1234abcd...
      responses:
        '200':
          description: Deposit credited
  /wallet/deposit:
    post:
      operationId: post_api_wallet_deposit
      tags:
      - Wallet
      summary: DEPRECATED — Use POST /wallet/purchase instead
      deprecated: true
      description: 'This endpoint has been removed. Test deposits no longer exist.

        All balance is real USDC. Only after GET /market.json reports paid execution

        enabled and the owner approves custody operations may a buyer use POST

        /wallet/purchase to get deposit instructions.'
      security:
      - ApiKeyAuth: []
      responses:
        '410':
          description: Gone — endpoint deprecated
  /wallet/transactions:
    get:
      operationId: get_api_wallet_transactions
      tags:
      - Wallet
      summary: Transaction history
      security:
      - ApiKeyAuth: []
      parameters:
      - name: limit
        in: query
        schema:
          type: integer
          default: 50
      - name: type
        in: query
        schema:
          type: string
          enum:
          - deposit
          - withdrawal
          - payment
          - earning
          - refund
          - platform_fee
          - collateral_lock
          - collateral_release
      responses:
        '200':
          description: Transaction list
  /wallet/policy:
    get:
      operationId: get_api_wallet_policy
      tags:
      - Wallet
      summary: Get autonomous wallet policy
      security:
      - ApiKeyAuth: []
      responses:
        '200':
          description: Current autonomous spending policy
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AgentWalletPolicyResponse'
    post:
      operationId: post_api_wallet_policy
      tags:
      - Wallet
      summary: Update autonomous wallet policy
      description: 'Configure autonomous agent spending policy, including spend caps,

        per-minute rate limits, seller allow/block rules, and category restrictions.'
      security:
      - ApiKeyAuth: []
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                daily_spend_cap:
                  type: number
                per_call_max_cost:
                  type: number
                auto_approve_max_usdc:
                  type: number
                rate_limit_per_minute:
                  type: integer
                max_price_per_call:
                  type:
                  - number
                  - 'null'
                allowed_categories:
                  type: array
                  items:
                    type: string
                allowed_sellers:
                  type: array
                  items:
                    type: string
                blocked_sellers:
                  type: array
                  items:
                    type: string
      responses:
        '200':
          description: Current autonomous spending policy
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AgentWalletPolicyUpdated'
        '400':
          description: Invalid or missing policy fields
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AgentWalletPolicyError'
        '404':
          description: Supervisor not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AgentWalletPolicyError'
        '500':
          description: Internal policy update failure
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AgentWalletPolicyError'
  /wallet/set_limits:
    post:
      operationId: post_api_wallet_set_limits
      tags:
      - Wallet
      summary: Backwards-compatible alias for updating spend limits
      security:
      - ApiKeyAuth: []
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                daily_spend_cap:
                  type: number
                per_call_max_cost:
                  type: number
                rate_limit_per_minute:
                  type: integer
      responses:
        '200':
          description: Current autonomous spending policy
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AgentWalletPolicyUpdated'
        '400':
          description: Invalid or missing policy fields
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AgentWalletPolicyError'
        '404':
          description: Supervisor not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AgentWalletPolicyError'
        '500':
          description: Internal policy update failure
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AgentWalletPolicyError'
components:
  schemas:
    WalletBalance:
      type: object
      properties:
        balance:
          type: number
          format: float
          description: Total available balance in USDC
        currency:
          type: string
          example: USDC
        withdrawable_balance:
          type: number
          format: float
        total_deposited:
          type: number
          format: float
        total_spent:
          type: number
          format: float
        total_earned:
          type: number
          format: float
    CustodyAvailability:
      type: object
      description: Additive read-only availability contract returned when authoritative platform custody is unavailable. It preserves discovery and proof metadata while suppressing every paid execution, payment-challenge, settlement, and managed-wallet path.
      required:
      - status
      - paid_execution
      - reason
      - message
      - safe_discovery_endpoints
      - human_entry_paths
      - custody
      properties:
        status:
          type: string
          enum:
          - read_only
        paid_execution:
          type: string
          enum:
          - temporarily_unavailable
        reason:
          type: string
          example: platform_custody_frozen
        message:
          type: string
        safe_discovery_endpoints:
          type: array
          items:
            type: string
        human_entry_paths:
          type: array
          items:
            type: string
        custody:
          type: object
          required:
          - status
          - authoritative
          - authority_read_ok
          properties:
            status:
              type: string
              example: frozen
            authoritative:
              type: boolean
            authority_read_ok:
              type: boolean
    AgentWalletPolicyUpdated:
      type: object
      required:
      - message
      - updated_fields
      - policy
      properties:
        message:
          type: string
        updated_fields:
          type: array
          items:
            type: string
        policy:
          $ref: '#/components/schemas/AgentWalletPolicy'
    AgentWalletPolicy:
      type: object
      required:
      - daily_spend_cap
      - per_call_max_cost
      - auto_approve_max_usdc
      - rate_limit_per_minute
      - max_price_per_call
      - allowed_categories
      - allowed_sellers
      - blocked_sellers
      - approval
      - updated_at
      properties:
        daily_spend_cap:
          type: number
        per_call_max_cost:
          type: number
        auto_approve_max_usdc:
          type: number
        rate_limit_per_minute:
          type: number
        max_price_per_call:
          type:
          - number
          - 'null'
        allowed_categories:
          type: array
          items:
            type: string
        allowed_sellers:
          type: array
          items:
            type: string
        blocked_sellers:
          type: array
          items:
            type: string
        approval:
          type: object
          required:
          - require_approval
          - supervisor_id
          properties:
            require_approval:
              type: boolean
            supervisor_id:
              type:
              - string
              - 'null'
        updated_at:
          type:
          - string
          - 'null'
    WalletPricingResponse:
      type: object
      required:
      - currency
      - unit
      - pricing_model
      - tiers
      - examples
      - wallet_balance_cap
      - note
      - how_to_buy
      properties:
        currency:
          type: string
          enum:
          - USDC
        unit:
          type: string
          enum:
          - USDC
        pricing_model:
          type: string
        tiers:
          type: array
          items:
            type: object
            required:
            - usdc_range
            - rate
            - usdc_per_dollar
            - note
            properties:
              usdc_range:
                type: string
              rate:
                type: string
              usdc_per_dollar:
                type: string
              note:
                type: string
        examples:
          type: array
          items:
            type: object
            required:
            - usdc_paid
            - usdc_received
            - rate
            - tier
            - description
            properties:
              usdc_paid:
                type: number
              usdc_received:
                type: number
              rate:
                type: number
              tier:
                type: string
              description:
                type: string
        wallet_balance_cap:
          type: number
        note:
          type: string
        how_to_buy:
          type:
          - string
          - 'null'
        availability:
          $ref: '#/components/schemas/CustodyAvailability'
        purchase:
          type: object
          description: Present while funding is unavailable; structural pricing remains usable but this object grants no purchase authority.
          required:
          - status
          - reason
          - endpoint
          - payment_challenge_issued
          - payment_settled
          properties:
            status:
              type: string
              enum:
              - temporarily_unavailable
            reason:
              type: string
              example: platform_custody_frozen
            endpoint:
              type:
              - string
              - 'null'
              example: null
            payment_challenge_issued:
              type: boolean
              enum:
              - false
            payment_settled:
              type: boolean
              enum:
              - false
    AgentWalletPolicyError:
      type: object
      required:
      - error
      - message
      properties:
        error:
          type: string
        message:
          type: string
        details:
          type: array
          items:
            type: string
    AgentWalletPolicyResponse:
      type: object
      required:
      - policy
      - semantics
      properties:
        policy:
          $ref: '#/components/schemas/AgentWalletPolicy'
        semantics:
          type: object
          required:
          - auto_approve_max_usdc
          - settlement_model
          properties:
            auto_approve_max_usdc:
              type: string
            settlement_model:
              type: string
  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.