For builders

Plugin SDK

Extend Pairlens with capability-based plugins for connectors, AI providers, panels, indicators, and themes, running sandboxed and signed.

Updated 17 AUG 20264 min readEdit on GitHub ↗

Everything pluggable in Pairlens goes through the same capability-based plugin system. A plugin declares the capabilities it provides, and the resolver picks the best plugin for each requested capability at runtime.

Capabilities

Capability What it provides
market-data:candles Streaming candles
market-data:ticker Streaming tickers
market-data:ticker-snapshot Point-in-time ticker reads
market-data:orderbook Streaming order books
market-data:trades Streaming public trades
market-data:history Historical candle backfill
market-data:discovery Instrument listing
market-data:discovery:search Instrument search
market-data:symbol-logo Asset logos
market-data:events Prediction-market event browsing
market-data:pool-stats AMM pool state, its swaps, and a chain’s ranked pools
market-data:session Trading-day clock and calendar, holidays and half days included
market-data:funding Perpetual funding rates, mark and index prices, and open interest
market-data:liquidations Aggregated liquidation history for perpetual futures pairs
market-data:bridge Cross-chain route quotes and transfer status tracking
trading:orders Order placement and cancellation
trading:balances Account balances
trading:positions Open positions and contracts
trading:bridge Executes cross-chain transfers with the connected wallet
rpc:solana JSON-RPC access to the Solana network for reads and sends
ai:inference A language model
ai:web-search Web search for research
workflow:step-types New workflow canvas steps
notification:channel New alert delivery channels
chart:indicator Custom chart indicators
theme:override A terminal theme
workspace-store:catalog A source of workspace templates

Plugins also contribute panels through the manifest’s contributes block, which is how a plugin adds a tile to the workspace grid, and workspaces, which is how a plugin ships whole ready-made layouts. A contributed workspace appears in the Workspace Store, and if it declares routeMenu it also appears in the Workspaces menu of the pair or Discovery route it targets. Both leave with the plugin: disable it and its layouts stop being offered, without a reload. That is how each asset class ships its own default pair layout.

Chat and research are not separate capabilities. Both use ai:inference with a runtime purpose selector.

What the host provides

Mark these as build externals. The host supplies its own instances at runtime, so your bundle stays small and the WebGL chart engine is never duplicated:

  • React
  • @pairlens/plugin-sdk (hooks)
  • @pairlens/ui (the design system, imported from the package root)
  • @pairlens/fast-financial-charts and @pairlens/fast-financial-charts/react

In this section

Sandboxed by default

Non-bootstrap plugins run in a Worker sandbox with a network allowlist derived from the hosts they declare. Packages are Ed25519-signed against pinned keys, and full trust is an explicit grant a user makes per plugin, never the default. See the security model.

Was this page helpful?Thanks, noted

Search docs

Search docs, guides, and commands