---
title: Markets
slug: markets
docTags: 
createdAt: 2026-09-14T23:41:45.479Z
---

**Markets** let a single bot serve different UI, greeting, and responses per location. You select
which market to load by passing a `market` slug to `start(...)`. The backend is told the same
market so it can localize the conversation (greeting and responses).

:::BlockQuote
`market`**&#x20;is required.** You must pass the market slug configured for your bot — there is no
default and no fallback. Find your market slugs in the Kindly platform
(Settings → General → Details & markets).
:::

## Selecting a market

Pass the market slug (as configured in the Kindly platform, e.g. `eu`, `us`, `general`) when you
initialize the SDK:

```swift
KindlySDK.start(botKey: "YOUR_BOT_KEY", languageCode: "en", market: "eu")
```

With authentication:

```swift
KindlySDK.start(botKey: "YOUR_BOT_KEY", languageCode: "en", market: "eu") { chatId, promise in
    promise.fulfill("JWT_TOKEN")                                          // market + auth callback
}
```

## What the SDK does with the market

1. **Settings** — it loads the market-specific settings (theme, greeting config, compliance,
   localization) from `/settings/{botKey}/{market}.json`.
2. **Connect** — it includes the market in the `/connect` request so the backend serves the
   greeting and bot responses configured for that market.

## No fallback

Settings are always market-scoped. The SDK loads the requested market's settings (with retries);
if they can't be loaded, settings loading fails and the chat will not load. There is **no**
**fallback** to another market and no base/per-bot settings file outside of markets — make sure the
slug you pass exists and has published settings for your bot.

## Notes

- The market is fixed for the lifetime of the session. To switch markets, call `start(...)` again
  with a different `market` (the SDK reinitializes just as it does for a bot-key change).
- The market does not change the language. Use `languageCode` / `setLanguage(_:)` for language;
  use `market` for the location-specific content set.

For initialization basics, see [Initialization](initialization.md).
