The #1 Software Provider in Precious Metals Market
Check out our tutorials, technical guides, and API documentation.
Financial institutions, dealers, and wholesalers alike benefit from our powerful visualizations for both real-time and historical data.
Our dedicated support team is here to assist you with any questions or challenges you may face. Whether you need technical guidance or help navigating our services, we’re just a click away to provide the solutions you need.
At nFusion Solutions, our spot prices are sourced from a curated network of trusted global providers, including leading global exchanges and financial institutions like SIX-Group (Swiss Stock Exchange), Morningstar, UBS, Saxo Bank, Morgan Stanley, AFX, and BNP Paribas. We continuously monitor these real-time feeds using a proprietary confidence-scoring system to ensure the most accurate, timely, and reliable data.
Our system calculates a best bid and offer (BBO) by selecting the most trustworthy quotes and filtering out anomalies. From there, we derive a clean midpoint and construct balanced bid/ask prices tailored to current market conditions.
Want a deeper look at how it all works? Read our full guide on precious metals spot prices ›
If spot prices do not appear to be updating, it may be because the market is closed. Market hours for precious metals correspond to CME Globex hours for metals futures
To configure custom spot pricing for metals:
Log in to your nFusion Dashboard as an administrator.
Navigate to the “Metal Price Configuration” section on the home page.
Enable Custom Overrides by toggling the switch at the top of the section. Once enabled:
You’ll have the option to set an “Expires On” date. This determines when your custom pricing will expire and automatically revert to the global spot price.
Configure Spot Prices for Individual Metals:
Below the toggle and expiration date, you’ll see a table listing each supported metal:
Gold, Silver, Platinum, Palladium, Rhodium, and Copper.
For each metal, you can:
Set a Fixed Bid and/or Fixed Ask value to lock in a specific price.
Apply a Bid Adjustment or Ask Adjustment to automatically increase or decrease the spot price.
For example:
To set a fixed Ask price for Gold at $1,215.75, click the pencil icon for Gold, enter1215.75
in the Fixed Ask field, and save.
To adjust the price dynamically instead, enter0.5
in Ask Adjustment and-0.5
in Bid Adjustment to increase your Ask by 50¢ and decrease your Bid by 50¢ relative to the live spot price.
Edit Metal Pricing:
Click the pencil icon next to the metal you wish to configure. This will open an editing dialog where you can enter your desired values for the appropriate metal.
There are a number of factors that affect how spot prices are calculated and how they are displayed.
To access spot price data in either XML or JSON format, first log in to your nFusion Dashboard. From the dashboard:
Go to the Connections page and scroll down to the API Keys section.
Click the “View” button in the “Documentation” column for the corresponding Market Data API key to access detailed usage instructions, including supported formats and endpoints.
By default, API responses are returned in JSON. If you prefer XML, you can set the appropriate Accept header in your request (application/xml) or use the format query parameter (e.g., ?format=xml). We recommend using JSON (application/json) for most use cases due to its widespread compatibility and performance.
To access the nFusion Solutions APIs, you’ll need one or more API tokens, depending on your use case. To find your API tokens:
Your API tokens are sensitive credentials and should be kept secret. Never expose them in client-side code (e.g., JavaScript running in the browser), as this can allow others to view and misuse your token. Instead, route requests through your own server using a secure proxy, such as:
https://yoursite.com/proxy/metals/spot
This server-side proxy can safely call nFusion APIs using your token while keeping it hidden from the public.
To improve performance and reduce redundant API calls, we strongly recommend implementing caching on your proxy server. This ensures that multiple client-side requests don’t result in a 1:1 call ratio to nFusion APIs.
When making API requests, use the following HTTP headers as appropriate:
For further guidance, refer to the API documentation linked from your Dashboard.
An HTTP 403 (Forbidden) response with substatus 502 typically means your API requests have exceeded the rate limit. This happens when you make too many calls in a short period of time.
To resolve this, reduce the number of API requests you’re making per second. Implementing caching on your server or delaying certain requests can help stay within the allowed limits.
For high-frequency use cases, consider batching or aggregating your requests where possible to optimize efficiency and stay within allowed limits.
There are a number of reasons that widgets may fail to load on a page.
Sign in to the Alerts Services portal using your admin email address. Once you have logged in as the admin to the admin URL, you’ll see the following options:
Click on the second option—send a promotional message now to all users. This option allows the admin to push a message at any time to all users who have opted in to receive news and promotional messages. After clicking on the second option, you will be directed to a new page containing a text entry box where you may add your desired message. Once you have finished creating your message, simply click the Send button. Subsequently, a page will display the results of your message. These results contain information regarding the message. For example, you will be shown how many notifications were sent out with further detail pertaining to whether or not they were push or SMS notifications. This allows you to understand how many people your message is reaching and how it is reaching them, therefore allowing you to enhance your marketing strategies.
We have tested and confirmed compatibility with the three most popular multi-currency plugins in the WordPress plugin store. These plugins will work out of the box with our plugin as of version 2.9.9. If you are not using at least version 2.9.9 of our plugin, currency switching plugins may not be compatible. Please note the version with which they have been tested.
If you are not using one of the plugins that we have confirmed to be compatible in the list mentioned here, there are a couple of things to look for. Our plugin depends on the get woocommerce_currency() function which returns the current WooCommerce currency code. If your currency switcher plugin is not updating the WooCommerce currency then our plugin will not update the product prices with the new currency. The other thing that may be causing your plugin to not work properly is the priority at which the woocommerce_product_get_price filter is set. As of version 2.9.9, our Product Catalog plugin is setting the priority of the aforementioned filter to 10000 in an attempt for our hook to be run last. If the priority of said filter in the currency plugin is higher than 10000, it may be overriding the price that is being returned from the Product Catalog.
To do this, you must be using one of our supported currency switcher plugins. If you are using a supported currency switcher, you have two options:
1. Use our WordPress Charts & Widgets Plugin
As of version 1.2.4, our widgets plugin will work out of the box with any of the aforementioned supported currency switchers
2. Use our currency helper script
The currency helper script is implemented in a very similar fashion to our default widget scripts. You simply need to paste a script into the page where you would like to display the widget. If you would like to use this option, please visit our tutorial on how to implement the currency helper script.
You can now personalize the styling of your widgets effortlessly through our new Dashboard app! To get started, follow these steps:
Access the Widgets Page: Log in to your nFusion dashboard and navigate to the widgets page.
Edit a Widget: In the widgets page, locate the widget you want to customize, and click the ‘edit’ pencil icon in the actions column. This action will take you to the widget’s editor screen.
Customization Sections: On the widget’s editor screen, you’ll find two main sections:
Before You Begin:
Before uploading your custom CSS, we highly recommend reviewing our CSS best practices documentation to ensure that your styling is applied without any conflicts.
Uploading Custom CSS:
To upload your custom CSS file, follow these steps:
Preview Your Changes:
To see your customizations in action, return to the widgets page and click the ‘preview’ button for the widget you’ve just edited. This will open a widget preview page where you can view your new CSS styling.
Troubleshooting CSS Application:
If you find that your custom CSS is not being applied, consider the following solutions:
If none of the above solutions work, please contact our support team at support@nfusionsolutions.com. When reporting your issue, be sure to include all the steps you’ve taken to resolve the problem before reaching out. This will help us provide the quickest possible solution to your customization needs.
To do this, each widget must have a unique ID so that when they are loaded into the page, there are no javascript errors or conflicts. Therefore, when you are adding multiple instances of the same widget to a single page, you need to change the ID of the DIV element so that it is unique within that page; then, modify the src attribute within the script by adding “/your-id” to the end of the root domain. By changing the ID and modifying the src, you are telling the script which DIV element to load the chart into. For example, here is a default chart widget script that has been copied from the preview page:
<div id='c528ee05-722d-4762-a635-213197f7b8b4' style='width:100%;height:100%;'></div>
<script>
(function () {
var t = document.getElementsByTagName('script')[0];
var s = document.createElement('script');
s.async = true;
s.src =
'https://widget.nfusionsolutions.com/widget /script/chart/1/32796899-2cc3-4454-ac51-2c95c78799af/c528ee05-722d-4762-a635-213197f7b8b4';
t.parentNode.insertBefore(s, t);
})();
</script>
Now say you wanted to add another chart on the same page (maybe to change the selected symbol for example). Here is what it would look like to add a second instance of the same widget to a single page:
<div id='my-custom-id' style='width:100%;height:100%;'></div>
<script>
(function(){
var t = document.getElementsByTagName('script')[0];
var s = document.createElement('script'); s.async = true;
s.src = 'https://widget.nfusionsolutions.com/widget/script/chart/1/32796899-2cc3-4454-ac51-2c95c78799af/c528ee05-722d-4762-a635-213197f7b8b4/my-custom-id';
t.parentNode.insertBefore(s, t);
})();
</script>
Notice how everything is the same except for the DIV element ID and the end of the src attribute.
let button = $('.sample-button'), widget = $('#188e705d-23afa-45dd-fce21-09c8298af4f2'); button.click(changeSymbol()); function changeSymbol() { widget.children("iframe").attr("src", "https://widget.nfusionsolutions.com/widget/script/chart/1/6e98ae99-d878-43a2-81f0-a2528bd3d47e/5444e580-e249-426f-b07f-d23c19049c08" + "?selected= silver"); }
While logged in to the product catalog, navigate to the menu item in the upper right-hand corner of your screen within the navigation menu and click on the item that displays your username. Once you have clicked your username, a dropdown will appear with four options. Click on the second option, “password”. From here, you can simply create a new password. Enter the old password for the specified user and then enter the user’s new password. Last, confirm the new password to assure that it is correct. Once you have filled out all of the required fields in order to reset your password, click the submit button at the bottom of the form and it will submit your changes. Your new password will then take effect immediately.
Try to utilize the password reset functionality. At the login screen click on “can’t access your account”, then choose “work or school” account, then complete the prompts to initiate a password reset. If you are still unable to log in contact our support team.
To implement your widgets using our currency helper there are two simple steps.
1. To ensure that the helper script is available before attempting to use it, you must add the following script within your header:
<script src="https://widgetcdn.nfusionsolutions.com/asset/static/1/common/1/js/currency-interop.min.js"></script>
2. Now that the script is available to use, you can add a widget to the page by using code similar to the following:
<div id='YOUR-WIDGET-ID' style='width:100%;height:100%;'></div>
<script>
(function(){
nFSCurrencyHelper.init('YOUR-WIDGET-SCRIPT-SRC-URL');
})();
</script>
Simply replace “YOUR-WIDGET-ID” in the above script with the ID that is in your widgets preview page script. Then similarily, replace the “YOUR-WIDGET-SCRIPT-SRC-URL” with the url being assigned to the s.src variable that is in your widgets preview page script.
This script is very similar to our default widget scripts, with the exception that you need to use the “nFSCurrencyHelper.init” function and pass the function the widget’s src.
Open your web browser and visit either your nFusion Dashboard at https://dashboard.nfusionsolutions.com/ or your nFusion Catalog at https://nfusioncatalog.com/account/login?tenantalias={your_tenant_name}&scheme=AzureAdB2C. If you are not already logged in, you will be presented with the login page.
As you step into the nFusion Cloud of solutions, you can tap into the power of your existing Google, Microsoft, Apple, or Facebook accounts. For instance, if the email you received your Dashboard invite on is linked to a Google or Gmail account, a simple click on the Google button gets you authenticated in a snap making logging in a breeze!
Should your email address lack association with any of these four providers, there’s an alternative option. Just click “sign up now” at the top, and you can easily create a new account using your email address, alongside a password of your preference. This empowers you with the ability to establish a new account with ease.
In one of our latest releases to the Product Pricing Catalog, we’ve added an SSO (Single Sign On) feature that allows you to log into your Product Pricing Catalog and the Dashboard using the same user account! This will help streamline the process and minimize the time you spend logging into your nFusion applications!
To switch to this new way of Authentication, you need to navigate to the Users page of your nFusion Dashboard by visiting: https://dashboard.nfusionsolutions.com/en/pages/users
Here you’ll see a table of users that currently have access to your Product Catalog. To add your user record to this table, click the “Add user” under the users section of the page. Then enter your name and the email address to which you received your nFusion Dashboard invitation. Under “Role” select the role you would like to provide this user account with. The “Administrator” role allows both read and write access to products, product families, etc. whereas the “Sales” role is essentially a read-only view of the product catalog for those users who only need viewing access to the products within the Catalog. Once this information has been entered, click “Submit” towards the bottom left-hand corner of the page.
The user you’ve just added can now log into the catalog and you should have received an email to help you do so. To accept your invitation to join the Product Catalog, navigate to https://nfusioncatalog.com/account/login?tenantalias={your_tenant_name}&scheme=AzureAdB2C. Here is where you can tap into the power of your existing Google, Microsoft, Apple, or Facebook accounts. For instance, if the email you received your Dashboard invite on is linked to a Google or Gmail account, a simple click on the Google button gets you authenticated in a snap making logging in a breeze!
Now that you’re logged in using your new user account that is utilizing your personal social authentication method, you no longer need to log into the Dashboard using the old admin and or sales emails that were previously provided to you.
To use the nFusion Shopify app, you must have an active subscription to the nFusion Product Pricing Catalog service. If you don’t yet have a subscription, please contact our sales team.
1. Install the App
2. Configure App Settings:
Once installed, open the nFusion app from your Shopify admin and configure the following settings:
You can retrieve your API Key and available Sales Channels from within your nFusion Dashboard.
3. Set Up Your Sales Channel
You can either use an existing sales channel or create a new one (e.g., “Website”) within the nFusion Dashboard. This sales channel determines which products are synced to Shopify.
To learn how to assign products to a sales channel, please see the Sales Channel Assignment Setup Guide.
Important: The SKU for each product in the nFusion Dashboard must exactly match the corresponding product SKU in Shopify. Mismatched SKUs will prevent price updates.
4. Complete the Integration
Once all settings are configured, email support@nfusionsolutions.com to finalize the integration.
To use the nFusion plugin with WordPress/WooCommerce, you must have an active subscription to the nFusion Product Pricing Catalog. If you do not yet have a subscription, please contact our sales team.
1. Install and Activate the Plugin
2. Configure nFusion Settings
You can find this information in your nFusion Dashboard
3. Create or Select a Sales Channel
You can either use an existing sales channel or create a new one for this integration (e.g., “Website”) within the nFusion Dashboard.
To learn how to assign products to a sales channel, please see the Sales Channel Assignment Setup Guide.
Only products assigned to the selected sales channel will be eligible for automatic price updates.
4. Link WooCommerce Products to Catalog SKUs
Important: SKUs must match exactly between WooCommerce and the nFusion Catalog. Otherwise, price updates will not apply.
Once these steps are complete, your plugin should be fully integrated with the nFusion Product Pricing Catalog, and your WooCommerce products will begin receiving price updates automatically.
Our Product Catalog Plugin for WooCommerce will automatically enable product re-indexing if the Action Scheduler plugin is installed and active on your WordPress website.
Action Scheduler:
The Action Scheduler plugin is a scalable, traceable job queue for background processing large queues of tasks in WordPress. Designed for distribution in WordPress plugins – no server access required. Action Scheduler is developed and maintained by Automattic (the developers of WordPress & WooCommerce) with significant early development completed by Flightless.
How to install & activate:
Or clone the Git repository into your site’s wp-content/plugins folder.
Usage:
Once the Action Scheduler plugin is installed, the Product Catalog Plugin will utilize its functionality to asynchronously re-index your products within WooCommerce.
The Product Pricing Catalog (PPC) is a dynamic pricing calculator and product pricing management dashboard that incorporates real-time spot prices, currency rates, unit weight, user-entered markups, and performs on-demand calculations, which are integrated into your e-commerce system via APIs. Our platform allows you to set all of your product pricing exactly how you would like it in your management dashboard and then automatically pull that live dynamic pricing into your website, mobile app, custom invoicing page, ERP, etc. Once logged in to the Product Pricing Catalog (PPC) you will see some demo products already set up. You can use these example products, modify them, or add new products as needed. You can edit a product to adjust the markups and get the pricing exactly how you need it, applying dollar or % values or both. You can set your Ask (sale prices) as well as your Bid (buying prices) in this same view. Keep in mind the product SKU (unique primary key per product) and the Sales Channel are required for product prices to properly update within your E-Commerce software. In addition, the Product Pricing Catalog (PPC) has a series of APIs that you can access once you are logged in. In the upper right-hand corner under your username, there is a dropdown menu that has the API documentation in it. You can also access your PPC API token in this drop-down menu.
Send a request to support@nfusionsolutions.com with your current company name and new company name including address if changed.
Follow these steps to create a new sales channel:
That’s it! You’ve successfully created a new sales channel. You can now begin assigning products to it using either individual edits or the bulk update method.
To get started, sign in to your nFusion Dashboard. From there, there are two ways to assign products to a sales channel:
Option 1: Add Products Individually
Option 2: Add or Remove Products in Bulk
Following these best practices will help you get the most reliable, secure, and efficient performance when working with nFusion APIs.
All API requests must be made over HTTPS, using TLS 1.2 or higher. Unsecured (HTTP) requests are not supported.
To access the nFusion APIs, you will be issued one or more API tokens, depending on your use case. These tokens are sensitive credentials and should be treated like passwords.
To avoid throttling, limit your request rate:
Reduce unnecessary API traffic by consolidating requests using supported query parameters.
Example: Good Practice
Instead of making these 2 calls:
Currencies/summary?pairs=CAD/USD
Currencies/summary?pairs=USD/CAD
Make a single call:
Currencies/summary?pairs=CAD/USD,USD/CAD
Another Example:
Instead of making 8 separate metal price calls by currency and metals:
Metals/spot/summary?currency=USD&metals=gold
Metals/spot/summary?currency=USD&metals=silver
Metals/spot/summary?currency=USD&metals=platinum
Metals/spot/summary?currency=USD&metals=palladium
Metals/spot/summary?currency=CAD&metals=gold
Metals/spot/summary?currency=CAD&metals=silver
Metals/spot/summary?currency=CAD&metals=platinum
Metals/spot/summary?currency=CAD&metals=palladium
Make one efficient request:
Metals/spot/summary?currency=USD,CAD&metals=gold,silver,platinum,palladium
Some of the following HTTP headers should be added to your API requests, depending on your use cases.
The recommended value for this header is “application/json”. If you prefer XML results you can specify “application/xml”, but we recommend JSON for most use cases.
The recommended value for this header is “deflate,gzip”. This will result in compressed results that generally have better performance.
For POST/PUT operations that require a message body, this header should be set to “application/json”.
We recommend setting this to a unique value, such as your tenant ID or tenant alias/catalog subdomain, to allow for easier searching in logs if needed.
Make sure that the selectors you are using are as specific as possible. This will reduce the likelihood of your CSS not overriding the default CSS.
To find the best selector to use when styling your widgets, use the Developer Console to inspect the widget elements and view the CSS rules that are currently being applied to it. This will give you a better understanding of what CSS you should add and where.
For example, the chart widget applies a default font family using a high-level selector “.nfusionsolutions-com-chart” like so:
.nfusionsolutions-com-chart {
font-family: ‘Lora’, serif;
}
To override the default you would use the same selector and assign the font family property to the desired font family value.
.nfusionsolutions-com-chart {
font-family: {my-custom-font}, serif;
}
Other best practices:
If you’re newer to CSS, you can find numerous online tutorials and articles on CSS best practices. Websites, blogs, and forums like MDN Web Docs, CSS-Tricks, and Stack Overflow are excellent places to start.
To see supported:
Currencies: Visit our API documentation under Currencies and view the endpoints where the path ends in “supported”
Metals: Visit our API documentation under Metals and view the endpoints where the path ends in “supported”
Indices: Visit our API documentation under Currencies and view the endpoints where the path ends in “supported”
Benchmarks: Visit our API documentation under Metals and view the endpoints where the path contains “benchmark”
Configurations are default values that are able to be changed and become the new default for that widget. Query string parameters are values that override the default values of the widget on a per-widget-instance basis. For example, you can use the same chart multiple times with each instance being different due to query string parameters. Let’s say that the default currency within the widgets configurations is set to USD. By adding a query string parameter to one of the chart instances src URLs we can override the currency to something different for only that instance of the chart.
Standard Configurations:
Standard Query String Operations/Parameters:
Within our chart widgets, there are two main versions, V1 and V2. The only difference between these two versions is the layout of the chart elements. In regard to functionality, both charts are capable of accomplishing the same tasks. That being said, both versions can support the following configurations and query string operations:
Configurations:
Query String Operations/Parameters:
Use this interactive demo of our V1 chart to better understand how the query string parameters work:
Within our table widgets, there are six versions, V1 (standard), V2 (carousel), V3(Historical Performance Table), V4 (Annual Historical Performance Table), V5 (Multi-Unit Table), and V6 (Multi-Unit Multi-Currency Table).
Similar to the V1 and V2 charts, the only difference between the V1 and V2 tables is the styling and position of table elements.
Configurations:
Query String Parameters: Supports the standard parameters.
Our version three table is a historical performance table that displays historical data for a single selected symbol at one day, one week, one month, six months, one year, five years, ten years, and fifteen years. Configurations:
Query String Parameters: Supports the standard parameters.
Our version four table displays historical ask and change percent data points for multiple currencies at one-year intervals up to forty years.
Configurations: Supports the standard parameters.
Query String Parameters:
Our version five table displays live spot prices for a single metal in multiple units of measure.
Configurations:
Query String Parameters:
Our version six table displays live spot prices for multiple metals in multiple currencies and multiple units of measure.
Configurations: Supports the standard parameters.
Query String Parameters:
Our spot price ticker displays real-time data points in a responsive banner-like design.
Configurations:
Query String Parameters: Supports the standard parameters.
Our RMD (required minimum distribution) Calculator allows users to view their estimated RMD through a user-friendly chart display based on input that is entered such as age, account balance, whether or not there is a primary beneficiary, and estimated rate of return.
Our product page widget utilizes the product catalog and its features including sales channels and product families in order to create a full-page display with live bids and ask prices for the desired products.
Our widget page allows you to fully utilize all the features of our chart, table, and ticker widgets by encapsulating multiple widgets in a single page layout. Within the widget page, the user has the capability to change the symbol, currency, and unit of measure for every widget instance on the page, all at the same time.
If you need technical support or have a question, fill out the form below or click on the button to call. Our support hours are Monday through Friday 8 a.m.–5 p.m. CST.
When it comes to quality, functionality, customization, and service, our bullion software solutions are unmatched. Let us help you grow your business.
© 2025 nFusion Solutions