Verify Connector Support
Never guess connector capabilities from memory. Always pull the authoritative source first.
Capability lookup steps
- LP / CLMM questions → read the
create_lp_executortool description — itslp_providerparameter lists the supported DEXs - AMM swap / pool-creation questions →
manage_amm()(no action) — read the connector list - Pool discovery questions →
explore_dex_poolstool description lists supported connectors - Market data / candle questions → see the Candles section below
Answer from what the guide actually says — not from what you remember.
Candles — When the Connector Has No Feed
client.market_data.get_candles*(...) — inside run_code, the only way candles are read — first asks the API which connectors have a candle feed, and raises if yours is not one of them:
ValueError: Connector 'xrpl' does not support candle data.
Available connectors: ['binance', 'binance_perpetual', 'kucoin', 'kraken', ...]
This is a hard capability gap, not a transient error. Retrying, changing the interval, changing days, or reformatting the pair will never make it succeed. The failing loop this skill exists to stop: agent setup asks for candles on a DEX → error → retries → error → user has to interrupt by hand.
Who has no candle feed: xrpl and every AMM/CLMM DEX connector (meteora, raydium, orca, uniswap, pancakeswap, jupiter, …), plus any CEX not in the list the error prints. The list is the authority — never assume from the name.
What still works on that connector
Losing candles does not mean losing the venue. These remain live and correct:
get_prices(trading_pairs=[...])— current priceclient.market_data.get_order_book(...)— depth, and theprice_for_volume/volume_for_priceslippage queries beside itexplore_dex_pools— pool discovery, TVL, fees, APR (CLMM connectors)- Trading itself: quoting, swaps, LP and executor deployment
Execute on the venue the user asked for, source the history elsewhere.
Where to get the history instead
In order of preference:
- A candle-capable venue for the same asset.
XRP-USDTonbinanceorkrakenis the same price series that drives anxrpldecision. Pick a connector off the list the error printed, and use a liquid quote (USDT/USD), not whatever the DEX pair happens to quote in. - GeckoTerminal, for the actual pool. For a token with no CEX listing, use
explore_geckoterminal(action="token_pools", ...)to find the pool, thenexplore_geckoterminal(action="ohlcv", network=..., pool_address=...). This is the right source when the DEX pool is the price discovery venue. - Nothing. A brand-new token with no CEX listing and a thin pool has no usable history. Say so.
Whichever you pick, say which series you used and why — a signal computed on binance and executed on xrpl is a basis assumption the user is entitled to see, and it is wrong for an illiquid token that trades away from the CEX price.
Rule when setting up or backtesting an agent
Before promising a candle-driven strategy (EMA, RSI, ATR, any indicator, any backtest) on a venue, resolve the data source first:
- Is the execution connector on the candle list? If yes, nothing here applies.
- If no — pick the proxy or GeckoTerminal pool above and tell the user in the same message: "xrpl has no candle feed; I'll take the signal from
XRP-USDTonbinanceand execute onxrpl." - If neither source exists, do not silently fall back to a spot-price-only strategy. Report that the market cannot carry an indicator-driven strategy and offer what it can carry — a market-making or LP approach that needs only the order book / pool state.
Never let a missing candle feed turn into a retry loop. One failed candle call on a connector is the answer, not a reason to try again.