Add a reporting currency
Add a currency to your organization's exchange-rate feeds, read the latest rate snapshot, and troubleshoot a failed Save additions from the Currencies & exchange rates settings page.
When your organisation needs valuations in a currency it does not yet track, open the Currencies & exchange rates page and save the new entry. The platform provisions an exchange-rate feed for that pair, and token prices, NAV reporting, and portfolio views resolve values into the new currency. Adding currencies requires an organisation admin or system manager role.
Before you start
Confirm these are true for the active organisation before you add a currency:
- Your organisation has a deployed system. Exchange-rate feeds are created on-chain, so the page can only add currencies once the feed infrastructure exists.
- The currency you want is one the configured exchange-rate provider can serve. The picker is scoped to the provider's supported list. When the provider snapshot is still loading, the picker falls back to the full ISO 4217 list, and a currency the provider cannot serve is rejected when you save.
- You understand that adding a currency is permanent. DALP does not remove a currency's on-chain feed once created, because historical valuations, NAV reporting, and portfolio views may already depend on that feed.
Add a currency
Open the Currencies & exchange rates page
In the Console, go to Organisation settings > Exchange rates. The page shows two sections: Target currencies, where you manage the currencies your organisation tracks, and Latest rates, a read-only snapshot of recorded rates.
Review the enabled currencies
The Target currencies section lists every currency already enabled for the organisation. The base currency is marked as the default. You cannot add a currency already enabled, and you cannot remove one that is listed.
If the enabled list cannot be read, the section shows an error message such as Couldn't load enabled currencies. Refresh to try again. instead of an empty list. Treat this as unknown, not zero. The organisation may still have currencies enabled. Refresh the page before adding anything, because the currency picker hides already-enabled entries and cannot do so reliably while the list is unknown. If the refresh still has the last-known list cached, the section keeps showing those currencies rather than blanking them.
Pick the currencies to add
Use the currency picker to select one or more currencies. Only currencies not already enabled appear in the list.
Type in the search box to narrow the list. The picker matches by ISO 4217 code, currency name, and country name, so you can find a currency without knowing its code. Searching Malaysia or Malaysian Ringgit both surface MYR. Matching ignores case and accents, and each option is labelled Currency name (CODE) so you can confirm the right one before you select it.
Save the additions
Choose Save additions. DALP creates an issuer-signed exchange-rate feed for each new currency pair against your base currency. A newly added currency can appear before its first rate is ready, because the refresh cycle publishes values after the feed is created on-chain.
If the save cannot complete, the page does not persist the currency and shows the specific reason rather than a generic message. See the troubleshooting guide to decide whether to retry or fix the cause first.
Troubleshoot a failed Save additions
When Save additions cannot create the feed, DALP leaves the currency unsaved and reports the actual cause. Some causes clear on their own and are safe to retry; others are permanent until you change something, so retrying the same request will not help. Read the message before you try again.
| What the page reports | Why it happens | What to do | Safe to retry as-is |
|---|---|---|---|
| The currency is not supported | The configured exchange-rate provider cannot serve that code. | Pick a currency the provider supports, or wait for the next provider refresh if you expect the code to appear. | No |
| Your permissions do not allow adding currencies | Your wallet is not yet recorded as able to manage exchange-rate feeds for this system. | Ask a system manager to grant you the exchange-rate feeds role, then save again. If the role was just granted, wait for it to be picked up and retry. | Sometimes |
| No wallet bound to the admin account | The calling admin account has no wallet bound, so the feed creation cannot be queued. | Bind a wallet to the admin account, then save again. | No |
| Setup is not finished yet | The organisation still needs a deployed system and base currency before feeds can be created. | Finish platform setup, confirm the base currency, then add currencies. | No |
| This system cannot host exchange-rate feeds | The active chain does not provide the feed infrastructure exchange-rate currencies need. | Use a system on a chain that supports exchange-rate feeds, or drop the new currency from the request. | No |
| The platform is still catching up | Recent on-chain changes, such as a just-granted role or a new deployment, are not yet indexed. | Wait for indexing to catch up, then save again. | Yes |
| The feed queue could not accept the request | The workflow that creates the on-chain feed was not durably accepted. | Retry the request. If it continues, contact support with the request id. | Yes |
The currency is only saved once its feed is created, so a failed save never leaves a half-added currency behind. For the full list of returned error codes and their retry behaviour, see the Platform API error reference. To confirm which roles administer exchange-rate feeds, see the Admin operating model.
Read the latest rates
The Latest rates section is a read-only snapshot of the rates the scheduled refresh recorded. You do not edit rates here. Values come from the refresh cycle that updates the on-chain FX feeds.
| Column | What it shows |
|---|---|
| Currency pair | The base and quote currency for the rate. |
| Exchange rate | The most recent rate the refresh cycle wrote for that pair. |
| Last updated | When the recorded value was last refreshed. |
| Status | Whether the recorded value is fresh, stale, or has no recorded value yet. |
A newly added currency shows no rate until the refresh cycle publishes its first value. If a pair shows a stale status, the recorded value is older than the expected refresh window; check the feed and provider configuration for that pair.
What you cannot do here
| Limit | What it means |
|---|---|
| No currency removal | Enabled currencies stay enabled. Their feeds are registered on-chain and may already back historical reporting, so they are not removed. |
| Provider-supported only | You can only add a currency the configured exchange-rate provider can serve. Unsupported codes are rejected on save. |
| Rates are read-only | The rate table reflects the scheduled refresh. You do not publish or edit rates from this page. |
| System must be ready | Adding a currency requires a deployed system with feed infrastructure in place. Add currencies after setup, not before. |
Related guides
How to replace or remove a data feed
Change the feed address for an existing subject and topic, or remove a feed registration from the Feeds Directory.
System addons overview
Understand how DALP system addons are discovered, installed, and operated across settlement, distribution, yield, fee, feed, conversion, and infrastructure workflows.