Viewing currencies
Navigate to Settings > Currencies (/admin/settings/currency). The list shows all currencies with their type, code, symbol, exchange rate, logo, status, and the crypto provider linked to each crypto currency (if any).
Required permission: view_currency
Currency data model
Currencies are stored in thecurrencies table with the following key fields:
Currency model fillable fields
Adding a currency
Navigate to/admin/settings/add_currency. Required permission: add_currency.
- Fiat currency
- Crypto currency
Fill in the required fields
- Name, code, symbol (all required)
- Exchange rate — must be a number greater than 0.0001
- Exchange from — the base currency for rate calculation (required for fiat)
- Status (
ActiveorInactive) - Logo — optional image, resized to 64×64 px on upload
Editing a currency
Navigate to/admin/settings/edit_currency/{id}. Required permission: edit_currency.
All fields can be updated with the following restrictions:
- The default currency’s exchange rate must remain
1. Attempting to change it raises an error. - A currency with active module usage (for example, a BlockIo-linked currency) cannot be set to
Inactive. - The default currency’s status is always forced to
Activeand itsdefaultflag stays1.
Setting exchange rates
Exchange rates for fiat currencies are set manually via the Rate field when adding or editing a currency. The rate is relative to the platform’s default currency. For automatic rate updates, configure the currency conversion rate API at Settings > Currency conversion rate API (/admin/settings/currency-conversion-rate-api). When active, this API periodically refreshes the rate field for all fiat currencies.
Crypto currency rates are not stored statically. Rates are fetched at transaction time from the configured crypto provider.
Wallet creation for currencies
When editing an existing currency, you can enable the Create wallet option. When checked, Doss automatically creates wallets for all currently active users who do not already have a wallet in that currency. This is handled byCurrencyController::createUsersWallet(), which iterates active users and inserts Wallet records where none exist.
Enabling and disabling currencies
Set the Status field toActive or Inactive when creating or editing. Inactive currencies are hidden from user-facing features but their historical data is preserved.
Deleting a currency
Navigate to/admin/settings/delete_currency/{id}. Required permission: delete_currency.
A currency cannot be deleted if:
- It is the default currency (
default = 1) - It has any existing transactions (
Transactionrecords withcurrency_id) - It is referenced by an active module
public/uploads/currency_logos/.
Currency logo management
- Upload — include a
logofile in the add or edit form. Accepted formats followgetFileExtensions(3). The image is resized to 64×64 px. - Delete logo only — POST to
/admin/settings/currency/delete-currency-logowith thecurrency_idandlogofilename. The logo column is set tonulland the file is deleted from disk.
Crypto provider settings
Crypto currencies can be linked to a crypto payment provider (such as BlockIo or CoinPayments). The relationship is stored viaCryptoAssetSetting, which maps a currency to a CryptoProvider record.
To configure crypto providers, navigate to Crypto providers (/admin/crypto-providers/{provider}). Required permission: view_crypto_provider.
From this page you can:
- View all currencies linked to the provider and their network settings
- Enable or disable the provider by toggling its status (
POST /admin/crypto-provider/{provider}/status-change)
edit_crypto_provider
The crypto provider list is populated from the
crypto_providers table. Each provider has an alias that matches the Laravel module name (for example, BlockIo maps to the BlockIo module).Currency relationships
Each currency participates in the following relationships used across the platform:| Relationship | Model | Description |
|---|---|---|
fees_limit | FeesLimit | Fee and limit rules per transaction type |
currency_payment_method | CurrencyPaymentMethod | Payment gateway credentials |
bank | Bank | Bank accounts for bank transfer |
cryptoAssetSetting | CryptoAssetSetting | Linked crypto provider and network config |
wallet | Wallet | User wallets denominated in this currency |
transaction | Transaction | All transactions in this currency |