> For the complete documentation index, see [llms.txt](https://docs.bitbond.com/asset-tokenization-suite/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.bitbond.com/asset-tokenization-suite/offering-manager/settings-and-configuration.md).

# Settings & Configuration

The **Settings** page lets you configure your organization details, bank details for wire transfers, payment providers, identity verification integrations, crypto wallet configuration, custody providers, API access, webhooks, custom domains, and legal agreements.

## Organization Details

* **Organization Name** — Your company or project name. This appears in the admin panel and in all communications.
* **Portal URL slug** — The slug for your public **Invest Page** URLs (e.g. `acme-gmbh`). Your Invest Page will be available at

  ```
  https://om.bitbond.com/invest/[slug]/
  ```
* **Reply-To Email** — The email address used as the reply-to for all investor-facing emails (order confirmations, payment reminders, etc.). Emails are sent from Bitbond, but replies go to this address.
* **Allow search engines and AI assistants to discover your portal** — When enabled, your portal and its offerings are indexed by search engines and AI assistants. When disabled, `<meta name="robots" content="noindex">` directives prevent discovery, and only investors with a direct link can access your portal. If you disable discovery while you have offerings with per-offering discoverability turned on, a notice will remind you that those offerings will be hidden from search results.

Click **Save** after making any changes.

***

## Integrations

The **Integrations** section covers all payment rails, KYC/KYB providers, crypto wallet configuration, and investor custody settings. Click **Save** after updating any credentials or settings. To remove a stored credential (for example, a custody API key), click the **Clear** button next to the input and then **Save** to delete the stored value.

### Bank Details for Wire Transfers

If you accept wire transfer payments, add one or more SEPA bank accounts here. Each account requires:

* **Bank Name** — The bank’s name (e.g., “Deutsche Bank”).
* **Account Holder Name** — Your legal account holder name.
* **IBAN** — International Bank Account Number.
* **BIC / SWIFT** — Bank Identifier Code.

You can also set:

* **Currency** — The 3-letter ISO currency code; investor orders denominated in this currency are routed to this account.
* **Primary** — Exactly one account may be marked primary. The primary account is used when no account matches an order’s currency.

#### How investors are routed

1. Match the offering’s `base_currency` to a bank account `currency` (case-insensitive).
2. If no exact match exists, fall back to the **primary** account.
3. If no match and no primary is configured, the order is rejected at checkout.

Add at least one account to enable the **Bank Transfer** payment method when creating or editing offerings.

***

### Card Payments ([Checkout.com](https://www.checkout.com))

\[Checkout.com] processes credit and debit card payments (Visa, Mastercard) for your offerings. Configure:

* **Secret Key** (`sk_…`) — Your secret API key. Found under **Settings → Keys** in the Checkout.com dashboard.
* **Public Key** (`pk_…`) — Used to initialize the card payment widget on the investor checkout page. Safe to expose on the frontend.
* **Webhook Secret** — Used to verify incoming payment notification webhooks. Found under **Settings → Webhooks** in the Checkout.com dashboard.
* **Processing Channel ID** — Optional channel identifier for routing transactions within Checkout.com. Found under **Settings → Processing Channels**.

Click **Save** after entering or updating credentials.

***

### Crypto Payments ([Coinbase Commerce](https://www.coinbase.com/commerce))

\[Coinbase Commerce] is our recommended hosted PSP for accepting crypto payments. You can choose to keep proceeds as cryptocurrency or settle to fiat manually.

* **Coinbase Commerce API Key** — Found under **API keys** in your Coinbase Commerce dashboard.
* **Coinbase Commerce Webhook Secret** — Used to verify incoming webhooks. Set this under **Webhook subscriptions** in the Coinbase Commerce dashboard.
* **Accepted Assets** — A comma-separated list of asset symbols (e.g. `USDC, USDT`).
* **Accepted Chains** — A comma-separated list of blockchain names for hosted checkout (e.g. `ethereum, polygon`).
* **Settlement Preference** — Choose `keep_crypto` or `cashout_manual` to control how Coinbase settles proceeds.

Click **Save** after entering or updating credentials.

***

### Stablecoin Payments (Direct On-Chain)

Extended public keys (xPub) allow the system to generate unique deposit addresses for each investor without exposing private keys. The Offering Manager never holds or has access to your private keys.

* **EVM xPub (HD Wallet)** — Export your xPub from your HD wallet (e.g., Ledger, Trezor, or any BIP-44 compatible wallet). Used to derive unique Ethereum/EVM deposit addresses for stablecoin payments (USDC, USDT, etc.).

Once an EVM xPub is configured, the direct **Stablecoin** payment method becomes available when creating or editing offerings.

***

### KYC / Identity Verification

You can choose one or both supported providers to verify investor identity before they can invest:

#### Sumsub

Sign up at [Sumsub](https://sumsub.com) and generate your credentials:

* **App Token** — Generated under **Developers → Integration** in the Sumsub dashboard.
* **Secret Key** — Generated alongside the App Token. Used to sign API requests and verify webhooks.
* **Webhook Secret** — Copy or generate this in your Sumsub **Webhook settings** to validate incoming notifications.
* **KYC Level** — Select the verification level (e.g. `basic`, `enhanced`).
* **KYB Level** — If you perform business verification, select the appropriate level.

#### Blockpass

Sign up at [Blockpass](https://www.blockpass.org) and create a service:

* **Client ID** — Found in your Blockpass service dashboard.
* **Webhook Secret** — Set and copy this secret in your service’s webhook configuration.

Click **Save** after entering or updating any credentials.

***

### Investor Custody

You can require investors to bring their own wallet (BYO), let them choose, or provision a custodial wallet via a supported custody provider. Select your provider under **Custody Provider**, then configure credentials for [Tangany](https://tangany.com) or Fireblocks.

#### Tangany

\[Tangany] is a custodial solution for EVM-compatible chains and stablecoins.

* **Custody Provider** — Select **Tangany** to enable custodial wallets.
* **Default Investor Wallet Policy** — Choose one of:
  * `byo_only` — Investor must use their own wallet.
  * `investor_choice` — Investor may select BYO or custodial.
  * `custodial_only` — A custodial wallet is provisioned for the investor.
* **Tangany Subscription** — Your Tangany subscription ID.
* **API Base URL** — Your Tangany API base endpoint (e.g. `https://api.tangany.com`).
* **Auth Base URL** — Your Tangany authentication endpoint.
* **Client ID** & **Client Secret** — Credentials from your Tangany dashboard.
* **Wallet Label Template** — A naming template for custodial wallets (e.g. `{{ investor.email }}`).

To remove a stored Tangany credential, click **Clear** next to the field and save.

#### Fireblocks

Fireblocks provides multi-chain custody across EVM, Solana, Stellar, and XRPL.

* **Custody Provider** — Select **Fireblocks** to enable Fireblocks vault provisioning.
* **Default Investor Wallet Policy** — Same options as Tangany (`byo_only`, `investor_choice`, `custodial_only`).
* **Fireblocks API Key** — Your public API key from the Fireblocks dashboard.
* **Fireblocks Private Key (PEM)** — The private key in PEM format associated with your API key.
* **Fireblocks API Base URL** — The base endpoint for Fireblocks API calls.
* **Vault Name Template** — A naming template for newly created vault accounts (e.g. `Investor-{{ investor.id }}`).
* **Asset ID Overrides** — Optional per-chain asset identifiers. Supported families: `evm`, `stellar`, `solana`, `xrpl`. Leave blank to use built-in defaults.

To remove a stored Fireblocks credential, click **Clear** next to the field and save. Click **Save** after entering or updating any custody credentials.

***

## API Access

Generate an API key for programmatic access to your offerings, orders, investors, bank accounts, and settings. API access is available on the **Enterprise** plan.

* Click **Generate API Key** to create or rotate your key. Rotation invalidates the previous key immediately.
* The key is displayed only once — copy it immediately and store it securely.
* Use the key in the `Authorization` header (`Bearer <API_KEY>`) of server-to-server API requests.
* Browse the interactive OpenAPI reference at <https://om.bitbond.com/api/docs>.
* Call the API at <https://api.om.bitbond.com/api/...>.
* For an overview of endpoints and usage examples, see [API Overview](https://docs.bitbond.com/asset-tokenization-suite/offering-manager/api-overview.md).

If you’d like to upgrade to Enterprise for full programmatic control, please contact sales: <https://www.bitbond.com/contact>.

***

## Webhooks & Event Subscriptions

Use the **Webhooks** section to configure outbound callbacks for platform events (orders, payments, KYC updates, etc.):

1. Add one or more webhook endpoints.
2. Subscribe to the events you want to receive (e.g. `order.created`, `investor.kyc.completed`).
3. Provide a signing secret to validate incoming webhook deliveries.
4. Click **Save** to register your endpoint.

If any webhook endpoint has a failure rate above 20% in the last 24 hours, a **Webhook Health Alert** will appear at the top of the page, showing failure details and endpoints. Investigate and retry as needed.

***

## Custom Investor Domain

By default, your **Invest Page** is hosted at:

```
https://om.bitbond.com/invest/[slug]/[offering-slug]
```

To use your own domain (e.g. `sto.acme.com`), a **Professional** plan is required.

1. Enter your custom domain (e.g. `sto.acme.com`) in the **Custom Domain** field.
2. Click **Save Domain**.
3. Follow the DNS configuration instructions:
   * Create a CNAME record pointing your domain to `om.bitbond.com`.
   * (Optional) Route through [Cloudflare](https://cloudflare.com) with the Proxy/SSL feature enabled so Cloudflare handles HTTPS.
4. Wait for DNS propagation (up to 24 hours).

To remove the custom domain, clear the field and click **Save Domain**.

To upgrade from the Free plan to Professional, visit the <https://om.bitbond.com/admin/billing> area.

***

## Data Processing Agreement (DPA)

The **Data Processing Agreement** section shows your acceptance status for the current GDPR-compliant DPA.

* If **accepted**, you’ll see the date, version, and who accepted it.
* If the accepted version is outdated, you’ll be prompted to re-accept the current DPA.
* Click **View accepted DPA** to read the text you previously accepted.
* If **not yet accepted**, contact your Bitbond representative or support to complete the acceptance flow.

Ensure a current DPA is in place before collecting personal data from investors.


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://docs.bitbond.com/asset-tokenization-suite/offering-manager/settings-and-configuration.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
