Agentik Wallet API

The wallet API from Agentik — 4 operation(s) for wallet.

Operations 4

GET /v1/keys/me Status of the calling API key: caps, spend today and last hour, allowed tools… #
GET /v1/wallet/balance Balance, free tier and auto-recharge settings #
POST /v1/topups Ask for a top-up link to hand to a human #
GET /v1/topups/{id} Status of a top-up request #

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/agentik-cc:agentik-cc-wallet-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Calls without X-API-Key need no key. Calls with it need a paid plan — get a key.

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

agentik-cc-wallet-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Agentik agent Wallet API
  version: 0.1.0
  summary: 'Pay-per-call tools for AI agents: one API key, one prepaid balance, many providers.'
  description: 'Three primitives: discover (free, public), inspect (free, public), run (API key, billed per call). Prices are the providers'' own, without markup; a platform fee applies when a human tops up the balance. A run normally reserves its maximum. Tools with pricing.costMode=actual reserve an estimate and bill the exact provider receipt without a per-call cap; additional usage may be debited. Keys with optional spending caps cannot run these tools. Unused funds are released; uncertain consumption stays reserved for reconciliation, including after a connection error. Separate executions are charged separately; idempotency keys replay an existing execution. Some tools create a live resource (browser session, agent run): the run stays RUNNING and is settled when the resource ends. MCP (Streamable HTTP) is served at https://ai.agentik.cc/mcp with the same catalog and billing; it authorizes through OAuth 2.1 (metadata at https://ai.agentik.cc/.well-known/oauth-protected-resource/mcp) or the API key. https://ai.agentik.cc/mcp/public serves discover and inspect without credentials. Inspect each tool for its complete input schema. This document covers customer integration only.'
servers:
- url: https://api.agentik.cc
security: []
tags:
- name: Wallet
paths:
  /v1/keys/me:
    get:
      tags:
      - Wallet
      summary: 'Status of the calling API key: caps, spend today and last hour, allowed tools…'
      security:
      - apiKey: []
      responses:
        '200':
          description: Key status
          content:
            application/json:
              schema:
                type: object
                properties:
                  key_id:
                    type: string
                  label:
                    type: string
                    nullable: true
                  daily_cap_usd:
                    type: number
                    nullable: true
                  hourly_cap_usd:
                    type: number
                    nullable: true
                  lifetime_cap_usd:
                    type: number
                    nullable: true
                  spent_lifetime_usd:
                    type: number
                  remaining_lifetime_usd:
                    type: number
                    nullable: true
                  spent_today_usd:
                    type: number
                  remaining_today_usd:
                    type: number
                    nullable: true
                  spent_last_hour_usd:
                    type: number
                  allowed_tools:
                    type: array
                    items:
                      type: string
                    nullable: true
                  allowed_cidrs:
                    type: array
                    items:
                      type: string
                    nullable: true
                  expires_at:
                    type: string
                    nullable: true
                  runs_7d:
                    type: integer
                  balance_usd:
                    type: number
                  amount_owed_usd:
                    type: number
                    minimum: 0
                    description: Unpaid actual usage after settlement; present only for a negative paid balance. No automatic card charge.
                  available_usd:
                    type: number
                    description: Spendable credit including eligible promotional credit, or zero while a paid amount is owed; actual-cost tools require paid credit.
                  promo_balance:
                    $ref: '#/components/schemas/PromoBalance'
        '401':
          description: Unauthorized, KEY_EXPIRED
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '403':
          description: KEY_PAUSED, IP_NOT_ALLOWED
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '405':
          description: METHOD_NOT_ALLOWED; use the method in the Allow response header
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          headers:
            Allow:
              schema:
                type: string
              description: Supported methods
        '503':
          description: Temporarily unavailable. Read error.hint; do not create a duplicate execution after an uncertain outcome.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
      operationId: get_v1_keys_me
  /v1/wallet/balance:
    get:
      tags:
      - Wallet
      summary: Balance, free tier and auto-recharge settings
      security:
      - apiKey: []
      responses:
        '200':
          description: Wallet
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/WalletBalance'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '405':
          description: METHOD_NOT_ALLOWED; use the method in the Allow response header
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          headers:
            Allow:
              schema:
                type: string
              description: Supported methods
        '503':
          description: Temporarily unavailable. Read error.hint; do not create a duplicate execution after an uncertain outcome.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
      operationId: get_v1_wallet_balance
  /v1/topups:
    post:
      tags:
      - Wallet
      summary: Ask for a top-up link to hand to a human
      description: 'Never charges anything by itself: it creates a pending request whose page a human completes.'
      security:
      - apiKey: []
      requestBody:
        required: false
        content:
          application/json:
            schema:
              type: object
              properties:
                amount_usd:
                  type: number
                  description: Credits requested in USD. The platform fee is added to the amount charged.
                  minimum: 5
                  default: 10
      responses:
        '200':
          description: Top-up request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TopupInfo'
        '400':
          description: Invalid amount
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '405':
          description: METHOD_NOT_ALLOWED; use the method in the Allow response header
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          headers:
            Allow:
              schema:
                type: string
              description: Supported methods
        '503':
          description: Temporarily unavailable. Read error.hint; do not create a duplicate execution after an uncertain outcome.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
      operationId: post_v1_topups
  /v1/topups/{id}:
    get:
      tags:
      - Wallet
      summary: Status of a top-up request
      security:
      - apiKey: []
      parameters:
      - name: id
        in: path
        required: true
        schema:
          type: string
      responses:
        '200':
          description: Top-up request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TopupStatus'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '404':
          description: Unknown request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '405':
          description: METHOD_NOT_ALLOWED; use the method in the Allow response header
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          headers:
            Allow:
              schema:
                type: string
              description: Supported methods
        '503':
          description: Temporarily unavailable. Read error.hint; do not create a duplicate execution after an uncertain outcome.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
      operationId: get_v1_topups_by_id
