> **Can't find what you're looking for?** Use `search_docs` on the docs MCP server at `https://www.openfort.io/api/mcp` to find what you need.
>
> **Have feedback?** Use `submit_feedback` on the same MCP server.

# Ecosystem dashboard configuration

:::note
Creating your own cross-app wallet is an **enterprise feature**. To enable it, please [contact us](https://t.me/joalavedra)
:::

Use the **customization** page of the dashboard to configure your ecosystem's brand settings, including name, logo, accent color, and legal policies.

<img alt="whitelabel_dashboard" src="https://www.openfort.io/images/blog/whitelabel_dashboard_ef523dc779.png" width="100%" height="100%" />

## Customization options

| Customization  | Description |
| ------------- |-------------|
| Domain      | Choose where to host your dashboard     |
| Name | Ecosystem name as you'd like to present it to users
| Logo      | Ecosystem logo     |
| Brand color      | Accent color for your ecosystem     |
| Legal      | Used to set your own terms & conditions, and your privacy policy.     |
| SDK links      | Client SDKs     |
| Example links      | Template examples using the ecosystem SDKs     |

## Keys your projects need

Your wallet UI reads three values from the dashboard. Collect them before you run the [quickstart](https://www.openfort.io/docs/products/cross-app-wallet/setup/react/quickstart):

| Value | Where to find it | What reads it |
| ----- | ---------------- | ------------- |
| Ecosystem ID | [Settings, project overview](https://dashboard.openfort.io/settings/project/overview) | The `ecosystemId` prop of `OpenfortProvider` in your wallet UI |
| Publishable key | [API keys](https://dashboard.openfort.io/api-keys) | The `publishableKey` prop of `OpenfortProvider` |
| Shield publishable key | The Shield section of the [API keys](https://dashboard.openfort.io/api-keys) page | `embeddedSignerConfiguration` in your wallet UI, for non-custodial wallet recovery |

## What stays in code

The dashboard sets the ecosystem's identity; the SDKs set how the wallet behaves. Configure these in your own projects instead:

* `ecosystemWalletDomain` and `windowStrategy` in the Client SDK `baseConfig`, which decide where the wallet UI is hosted and whether it renders as an iframe or a popup. See [wallet design and routing](https://www.openfort.io/docs/products/cross-app-wallet/setup/react/wallet-ui).
* The `appearance` object of the Client SDK (`icon`, `logo`, `name`, `reverseDomainNameSystem`), which is what applications discover through [EIP-6963](https://eips.ethereum.org/EIPS/eip-6963). See [branding your cross-app wallet](https://www.openfort.io/docs/products/cross-app-wallet/setup/react/branding).
* The `theme`, `customTheme`, and `logoUrl` props of `EcosystemProvider`, which style the wallet screens themselves.

Gas sponsorship is not part of the customization page either: create a policy under [policies](https://dashboard.openfort.io/policies) and pass its ID as described in [gas policies](https://www.openfort.io/docs/products/cross-app-wallet/usage/gas-policies).
