# Branding and project settings

Each project has its own branding, shown on the hosted checkout and payment links. Edit it under
**Project settings → Branding** (project admin). The card shows a live preview of the checkout as you type.

## Options

| Setting | Notes |
|---|---|
| Store name | Up to 80 characters. Shown at the top of the checkout and in the page title |
| Logo | Upload a PNG, JPEG or WebP image up to 2 MB, or give an `https://` image URL. See below |
| Accent colour | A hex colour (`#22c55e`) or one of the swatches. Used for highlights and progress. Green and red always mean paid and failed |
| Checkout theme | `dark` or `light` |
| Message on checkout | Up to 280 characters of plain text, for example delivery times or a thank-you |
| Support email, support URL | Shown as links at the foot of the checkout |
| Return URL | Shown as a "Return to {store}" button once the payment is complete |
| Payment link expiry | Hours before an unpaid payment is cancelled (default 24) |

The return and support URLs must be `https://` (on testnet, `http://localhost` is also allowed for testing).

## Logos

Uploading is the recommended option. The server:

1. accepts only PNG, JPEG and WebP. SVG is refused, because it can carry scripts;
2. checks the image's pixel dimensions before decoding it, so oversized images can't exhaust memory;
3. scales it to fit within 512 × 512 pixels and re-encodes it as PNG, which strips metadata such as GPS
   location from photos;
4. stores it in the database and serves it from your own domain at
   `/branding/{project}/logo-{hash}.png`. It is cached for a year, with the content hash changing on
   every new upload, and served with a restrictive content security policy.

A logo URL works too, but the customer's browser loads it from that host, which then learns who visits your
checkout. Uploading keeps that private.

To remove a logo, click **Remove** under the logo, then save.

## Other project settings

- **Sweeps:**
  - activation minimum: a deposit contract is only deployed once an address holds this much;
  - amount, address-count and time triggers. See [Architecture](https://coldtill.com/docs/architecture.md#sweeps).
- **Payout limits:** minimum, auto-approve amount, hourly and daily limits. See [Payouts](https://coldtill.com/docs/payouts.md).
- **Auto-convert:** settlement asset, slippage and the THORChain fallback. See [Auto-convert](https://coldtill.com/docs/auto-convert.md).
- **Members:** add users to the project with a role. See [Users and roles](https://coldtill.com/docs/install.md#users-and-roles).

## Checkout behaviour

The hosted checkout at `/pay/{reference_id}`:

- lets the customer pick a network and currency, unless the payment was created for a specific one;
- shows the address as text and as a QR code, the exact amount, and a countdown to expiry;
- updates live as deposits arrive and gain confirmations;
- offers auto-convert options when enabled;
- once paid, shows a confirmation and the return button if you set a return URL.

It sets a strict content security policy and can't be embedded in frames. Link to it rather than iframing it.

---

Source: https://coldtill.com/docs/branding/ · All Coldtill docs: https://coldtill.com/llms.txt
