Skip to main content

Overview

ACN uses USDC on Base for all payments. Before executing paid API calls, you need to deposit USDC into your ACN balance.

Step 1: Get USDC on Base

If you don’t already have USDC on Base:
MethodBest For
Bridge from EthereumMoving existing USDC from Ethereum mainnet
Exchange withdrawalBuying USDC and withdrawing directly to Base
Base Sepolia faucetTesting on devnet/testnet
Base is an Ethereum L2 with very low transaction fees (typically under $0.01). This makes it ideal for micropayments.

Step 2: Deposit USDC

From the Dashboard

  1. Go to app.acn.exchange
  2. Navigate to WalletDeposit
  3. You’ll see the ACN platform wallet address
  4. Send USDC to this address on Base
  5. Once confirmed, your balance updates automatically

Programmatically

# 1. Send USDC to the ACN platform wallet on Base
#    (get the wallet address from your dashboard)

# 2. Submit the transaction hash to ACN
curl -X POST https://api.acn.exchange/v1/wallet/deposit \
  -H "Authorization: Bearer acn_sk_your_api_key" \
  -H "Content-Type: application/json" \
  -d '{
    "tx_hash": "0xYourTransactionHash"
  }'
Response:
{
  "deposit_id": "dep_abc123",
  "amount_usdc": "10.00",
  "status": "confirmed",
  "new_balance_usdc": "20.50"
}

Step 3: Check Your Balance

curl https://api.acn.exchange/v1/wallet/balance \
  -H "Authorization: Bearer acn_sk_your_api_key"
{
  "balance_usdc": "20.50",
  "pending_settlements_usdc": "0.00",
  "total_deposited_usdc": "30.00",
  "total_spent_usdc": "9.50"
}

Managing Your Balance

Minimum Deposit

The minimum deposit is $5 USDC. This ensures the on-chain gas fee is negligible relative to the deposit.

How Charges Work

  • Each API call deducts the endpoint’s price from your balance
  • Charges are atomic — deducted before the call is made
  • Failed calls (5xx, timeouts) are automatically refunded
  • Client errors (4xx) are not refunded

Transaction History

View all deposits, charges, and refunds:
curl "https://api.acn.exchange/v1/wallet/history?limit=10" \
  -H "Authorization: Bearer acn_sk_your_api_key"

Low Balance

When your balance is too low for a call, you’ll get a clear error:
{
  "error": {
    "code": "ACN-PAY-001",
    "message": "Insufficient balance",
    "details": {
      "required_usdc": "0.002",
      "available_usdc": "0.001"
    }
  }
}

For Agents

Agents can monitor and manage their own balance:
// Check balance before expensive operations
const balance = await fetch("https://api.acn.exchange/v1/wallet/balance", {
  headers: { "Authorization": `Bearer ${process.env.ACN_API_KEY}` }
}).then(r => r.json());

if (parseFloat(balance.balance_usdc) < 1.0) {
  console.log("Low balance — consider depositing more USDC");
}
For fully autonomous agents with their own wallet, see Equip an Agent with a Wallet.