Skip to main content

Overview

ACN supports two payment models. Which one applies depends on how you authenticate:
AuthenticationPayment MethodBest For
API KeyCredits — pre-funded via StripeDevelopers, apps, agents using API keys
Agent Wallet (X402)On-chain USDC on BaseAutonomous agents with their own wallets
Both methods use USDC as the unit of value and support the same provider catalog. You choose based on how your application authenticates.

The Credits System

Credits are the billing unit for API key–based calls. 1 credit = 1 micro-USDC = $0.000001.
AmountCreditsUSD Equivalent
1 USDC1,000,000 credits$1.00
$10 top-up10,000,000 credits$10.00
0.002 USDC per call2,000 credits$0.002
You fund your account once (via Stripe) and API calls consume credits automatically — no wallet, no per-call transaction signing.

Credit Lifecycle

Every credit-based call follows a reserve → execute → settle pattern to prevent double-spending: Reserve: Credits are held before the call executes — if your balance is too low, the call is rejected immediately with HTTP 402. Settle: On success or client errors (4xx), credits are permanently deducted. Release: On provider failures (5xx) or timeouts, the reserved credits are automatically returned to your balance.

Refund Policy

OutcomeCredits
2xx successConsumed
4xx client error (bad request, unauthorized)Consumed — these are caller errors
5xx provider errorRefunded automatically
TimeoutRefunded automatically
Gateway internal errorRefunded automatically

Funding Your Account (Stripe)

Add credits to your account using standard payment methods — no crypto wallet required. Preset amounts: 55 · 10 · 2525 · 50 · 100(oranycustomamount100 (or any custom amount ≥ 5) Accepted: Visa, Mastercard, Amex, Apple Pay, Google Pay, Link Credits are added to your account within seconds of payment confirmation. See Fund via Stripe for a step-by-step guide.

Checking Your Balance

curl https://api.acn.exchange/v1/billing/balance \
  -H "Authorization: Bearer acn_sk_your_key"
{
  "balanceCredits": "8500000",
  "balanceUsdc": "8.500000",
  "dailySpentCredits": "250000",
  "dailySpentUsdc": "0.250000",
  "dailySpendLimitCredits": null,
  "perCallLimitCredits": null
}

Insufficient Credits

When your balance is too low, the call is rejected before reaching the provider:
{
  "statusCode": 402,
  "error": "Insufficient Credits",
  "code": "ACN-CREDIT-001",
  "message": "This capability costs 0.002000 USDC (2000 credits). Your balance is 500 credits. Please top up at https://app.acn.com/billing",
  "details": {
    "requiredCredits": "2000",
    "currentBalance": "500",
    "priceUsdc": "0.002000",
    "topUpUrl": "https://app.acn.com/billing"
  }
}
No negative balances. ACN never allows your balance to go below zero.

Spending Controls

You can set limits to prevent unexpected charges — useful for controlling agent spend:
  • Daily spend limit — maximum credits consumable per UTC day
  • Per-call limit — maximum credits a single API call can cost
  • Low-balance alert — email when balance drops below a threshold
When a limit is exceeded, the call is rejected with HTTP 402 and a specific error code:
{
  "statusCode": 402,
  "code": "ACN-CREDIT-002",
  "error": "Spending Limit Exceeded",
  "details": {
    "limitType": "daily",
    "limitCredits": "50000000",
    "currentDailySpend": "48500000",
    "requestedCredits": "5000000"
  }
}
See Set Spending Controls to configure limits from the dashboard.

X402 On-Chain Payments

For agents with their own wallets, ACN supports the X402 protocol — machine-to-machine payments embedded directly in HTTP requests.

When to Use X402

X402 is the right choice when:
  • Your agent has an autonomous on-chain wallet
  • You need payments without a centralized account
  • You’re building fully decentralized agent infrastructure
For everything else — apps, scripts, dashboards, most agent frameworks — credits via API key is simpler. See Equip an Agent with a Wallet to set up X402 payments.

X402 Settlement

ACN settles with providers in daily batches (2 AM UTC). Both credit-path earnings and X402 earnings are aggregated and paid out together.

Choosing a Payment Method

Does your app/agent authenticate with an API key?
├── Yes → Use credits (fund via Stripe, no wallet needed)
└── No  → Use X402 (agent needs a wallet with USDC on Base)
Most developers start with credits — it’s the fastest path to making your first API call. You can always add X402 support later for autonomous agent scenarios.

Supported Currency & Network

PropertyValue
Credit unit1 micro-USDC
Top-up currencyUSD (via Stripe)
Minimum top-up$5.00
X402 currencyUSDC on Base
X402 networkBase (Ethereum L2)
Settlement frequencyDaily (2 AM UTC)