> ## Documentation Index
> Fetch the complete documentation index at: https://docs.centsless.org/llms.txt
> Use this file to discover all available pages before exploring further.

# EBT, card, and rounding exemptions

> EBT/SNAP transactions are never rounded under 7 CFR 278.2 federal regulation. Card and mobile payments are also exempt from rounding regardless of jurisdiction.

Federal regulation 7 CFR 278.2 prohibits rounding on EBT and SNAP transactions. Centsless enforces this automatically: any transaction submitted with `payment_method: "ebt"` passes through with `rounding_delta_cents: 0` regardless of the merchant's jurisdiction. Card and mobile transactions are also exempt — only cash transactions are subject to state rounding rules.

## Payment method rounding rules

| Payment method | Rounding applied           | Notes                                             |
| -------------- | -------------------------- | ------------------------------------------------- |
| `cash`         | Yes, per jurisdiction rule | Swedish, symmetrical, or other method as resolved |
| `card`         | Never                      | Passes through unrounded                          |
| `ebt`          | Never                      | 7 CFR 278.2 federal prohibition                   |
| `mobile`       | Never                      | Passes through unrounded                          |

## EBT transaction example

A transaction submitted with `payment_method: "ebt"` in an Arizona merchant location — which normally uses mandatory Swedish rounding — will return a zero rounding delta and include the `ebt_compliance_flag`:

```bash theme={null}
curl -X POST https://api.centsless.org/api/v1/transaction \
  -H "x-api-key: YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "merchant_id": "MERCHANT-001",
    "subtotal_cents": 523,
    "tax_total_cents": 200,
    "payment_method": "ebt",
    "state": "AZ"
  }'
```

The response will include:

```json theme={null}
{
  "transaction": {
    "calculation": {
      "rounding_delta_cents": 0,
      "rounding_applied": false,
      "cash_rounding_mode": "none",
      "ebt_compliance_flag": "7 CFR 278.2 compliance flag for EBT transactions"
    }
  }
}
```

## Split tender transactions

If a transaction uses both cash and EBT (split tender), only the cash portion is subject to rounding. Set `is_split_tender: true` and include both tenders in the `tenders` array. The engine isolates the cash amount for rounding and leaves the EBT portion untouched.

<Warning>
  Overriding rounding on an EBT transaction is not permitted. If you submit a transaction with `payment_method: "ebt"` and also pass `cash_rounding_mode` with a non-`none` value, the API will reject the request with a validation error.
</Warning>
