Widgets are in early access. Sample mode is open to everyone. Live mode is enabled for approved partners in stages.
1. Try it with sample data
Pick a widget and an asset. The preview uses fictional traders and posts. Select Copy code and paste it into any HTML page. The widget shows a Sample data label. After a few seconds, a 1 new post button appears, as it would for a live feed.2. Get a widget ID
A widget ID tells Centaur which sites may show live data. It is public, so it is safe in your page source.- Sign in to Widget settings. If New widget ID is greyed out, get partner access first.
- Select New widget ID and name it, such as
Production site. - Add each site that will show the widget, such as
https://example.com. See Allowed sites. - Leave Live on, select Create, and copy the widget ID.
3. Switch to live data
In the builder, select Live, paste your widget ID, and copy the code. Replace the sample code and open the page from an allowed site. The Sample data label goes away and real activity loads. One widget ID works for any number of widgets on the same sites.Before you publish
- Every site that shows the widget is in the widget ID’s allowed sites.
- If your site sets a content security policy, it allows the hosts below.
- The live widget loads from an allowed site with no errors in the browser console.
- Your app calls
destroy()when it removes the widget. See Widget recipes. - The Centaur attribution is visible. Do not crop or cover the widget.
Allowed sites
Centaur serves live data only to pages whose origin is in the widget ID’s allowed sites. An origin is the scheme, host, and port, such ashttps://example.com. A widget ID with no allowed sites serves no live data.
- Use HTTPS for public sites. Plain HTTP works only for
localhost,127.0.0.1, and[::1], with an explicit port. - Each widget ID accepts up to 20 sites. A wildcard needs a domain you own, so
*.comand*.vercel.appare rejected. - Use a separate widget ID for local development, so you can turn it off without touching production.
Content security policy
Skip this if your site sends noContent-Security-Policy header.
The
img-src hosts serve trader avatars and asset logos. Post photos can come from other HTTPS hosts; add the ones you are willing to display. If your policy blocks an avatar or logo, the widget shows the author’s initials or the asset’s first letter instead. Sample mode loads its fictional avatars from the widget script’s own host.
To avoid an inline script, move the mount call into your own script file and load it after the SDK.
Do not add an integrity hash to the SDK tag. /v1/sdk.js changes in place. See Runtime behavior.
Troubleshoot
The positioning card shows the same messages, worded for positioning.
Next steps
- Widget recipes: change the asset when your page changes, style the widget, link to your own pages, and use it in React.
- Widget reference: every option, method, and callback.