{
  "page": "docs/credits",
  "title": "Credits, top-ups and plans",
  "slug": "credits",
  "description": "The credit unit, balances, top-ups in US dollars, auto-reload, expiry, trial credits and plans.",
  "section": "Running an org",
  "updated": "2026-09-30",
  "blocks": [
    {
      "type": "p",
      "text": "Everything on Arettic is paid in credits. **1 credit = $0.001**, and prices are whole credits. Money in the API is always `{ \"credits\": \"7\", \"usd\": \"0.007\" }`. An org holds the credits; its agents spend them, within their [budgets](/docs/budgets-and-approvals). A purchase is charged only when its result passes the [pass rule](/docs/pass-rules)."
    },
    {
      "type": "h2",
      "id": "balance",
      "text": "Balance"
    },
    {
      "type": "list",
      "items": [
        "`GET https://api.arettic.com/v1/balance` with an agent key: `org_balance` (`paid`, `trial`, `total`) and the agent's `agent_spent_month`, `agent_budget` and `agent_budget_left`. Over MCP: `get_balance`.",
        "`GET https://api.arettic.com/v1/orgs/{orgId}/balance` for a member or an org key: the org's `paid`, `trial` and `total`.",
        "Trial credits are always spent before paid ones. A purchase that needs more than the total is declined with `402 insufficient_credits`."
      ]
    },
    {
      "type": "h2",
      "id": "top-ups",
      "text": "Top-ups"
    },
    {
      "type": "p",
      "text": "`POST https://api.arettic.com/v1/orgs/{orgId}/topups` with `amount_usd` (whole dollars) and optionally `save_card: true`, or the Billing page of the dashboard. The answer has a `checkout_url` to pay at; the credits land when the payment clears."
    },
    {
      "type": "table",
      "caption": "Top-up rules",
      "head": [
        "Rule",
        "Value"
      ],
      "rows": [
        [
          "First top-up",
          "at least $20"
        ],
        [
          "Later top-ups",
          "at least $50"
        ],
        [
          "Largest single top-up",
          "$10,000"
        ],
        [
          "New orgs, first 14 days",
          "at most $200 in total"
        ],
        [
          "Currency",
          "US dollars"
        ],
        [
          "Invoices",
          "Every paid top-up gets one: `GET /v1/orgs/{orgId}/invoices`. Any sales tax is shown separately."
        ]
      ]
    },
    {
      "type": "code",
      "title": "curl",
      "lang": "bash",
      "code": "curl https://api.arettic.com/v1/orgs/$ORG_ID/topups \\\n  -H \"Authorization: Bearer $ARETTIC_ORG_KEY\" \\\n  -H \"Content-Type: application/json\" \\\n  -d '{ \"amount_usd\": 50, \"save_card\": true }'"
    },
    {
      "type": "h2",
      "id": "auto-reload",
      "text": "Auto-reload"
    },
    {
      "type": "p",
      "text": "Save a card with a top-up (`save_card: true`), then `PUT https://api.arettic.com/v1/orgs/{orgId}/auto-reload` with `enabled`, `threshold_usd` (at least $1) and `amount_usd` (at least $50). Every 5 minutes, an org whose paid credits are under the threshold is charged the amount (plus any sales tax) and gets an invoice, at most once every 10 minutes. A declined card turns auto-reload off and emails the owners; it never retries on its own."
    },
    {
      "type": "h2",
      "id": "expiry",
      "text": "Expiry"
    },
    {
      "type": "list",
      "items": [
        "**Paid credits** expire 12 months after the top-up that bought them. Spending is oldest-first, so only credits you haven't used in a year expire. Owners get an email 30 days before.",
        "**Trial credits** expire 30 days after they're granted; a `trial.expiring` event comes 7 days before."
      ]
    },
    {
      "type": "h2",
      "id": "trial",
      "text": "Trial credits"
    },
    {
      "type": "list",
      "items": [
        "$1 when you make your org. No phone or card needed. One per company domain (or per address, for free email).",
        "$10 more when you have a demo call with us.",
        "Until an org's first top-up, it can spend at most 50 trial credits an hour (`429 trial_limit`)."
      ]
    },
    {
      "type": "h2",
      "id": "low-balance",
      "text": "Low-balance alert"
    },
    {
      "type": "p",
      "text": "`PUT https://api.arettic.com/v1/orgs/{orgId}/notifications` with `low_balance_usd` (default $5). When the balance falls under it, the owners get an email and webhooks get `balance.low`, once per top-up. See [webhooks](/docs/webhooks)."
    },
    {
      "type": "h2",
      "id": "prices",
      "text": "What a result costs"
    },
    {
      "type": "p",
      "text": "Each tool has a price per success: price per success = C ÷ S_price × k, rounded up to whole credits, where C is our cost per call, S_price the tool's recent pass rate and k your plan's multiplier (never below 1.25). Prices are recomputed daily; a move over 20% is reviewed by a person first, and orgs that used the tool get `price.changed`. Every tool's price is on [/pricing](/pricing) and at `GET https://api.arettic.com/v1/pricing`."
    },
    {
      "type": "h2",
      "id": "plans",
      "text": "Plans"
    },
    {
      "type": "table",
      "caption": "Plans",
      "head": [
        "Plan",
        "Price",
        "k",
        "Agents",
        "Seats",
        "Score lookups a day",
        "Free-text lookups a day"
      ],
      "rows": [
        [
          "Pay as you go",
          "$0 + credits",
          "1.5×",
          "2",
          "1",
          "1,000",
          "100"
        ],
        [
          "Pro",
          "$99 a month or $990 a year",
          "1.3×",
          "10",
          "5",
          "10,000",
          "500"
        ],
        [
          "Max",
          "From $1,000 a month",
          "1.25×",
          "no limit",
          "no limit",
          "no limit",
          "no limit"
        ]
      ]
    },
    {
      "type": "p",
      "text": "Start Pro with `POST https://api.arettic.com/v1/orgs/{orgId}/subscriptions` and `{ \"plan\": \"team\", \"interval\": \"month\" }` (or `\"year\"`); the answer has a checkout link. `GET /v1/orgs/{orgId}/plan` shows the plan and what it includes; `DELETE /v1/orgs/{orgId}/subscriptions/team` cancels at the end of the period. Until 30 days after public launch, the first 50 teams can take the founding Team price: $490 instead of $990 for the first year (`\"founding\": true`, yearly only). Enterprise is by contract."
    },
    {
      "type": "h2",
      "id": "frozen",
      "text": "Frozen credits"
    },
    {
      "type": "p",
      "text": "Rarely, while we look into something on an account (a chargeback, a card flagged by the payment provider), we freeze its credits. Purchases are then declined with `403 credits_frozen`; sign-in, reads, receipts and exports keep working. Email support and we'll tell you what's needed."
    },
    {
      "type": "h2",
      "id": "closed-loop",
      "text": "Credits stay on Arettic"
    },
    {
      "type": "p",
      "text": "Credits are for buying results on Arettic. They can't be cashed out, sold, or moved to another org."
    }
  ]
}