Get Copy Signals
GET/v1/cryptodata/hyperliquid/copy-signals
Top traders with their recent signals in a single response. Replaces the 3-step workflow (top-traders → watchlist → signals) with one call. Only returns traders that have signals in the given time window. Profile filters (min_win_rate, min_profit_factor, min_trades_30d, min_avg_duration_hours, exclude_types) are optional and only applied when passed — preserves backward compatibility. Recommended: pass min_trades_30d=30 to drop tiny-sample wallets.
Price
$0.01/ callEdge cache
Off
Uptime 24h
100.00%
p95
449ms
Parameters
| Name | In | Type | Description |
|---|---|---|---|
| min_score | query | integer = 80 | Minimum trader score |
| minutes | query | integer = 60 | Signal look-back window in minutes |
| min_win_rate | query | number | Minimum 30d win rate (0-1) |
| min_profit_factor | query | number | Minimum profit factor |
| min_trades_30d | query | integer | Minimum trades in 30d. Pass 30+ to filter tiny-sample wallets (e.g. '100% WR over 2 trades'). Not auto-defaulted here for backward compatibility. |
| min_avg_duration_hours | query | number | Min avg trade duration (hours) |
| exclude_types | query | string | Comma-separated trader types to exclude, e.g. 'hft,scalper' |
Code
# 1. No key, no payment: the gateway answers 402 with the price
curl -i "https://api.realtimeapi.ai/v1/cryptodata/hyperliquid/copy-signals"
# 2. Pay: retry with a signed x402 payment (any x402 client builds this header)
curl "https://api.realtimeapi.ai/v1/cryptodata/hyperliquid/copy-signals" -H "PAYMENT-SIGNATURE: $X402_PAYMENT"// npm i @x402/fetch @x402/core @x402/evm viem
import { wrapFetchWithPayment } from "@x402/fetch";
import { x402Client } from "@x402/core/client";
import { ExactEvmScheme } from "@x402/evm/exact/client";
import { privateKeyToAccount } from "viem/accounts";
const client = x402Client.fromConfig({ schemes: [{ network: "eip155:8453", client: new ExactEvmScheme(privateKeyToAccount(PRIVATE_KEY)) }] });
const pay = wrapFetchWithPayment(fetch, client);
const data = await (await pay("https://api.realtimeapi.ai/v1/cryptodata/hyperliquid/copy-signals")).json();
console.log(data);# pip install x402 eth-account requests
from eth_account import Account
from x402.clients.requests import x402_requests
session = x402_requests(Account.from_key(PRIVATE_KEY))
print(session.get("https://api.realtimeapi.ai/v1/cryptodata/hyperliquid/copy-signals").json())curl "https://api.realtimeapi.ai/v1/cryptodata/hyperliquid/copy-signals" -H "X-API-Key: $RTAPI_KEY"Frequently asked questions
How do I get get copy signals from CryptoDataAPI?
Send GET https://api.realtimeapi.ai/v1/cryptodata/hyperliquid/copy-signals. Pay $0.01 per request with x402, or send an X-API-Key header.
What does GET /hyperliquid/copy-signals cost?
$0.01 per successful request in USDC on Base. Failed requests are never charged.
Can I call this endpoint from an MCP client?
Yes. Connect any MCP client to the RealtimeAPI server and use call_feed with this endpoint's URL, or get_quote to check the price first.