# Go live

> What has to be true before live keys work, and what changes when they do.

Source: https://docs.borga.is/go-live

Live mode is switched on per merchant once Borga has verified the business and the card acquirer has approved it. The dashboard tracks the steps under **Settings → Live environment**.

**Accept the terms of service**

An owner or admin accepts the current Terms of Service in the dashboard. Live actions are refused with `terms_not_accepted` until this is done.

**Verify your company with Kenni**

Click **Verify your business** and authenticate the company through Kenni. Kenni confirms that you hold procuration (prókúra) for the company and returns its kennitala. The token must be fresh (under five minutes old), so do this in one sitting.

**Borga applies for a card terminal**

Borga submits your merchant to the card acquirer as a sub-merchant. This is manual on Borga's side today and usually takes one to three business days. The dashboard shows `pending` while the application is open.

**Live mode is enabled**

When the acquirer approves, Borga stores your live terminal and enables live mode. The **Live environment** page turns green, and you can create live API keys under **Developers**.

## Before you flip the switch

- **Allowed redirect domains.** Add every domain your `return_url` and `cancel_url` use under **Settings → Account**. Live sessions reject anything else with `redirect_url_not_allowed`.
- **Publishable key origins.** If you use embedded checkout, create a live publishable key and add your production origins to it.
- **Webhook endpoints.** Endpoints are per mode. Create a live endpoint under **Webhooks** and store its signing secret.
- **Accounting provider.** Connect PayDay or DK+ in live mode under **Settings → Accounting system**; the test-mode connection does not carry over. Without a connection, Borga records invoices but does not book them.
- **Bank invoices.** Enable them again for live mode under **Settings → Bank invoice** if you offer them.

## What changes in live mode

| | Test | Live |
| --- | --- | --- |
| Keys | `sk_test_`, `pk_test_` | `sk_live_`, `pk_live_` |
| Card processing | Processor staging, test cards | Your own terminal, real cards |
| Redirect URLs | `http://localhost` allowed | HTTPS on allowed domains only |
| Fees | None | Per transaction, see [pricing](/#pricing) |
| Data | Separate | Separate |

Nothing else changes: the same endpoints, request shapes and webhooks apply in both modes. Most teams keep a test key in staging environments permanently.
