Investor Custody
This page describes how to configure and manage custodial investor wallets using a supported custody provider (Tangany or Fireblocks) in the Offering Manager.
GDPR note for issuers. Coinbase Commerce, Tangany, and Fireblocks are integration partners, not Bitbond sub-processors. The contract for any of these services is concluded directly between you (the Issuer) and the vendor — Bitbond GmbH only provides the technical integration and is not a party to that data-protection relationship. Before you activate one of these integrations in production, you must:
Execute your own data processing agreement (or equivalent) with the vendor (Coinbase Commerce, Tangany GmbH, or Fireblocks Ltd.). Bitbond's DPA with you does not cover this relationship.
Name the vendor in your own investor-facing privacy policy (linked from each offering's "Privacy Policy URL" field), including the categories of personal data shared and the international-transfer mechanism (SCCs, adequacy decision, etc.). Investors who land on your Invest Page see your privacy policy first, not Bitbond's.
Verify the vendor's processing locations and safeguards match what you've disclosed to your investors.
Bitbond's own Privacy Policy discloses these optional integrations as a matter of transparency but does not list them as Bitbond sub-processors.
Configure a Custody Provider
In the Admin UI, go to Settings > Integrations.
Locate the Investor Custody card and select Configure.
Choose a provider:
Tangany (Tangany)
Fireblocks (Fireblocks)
Choose a Default Wallet Policy for your offerings:
byo_only(BYO only)investor_choice(Investor choice)custodial_only(Custodial only)
Enter the required credentials and settings for the selected provider:
Tangany
Tangany Subscription
Client ID
Client Secret
API Base URL (optional)
Auth Base URL (optional)
Wallet Label Template (optional) – a string template for wallet labels. You can include:
{tenantId}– first 8 characters of your tenant ID{userId}– first 8 characters of the investor’s user ID{chain}– chain type (e.g.evm)
Fireblocks
Fireblocks API Key
Fireblocks Private Key (PEM)
API Base URL (optional)
Vault Name Template (optional) – a string template for vault account names. You can include:
{tenantId}– first 8 characters of your tenant ID{userId}– first 8 characters of the investor’s user ID
Chain Asset Overrides (optional) – map each chain to the Fireblocks asset ID. Click Load supported assets to fetch available asset IDs from Fireblocks, then select or enter the correct ID per chain (for example,
evm: ETH,polygon: MATIC_POLYGON,solana: SOL).
Click Test Connection to verify connectivity and, for Fireblocks, list vaults.
After a successful test, click Save to apply the settings.
Set the Investor Wallet Policy per Offering
Each offering can override the default wallet policy:
Go to Offerings and select an existing offering or create a new one.
Open the Invest Page tab in the Invest Page Builder.
In the Wallet Policy section, choose one of:
BYO only (
byo_only)Investor choice (
investor_choice)Custodial only (
custodial_only)
Click Save.
Investor Checkout Experience
The wallet options displayed during checkout depend on the policy:
BYO only (
byo_only): Investors must connect an external wallet (e.g. MetaMask) to complete a purchase.Investor choice (
investor_choice): Investors can either connect their own wallet or opt for a custodial wallet without an external connection.Custodial only (
custodial_only): A custodial wallet is created automatically after KYC approval. No external wallet connection is required.
Supported Chains
Tangany supports EVM chains only.
Fireblocks supports EVM, Solana, and all assets available in your Fireblocks vault. Use the Chain Asset Overrides field in the integration settings to select which asset ID to use on each chain.
Custodial Wallet Provisioning Lifecycle
When the investor places their first order on a new chain, a custodial wallet for that chain is provisioned in the background.
Provisioning runs asynchronously; the status updates to active or failed once complete.
You can also manually provision or retry provisioning in the Admin UI.
Manual Provisioning and Retry
To provision a custody account before checkout:
Go to Admin > Investors and select an investor.
In the Custody section, click Provision Now.
Note: The investor must have an approved KYC status before provisioning can succeed. This action is idempotent — if an account already exists, it will return the existing account.
To retry failed provisioning jobs:
In the same Custody section, locate the failed account or wallet.
Click Retry to re-queue all failed account and wallet provisioning jobs for that investor.
Monitor Custody Status
Investors list: Navigate to Admin > Investors, select an investor, and open the Custody section to view:
Account status (
pending,active,failed)Wallet list with chain, address, status, and error details
Retry controls for failed items
Orders list: Under Admin > Offerings > select an offering > Orders, open an order to see:
Custodial wallet address (if used)
Provisioning status and retry options for the associated wallets
API Reference
Browse the docs at https://om.bitbond.com/api/docs.
Call the API at https://api.om.bitbond.com under /api/....
Key custody endpoints include:
POST https://api.om.bitbond.com/api/issuer/custody/test-connection – verify configured provider credentials (returns
ok,vaults, and error details if any).GET https://api.om.bitbond.com/api/issuer/custody/fireblocks/supported-assets[?refresh=1] – fetch available Fireblocks asset IDs by chain; use
?refresh=1to bypass the cache.GET https://api.om.bitbond.com/api/issuer/custody/accounts/:userId – retrieve an investor’s custody account and wallet status.
POST https://api.om.bitbond.com/api/issuer/custody/accounts/:accountId/retry – re-queue failed provisioning jobs for an account.
Last updated
Was this helpful?