# HARKANA Token Billing

Generated from the current implementation. See the JSON resource for exact structured metadata.

```json
{
  "billingModel": "resource-v1",
  "compute": {
    "description": "Active task durations add across parallel tasks. The included allowance is shared across the run; additional compute accrues incrementally with pinned provisioned-resource multipliers, not elapsed submission wall time or live utilization.",
    "funding": "Active compute funding checks are separate from final storage reconciliation; absence of an upfront compute hold does not promise unlimited funded execution."
  },
  "downloads": {
    "activation": "Transfer charging requires explicit verified activation and the active matching tariff. Workflow cost estimates advertise transfer charging disabled; archive/download authorization has its own server-owned terms and must not be inferred from an analysis submission hold.",
    "description": "The reference archive-start fee and transfer price are policy defaults, not evidence of enabled download charging. Transfer uses GiB, not decimal GB, under the current reference tariff; historical accepted terms are not rewritten."
  },
  "rateAuthority": "Reference defaults are not deployed rates or a binding quote. Use the current public configuration and server cost estimate; accepted jobs retain their pinned tariff and admission terms. Documentation does not activate charging.",
  "reconciliation": {
    "description": "Final storage reconciliation collects available funds and records unpaid debt. A completed scientific job is not failed and its successful results are not discarded because storage settlement exceeds the balance. Later token purchases can settle debt.",
    "rounding": "The server carries exact fractional accrual and owns payable rounding and settlement. Do not sum separately rounded category displays or count held tokens as additional fees."
  },
  "referenceTariff": {
    "baseFee": {
      "appliesTo": [
        "upload",
        "postprocessing"
      ],
      "archiveTokens": 10,
      "preparationTokens": 0,
      "tokens": 10,
      "trigger": "job-start"
    },
    "billingModel": "resource-v1",
    "chargingEnabled": false,
    "compute": {
      "allowanceScope": "run",
      "durationBasis": "summed-active-task-time",
      "includedMilliseconds": 600000,
      "includedSeconds": 600,
      "rateBasis": "reference-resource-profile",
      "resourceScaling": {
        "appliesTo": [
          "cpu",
          "gpu"
        ],
        "basis": "provisioned-resources",
        "multiplierScope": "task",
        "pinned": true
      },
      "tokensPerReferenceHour": 30,
      "tokensPerSecond": "1/120"
    },
    "storage": {
      "billingPeriod": "calendar-month",
      "bytesPerGiB": 1073741824,
      "chargeOnCreation": true,
      "creationChargeAppliesTo": [
        "upload-analysis",
        "postprocessing-analysis"
      ],
      "monthlyChargeDay": 1,
      "monthlyOnlyAppliesTo": [
        "preparation",
        "reference",
        "profile",
        "template",
        "copy",
        "archive-storage"
      ],
      "monthlyOnlyReservesTokens": false,
      "prorated": false,
      "timezone": "UTC",
      "tokensPerGiBMonth": "3"
    },
    "tariffVersion": "resource-2026-10-09-download-gib",
    "transfer": {
      "archiveChargingEnabled": false,
      "bytesPerGiB": 1073741824,
      "chargingEnabled": false,
      "scientificApiChargingEnabled": false,
      "tokensPerGiB": "3"
    },
    "version": "resource-usage-token-costs-v1"
  },
  "storage": {
    "description": "Analysis-job storage uses actual retained physical inventories for the creation month and later UTC calendar months, without proration. Estimated holds are replaced by measured liability, not added as a second fee.",
    "monthlyOnly": "Non-analysis retained resources use monthly-only registration, with no save-time reservation or balance check, starting at the next month-start after retention. Verified deletion stops future periods, not previously due periods."
  },
  "submission": {
    "appliesTo": [
      "upload",
      "postprocessing"
    ],
    "computeReservationTokens": 0,
    "description": "Submission holds the job-start fee plus rounded estimated incremental STORAGE, not compute. A hold is not a debit; the start fee is charged once when execution starts. Unused holds are released.",
    "estimate": "Server cost estimates can contain unknown storage sizes. totalCost and estimatedDurationSeconds are null, not zero or a guaranteed total. Previously retained inputs are not charged again merely because they are read; new physical copies count.",
    "holdFormula": "jobStartTokens + storageEstimateTokens",
    "review": "A changed workflow, source selection, source revision, tariff or billing month can require a refreshed estimate before admission."
  },
  "summary": "Resource token accounting uses job start, provisioned compute and retained physical storage, not output-count or project-shape tariffs.",
  "version": "processing-token-billing-doc-v2"
}
```