components:
  schemas:
    TopupInfo:
      type: object
      properties:
        topup_url:
          type: string
          description: Page a human opens to pay; never callable by an agent
        request_id:
          type: string
        amount_usd:
          type: number
        fee_usd:
          type: number
        credit_usd:
          type: number
        presets_usd:
          type: array
          items:
            type: number
    TopupStatus:
      type: object
      properties:
        request_id:
          type: string
        status:
          type: string
        amount_usd:
          type: number
        credit_usd:
          type: number
      additionalProperties: true
    ErrorResponse:
      type: object
      required:
      - error
      properties:
        error:
          type: object
          required:
          - code
          - message
          properties:
            code:
              type: string
            message:
              type: string
            hint:
              type: string
            request_id:
              type: string
            retry_after_ms:
              type: number
              minimum: 0
            documentation:
              type: string
              format: uri
          additionalProperties: true
    WalletBalance:
      type: object
      properties:
        workspace_id:
          type: string
        balance_usd:
          type: number
          description: Available paid credit in USD.
        amount_owed_usd:
          type: number
          minimum: 0
          description: Unpaid actual usage after settlement; present only for a negative paid balance. No automatic card charge.
        available_usd:
          type: number
          description: Spendable credit including eligible promotional credit, or zero while a paid amount is owed; actual-cost tools require paid credit.
        promo_balance:
          $ref: '#/components/schemas/PromoBalance'
        lifetime_topup_usd:
          type: number
        auto_recharge:
          type: object
          additionalProperties: true
        free_tier:
          type: object
          properties:
            used_today:
              type: integer
            limit_per_day:
              type: integer
    PromoBalance:
      type: object
      description: Promotional credit is used first on eligible non-video calls up to max_call_usd. expires_at is the next lot expiry.
      properties:
        available_usd:
          type: string
        expires_at:
          type:
          - string
          - 'null'
        max_call_usd:
          type: string
  securitySchemes:
    apiKey:
      type: http
      scheme: bearer
      bearerFormat: trk_...
      description: Workspace API key
    oauth:
      type: oauth2
      description: 'OAuth for MCP clients: PKCE S256, dynamic client registration or client ID metadata documents, refresh token rotation. With agent onboarding enabled, a verified account approves a dedicated execution key; otherwise the legacy authorization page accepts an existing workspace key. Tokens inherit the key policy.'
      flows:
        authorizationCode:
          authorizationUrl: https://api.agentik.cc/oauth/authorize
          tokenUrl: https://api.agentik.cc/oauth/token
          refreshUrl: https://api.agentik.cc/oauth/token
          scopes:
            run: Discover, inspect and run tools, paid from the workspace balance within the key's caps
externalDocs:
  url: https://api.agentik.cc/connect.md
  description: Connection guide
x-agentik-billing:
  payments_enabled: true
  topup_fee_model: added
  topup_fee_rate: 0.055
  topup_fee_min_usd: 0.8
  topup_min_usd: 5
  free_runs_per_day_unfunded: 50
  free_runs_per_day_funded: 1000