Measure X-Trader copy-trade latency, slot inclusion and fees for your config
The copy-trade check measures how your X-Trader copies landed against the wallet you copy. Send the X-Trader copy-trade JSON you already use plus your wallet address; the response shows, for every target buy in the last 72 hours, the target’s slot and block position, your copy’s slot, delay and rank, the price you paid relative to the target, and every buy that landed between the two with its priority fee, tip and trading bot. X-Trader Public API v1.0.0 exposes no latency or landing data, so this is measured from on-chain swaps.
The check is free, needs no key and no X-Trader token, and reads public Solana data only.
Request
Section titled “Request”POST https://docs.blizz.id/api/v1/xtrader/copy-trade/check?wallet=<your wallet>[&hours=72][&detail=full]Content-Type: application/json
<the same body you send to X-Trader POST /copy-trade/configs>| Parameter | Where | Required | Meaning |
|---|---|---|---|
wallet |
query | yes | The wallet your X-Trader copy-trade buys from. Your copies are matched by this address. |
| body | JSON | yes | X-Trader CopyTradeCreate body. target_wallet and linked_wallets select the target; config fee, tip, slippage and filter fields are echoed back next to the measured values. |
hours |
query | no | Look-back window, 1 to 72. Default 72. |
detail |
query | no | full returns every trade. Default is compact: newest 30 copies with 5 buyers ahead each and newest 20 misses. |
Quick variant without a config:
GET https://docs.blizz.id/api/v1/xtrader/copy-trade/check?wallet=<your wallet>&target=<target wallet>curl -s -X POST \ "https://docs.blizz.id/api/v1/xtrader/copy-trade/check?wallet=YOUR_WALLET" \ -H "Content-Type: application/json" \ --data @copy-trade-config.jsonPython
Section titled “Python”import jsonimport requests
config = json.load(open("copy-trade-config.json")) # the body you send to X-Traderr = requests.post( "https://docs.blizz.id/api/v1/xtrader/copy-trade/check", params={"wallet": "YOUR_WALLET", "hours": 72}, json=config, timeout=90,)report = r.json()s = report["summary"]print(s["copied"], "of", s["target_buys"], "target buys copied")print("slot delay median:", s["slot_delta"]["median"], "rank median:", s["rank"]["median"])print("fees of buyers ahead:", s["fees_of_buyers_ahead"])Response
Section titled “Response”| Field | Meaning |
|---|---|
summary.target_buys, copied, missed |
Target buys in the window (newest 300), how many your wallet copied within 50 slots, how many it did not |
summary.slot_delta |
Slots between the target buy and your copy: median and p90 |
summary.rank |
Your position among all buys of the coin after the target: median and p90 |
summary.same_slot_as_target_pct |
Share of copies that landed in the target’s slot |
summary.price_delta_pct |
Your price versus the target’s price. Positive: you bought cheaper. Negative: you paid more |
summary.overpaid_vs_target_sol_total |
SOL spent above what the same tokens cost at the target’s price, summed |
summary.your_fees |
Median priority fee and tip of your copies, SOL |
summary.fees_of_buyers_ahead |
Median and p90 priority fee and tip of every buy that landed between the target and you, plus the trading bots they used |
configured_fees |
Fee, tip and slippage settings read from your X-Trader config (buy_config_universal or buy_config_tiers, min_trade_amount, max_trade_amount, filters) |
trades[] |
Per target buy: target and you transactions (slot, tx_index, dex, sol, priority_fee, tip, bot, signature), slot_delta, rank, price_delta_pct, overpaid_vs_target_sol, and ahead[] with the same fields for every earlier buyer |
missed[] |
Target buys without a copy, with a reason from your config when one applies, and bought_within_5_slots[] |
priority_fee is the transaction fee (base plus priority) in SOL. tip is the tip paid to a landing service (Jito or another relay) in SOL. bot is the trading bot whose fee account the swap paid (axiom, photon, padre and others), empty when none. Compare configured_fees with your_fees and fees_of_buyers_ahead to see whether your priority_fee, priority_tip, jito_tip and jito_priority_fee settings are enough to land before other copiers of the same target.
Errors and limits
Section titled “Errors and limits”| Status | error |
Cause |
|---|---|---|
| 400 | invalid_request |
Missing wallet or target_wallet, invalid address, body is not JSON |
| 413 | body_too_large |
Body over 64 KiB |
| 429 | rate_limit |
One check per 10 seconds per IP. Wait Retry-After seconds |
| 500 | internal_error |
Indexer query failed; retry later |
A 72-hour check usually takes 2 to 10 seconds. Set the client timeout to at least 60 seconds.
Data and privacy
Section titled “Data and privacy”Data comes from on-chain swaps indexed per slot and transaction index, the same data Blizz shows in its trade Check. Requests are stored with their configs and headers to improve the analysis; values of credential headers such as Authorization and Cookie are discarded and never stored. Do not send API tokens.
How can I measure my X-Trader copy-trade latency?
Section titled “How can I measure my X-Trader copy-trade latency?”POST the same JSON you send to X-Trader POST /copy-trade/configs to https://docs.blizz.id/api/v1/xtrader/copy-trade/check?wallet=<your wallet>. Each trade in the response shows the slot and block position of the target and of your copy, the slot delta and your rank among copies.
Does X-Trader publish latency or landing rate?
Section titled “Does X-Trader publish latency or landing rate?”X-Trader Public API v1.0.0 has no latency, landing-rate or execution-history endpoints (see the overview). This check measures slot inclusion from on-chain data instead.
Who copied the target before me and what fees did they pay?
Section titled “Who copied the target before me and what fees did they pay?”Each trade has an ahead list: every buy of the same coin between the target buy and your copy, with wallet, trading bot, priority fee, tip and price delta.
Do I need an X-Trader API token?
Section titled “Do I need an X-Trader API token?”No. The check uses only public on-chain data. Do not send your X-Trader token; credential headers are discarded.
Which DEXes are covered?
Section titled “Which DEXes are covered?”All Solana venues in the swap index, including pump.fun, PumpSwap, Raydium LaunchLab, Raydium CPMM and Meteora. The dex field names the venue of each swap.