Skip to main content
Centaur hosts the integration code and loads public trader events directly into your page. You supply your chart, licensed candles and explicit market-to-asset mapping. An enabled widget registration identifies your approved origins; its ID is public. No Centaur API key or partner event-fetching backend is required. Explore the synthetic chart, connect a public registration, or download the browser example. The synthetic chart makes no live API requests. The browser example can load real public events, but its candles remain synthetic and clearly labelled.

Register your page

Create a registration in Widget settings, enable it, and add your website’s origin. For the public connection example, also allow https://demo.centaur.io. Use a real Centaur asset ID from asset discovery. The registration shares the hosted widgets’ public-data policy. It does not grant access to private traders or user-specific entitlements. Disabled registrations, revoked partner access and unapproved origins stop event delivery. Origin restrictions do not make public data confidential.

Lightweight Charts

Use your existing Lightweight Charts 5.2 candlestick series. The hosted integration adds avatar markers above the candles and an accessible event selector in your details container.
Centaur owns event loading, pagination and stale-request cancellation. Your page owns the chart and price series. Supply candles with unique ascending UTC seconds, valid OHLC prices and a fixed positive bar duration. Events in session gaps or outside loaded intervals are omitted, never snapped to the nearest candle. This interface requires fixed-duration bars; it does not infer variable-length calendar months or exchange session boundaries. Three avatar markers appear per candle, followed by an overflow group whose details retain the remaining actions.

Advanced Charts

Keep your existing Advanced Charts library and market datafeed. Centaur wraps the datafeed’s mark operations while preserving candle delivery and existing partner marks. Avatars appear near the time axis; a mark click opens the shared Centaur details panel. This uses Advanced Charts, not the TradingView-hosted Advanced Chart widget or Trading Platform.
Return null from resolveAssetId when your symbol has no explicit Centaur asset mapping. The integration must be installed before creating the chart. Do not replace the partner datafeed with a Centaur-only candle provider. Centaur does not supply or redistribute the Advanced Charts library. Use your approved TradingView distribution and retain its required attribution. Advanced Charts refresh() asks the chart to reload its marks. Use onState to observe completion; Lightweight Charts refresh() also returns a promise for the load. V1 supports time-based charts for 24x7 markets, including calendar intervals, and intraday intervals for session-based markets. For session-based daily, weekly or monthly charts, it shows an explicit unsupported-interval message and asks the user to choose an intraday interval. It does not guess which session a calendar label represents. Non-time-based charts, such as Renko, Kagi, Point and Figure, and range charts, are unsupported. The partner’s chart and marks remain available. Displayed bar boundaries come from Advanced Charts, including intervals it rebuilds from smaller candles. The wrapper does not treat raw input-candle timestamps as the final displayed bars.

Loading and event details

Both integrations load on initial display and relevant chart changes. refresh() requests a fresh window explicitly. They do not poll in the background. destroy() cancels Centaur work, removes its listeners and details, and preserves the partner chart. For Advanced Charts, it also stops contributing Centaur marks while retaining the partner’s marks. Optional onState reports { status: 'loading' | 'ready' | 'error', message?, appliedTimeRange? }. Loading, access errors and incomplete windows are visible in the details area. A failed or incomplete request is not reported as a successful empty chart. For a dense window, narrow the visible range. The hosted endpoint returns public events with trader names, avatars and permitted source links. Missing avatars use initials. A missing source link is valid because signal visibility does not grant message visibility. Source text and media are not inserted into chart tooltips. System-generated events are hidden. Other assumed actions remain visible and are labelled as inferred; retrospective actions are labelled separately. Missing event prices stay unavailable.

Market and history boundaries

Map the canonical Centaur asset ID to your venue, market and quote explicitly. Public symbols are changeable display labels. Centaur event prices are not executions on your venue. The public quote symbol describes the asset’s preferred market, not historical execution provenance. Markers represent semantic event time; their position does not imply a price conversion or an execution. The integration keeps your chart and candles unchanged, including when you display a longer history. Within the visible loaded range, it requests at most the latest 90 days, with the end no later than now. The server may narrow this further to its current public-retention window. The details panel explicitly shows Event coverage: start to end, using the returned appliedTimeRange, so older candles are not mistaken for covered event history. The endpoint rejects requests spanning more than 90 days. The integration follows up to ten pages; if more remain, it shows an incomplete-window error asking for a smaller range rather than silently truncating events. /feed is not used as a historical event source. Unsupported chart configurations must not be interpreted as a successful empty result.

Hosting, staging and version pinning

The two ESM files are independent of the hosted widgets SDK. Their Centaur URLs allow cross-origin module loading. Allow the module host in your page’s script policy and the API host in its connection policy. Avatars also need your page’s image policy to permit their returned URLs. Production modules use https://api.centaur.io by default. For an authorized staging integration, use https://demo.preview.centaur.io/chart-adapter/v1/ and explicitly set apiOrigin: 'https://api.preview.centaur.io'. Preview protection still applies. The custom-domain V1 URLs track compatible releases. For a fixed version, use the exact retained, publicly accessible Vercel deployment URL from that release’s evidence, preserving the same file path. Do not attach a fixed integrity hash to a moving V1 URL. A deployment URL is usable only while that deployment remains retained and accessible. Centaur can roll back the demo deployment to restore its hosted modules; partners control which pinned deployment they load.

Existing manual-data integrations

The original adapter.js and backend example remain available for integrations that supply already-hydrated events themselves. That older mount API does not fetch events. Its backend requires an API key; the hosted connect integrations above do not.
Last modified on November 4, 2026