# Refunds & cancellation

Grantor's billing is prepaid and custodial to nobody, so cancelling is not a
support ticket — it is **withdrawing your own money**.

## How it works

You top up USDC into a **public contract**. Each billing period, one period's
fee is drawn to the treasury. At any time, `withdrawBalance` returns **any
undrawn balance** to an address you choose. There is **no minimum, no lock-in,
and nobody to email** to cancel.

## What's refundable

**Only consumed periods are non-refundable.** A period already drawn is service
rendered. Everything you have not consumed is yours to withdraw, in full, at any
time.

## Enforced by an invariant, not a policy

The contract has **no owner power to move tenant balances**, and an invariant
test asserts that its USDC holdings **always equal the sum of all tenant
balances**. The refund guarantee is therefore a **property of the code**, not a
promise from a support team — it cannot quietly not-happen.

## No forced renewal

A tenant can disable auto-renewal, so a third party cannot force-renew a tenant
that is winding down. You are never billed a period you didn't intend to keep.

## Contact

[dev@chaingrantor.com](mailto:dev@chaingrantor.com).

*Unaudited developer preview: the mechanism above is what ships; this page
describes it.*