Widgets are in early access. Sample mode is open to everyone. Live mode is enabled for approved partners in stages.
Options
Your snippet owns these settings. To change an installed widget, change its code.
Give every configured ID a label. Visitors can narrow your list, not widen it. For the general feed, omit
selection filters. An empty array is invalid.
Look up asset and trader IDs with Find IDs. Do the lookup on your server: it needs an API key, and the widget needs only its widget ID. Sample IDs such as 900001 do not work in live mode.
Filter by asset class
The `assetClass` filter is not available in production yet. Do not rely on it until this note is removed.
selection: { assetClass: ['crypto'] } to show only crypto activity. Several classes match any of them. Omit assetClass for all classes. Empty or unknown values are invalid. stocks excludes assets classified as indices, as in the Centaur app.
Filters combine, so stocks with a Bitcoin selection returns an empty feed. Centaur filters first, then shows the latest 20 posts. Visitor choices stay inside your configured classes.
Methods
CentaurWidgets.v1.mount(container, options) renders a widget and returns a handle. Mount once per container and give each container a unique ID. Several widgets can share one SDK script. CentaurWidgets.v1.version identifies the loaded release.
handle.update(patch) changes selection, appearance, assetUrls, viewActivityUrl, or callbacks. Each one replaces its previous value, so pass the complete selection or appearance you want to keep. When you change a positioning widget’s asset, pass its viewActivityUrl too: changing the asset clears the old one. To change kind, mode, or widgetId, destroy the widget and mount a new one.
handle.destroy() removes the widget and stops its requests. Call it when your app removes the container or navigates away.
Widget recipes show each method in working code.
Callbacks
Add these optional functions to your options:onAssetNavigate handles the click unless it returns false. Cmd-click and other modified clicks always open the link normally.
assetUrls and viewActivityUrl accept HTTP, HTTPS, or relative URLs.
Runtime behavior
- Visible live widgets aim to refresh about every 30 seconds. This is a target, not an SLA. Hidden widgets pause.
- New posts wait until the visitor selects the new-posts button.
- A temporary failure keeps the content already shown. An access denial clears it.
- If the widget’s stylesheet cannot load, it asks the visitor to reload the page and reports
STYLESHEET_FAILEDthroughonError. Reloading fetches the current SDK; remounting alone does not. If the error persists, check the network and your Content Security Policy. - Source links and the required Centaur attribution open in a new tab. The feed shows photos in order, with no enlarged viewer. Videos do not play yet.
- The SDK runs in your page. Shadow DOM isolates its styles, not its code.
/v1/sdk.jsupdates in place on the next page load. Breaking changes ship as/v2/.
What the positioning card shows
The card covers positions Centaur tracks, not the whole market.- Long and short position counts.
- Up to five open positions from the traders with the largest audiences: side, entry price, and return from entry to the latest recorded price. Other traders count toward the totals but are not listed.
- Latest moves: the three most recent trades on the asset in the last seven days.