Bybit exchange integration. Trade spot, derivatives, and perpetuals with up to 100x leverage.
62
Quality
52%
Does it follow best practices?
Impact
Pending
No eval scenarios have been run
Advisory
Suggest reviewing before use
Optimize this skill with Tessl
npx tessl skill review --optimize ./public/skills/0xterrybit/bybit/SKILL.mdLeading derivatives exchange. Trade spot, perpetuals, and options with deep liquidity.
| Variable | Description | Required |
|---|---|---|
BYBIT_API_KEY | API Key from Bybit | Yes |
BYBIT_SECRET | API Secret | Yes |
This skill uses a referral code to earn commission on trading fees.
| Variable | Value | Description |
|---|---|---|
REFERRAL_CODE | CYBERPAY | Referral code for fee sharing |
Commission Structure:
💡 Users who sign up through this skill automatically use the referral code!
https://api.bybit.comAPI_KEY="${BYBIT_API_KEY}"
SECRET="${BYBIT_SECRET}"
# Generate signature
generate_signature() {
local timestamp="$1"
local params="$2"
local sign_string="${timestamp}${API_KEY}5000${params}"
echo -n "$sign_string" | openssl dgst -sha256 -hmac "$SECRET" | cut -d' ' -f2
}
TIMESTAMP=$(date +%s%3N)PARAMS=""
SIGNATURE=$(generate_signature "$TIMESTAMP" "$PARAMS")
curl -s "https://api.bybit.com/v5/account/wallet-balance?accountType=UNIFIED" \
-H "X-BAPI-API-KEY: ${API_KEY}" \
-H "X-BAPI-SIGN: ${SIGNATURE}" \
-H "X-BAPI-TIMESTAMP: ${TIMESTAMP}" \
-H "X-BAPI-RECV-WINDOW: 5000" | jq '.result.list[0].coin[] | select(.walletBalance != "0") | {coin: .coin, walletBalance: .walletBalance, availableToWithdraw: .availableToWithdraw}'SYMBOL="BTCUSDT"
CATEGORY="spot" # spot, linear, inverse, option
curl -s "https://api.bybit.com/v5/market/tickers?category=${CATEGORY}&symbol=${SYMBOL}" | jq '.result.list[0] | {symbol: .symbol, lastPrice: .lastPrice, highPrice24h: .highPrice24h, lowPrice24h: .lowPrice24h, volume24h: .volume24h}'curl -s "https://api.bybit.com/v5/market/orderbook?category=${CATEGORY}&symbol=${SYMBOL}&limit=10" | jq '{
asks: .result.a[:5],
bids: .result.b[:5]
}'PARAMS='{"category":"spot","symbol":"BTCUSDT","side":"Buy","orderType":"Limit","qty":"0.001","price":"40000"}'
SIGNATURE=$(generate_signature "$TIMESTAMP" "$PARAMS")
curl -s -X POST "https://api.bybit.com/v5/order/create" \
-H "Content-Type: application/json" \
-H "X-BAPI-API-KEY: ${API_KEY}" \
-H "X-BAPI-SIGN: ${SIGNATURE}" \
-H "X-BAPI-TIMESTAMP: ${TIMESTAMP}" \
-H "X-BAPI-RECV-WINDOW: 5000" \
-d "$PARAMS" | jq '.'PARAMS='{"category":"spot","symbol":"ETHUSDT","side":"Buy","orderType":"Market","qty":"0.1"}'
SIGNATURE=$(generate_signature "$TIMESTAMP" "$PARAMS")
curl -s -X POST "https://api.bybit.com/v5/order/create" \
-H "Content-Type: application/json" \
-H "X-BAPI-API-KEY: ${API_KEY}" \
-H "X-BAPI-SIGN: ${SIGNATURE}" \
-H "X-BAPI-TIMESTAMP: ${TIMESTAMP}" \
-H "X-BAPI-RECV-WINDOW: 5000" \
-d "$PARAMS" | jq '.'PARAMS='{"category":"linear","symbol":"BTCUSDT","side":"Buy","orderType":"Limit","qty":"0.01","price":"40000","timeInForce":"GTC"}'
SIGNATURE=$(generate_signature "$TIMESTAMP" "$PARAMS")
curl -s -X POST "https://api.bybit.com/v5/order/create" \
-H "Content-Type: application/json" \
-H "X-BAPI-API-KEY: ${API_KEY}" \
-H "X-BAPI-SIGN: ${SIGNATURE}" \
-H "X-BAPI-TIMESTAMP: ${TIMESTAMP}" \
-H "X-BAPI-RECV-WINDOW: 5000" \
-d "$PARAMS" | jq '.'PARAMS="category=spot"
SIGNATURE=$(generate_signature "$TIMESTAMP" "$PARAMS")
curl -s "https://api.bybit.com/v5/order/realtime?${PARAMS}" \
-H "X-BAPI-API-KEY: ${API_KEY}" \
-H "X-BAPI-SIGN: ${SIGNATURE}" \
-H "X-BAPI-TIMESTAMP: ${TIMESTAMP}" \
-H "X-BAPI-RECV-WINDOW: 5000" | jq '.result.list[] | {symbol: .symbol, side: .side, price: .price, qty: .qty, orderStatus: .orderStatus}'PARAMS='{"category":"spot","symbol":"BTCUSDT","orderId":"12345678"}'
SIGNATURE=$(generate_signature "$TIMESTAMP" "$PARAMS")
curl -s -X POST "https://api.bybit.com/v5/order/cancel" \
-H "Content-Type: application/json" \
-H "X-BAPI-API-KEY: ${API_KEY}" \
-H "X-BAPI-SIGN: ${SIGNATURE}" \
-H "X-BAPI-TIMESTAMP: ${TIMESTAMP}" \
-H "X-BAPI-RECV-WINDOW: 5000" \
-d "$PARAMS" | jq '.'PARAMS="category=linear&settleCoin=USDT"
SIGNATURE=$(generate_signature "$TIMESTAMP" "$PARAMS")
curl -s "https://api.bybit.com/v5/position/list?${PARAMS}" \
-H "X-BAPI-API-KEY: ${API_KEY}" \
-H "X-BAPI-SIGN: ${SIGNATURE}" \
-H "X-BAPI-TIMESTAMP: ${TIMESTAMP}" \
-H "X-BAPI-RECV-WINDOW: 5000" | jq '.result.list[] | select(.size != "0") | {symbol: .symbol, side: .side, size: .size, avgPrice: .avgPrice, unrealisedPnl: .unrealisedPnl}'PARAMS="category=spot"
SIGNATURE=$(generate_signature "$TIMESTAMP" "$PARAMS")
curl -s "https://api.bybit.com/v5/execution/list?${PARAMS}" \
-H "X-BAPI-API-KEY: ${API_KEY}" \
-H "X-BAPI-SIGN: ${SIGNATURE}" \
-H "X-BAPI-TIMESTAMP: ${TIMESTAMP}" \
-H "X-BAPI-RECV-WINDOW: 5000" | jq '.result.list[:10] | .[] | {symbol: .symbol, side: .side, execPrice: .execPrice, execQty: .execQty}'| Pair | Description |
|---|---|
| BTCUSDT | Bitcoin / Tether |
| ETHUSDT | Ethereum / Tether |
| SOLUSDT | Solana / Tether |
| XRPUSDT | XRP / Tether |
| DOGEUSDT | Dogecoin / Tether |
| Type | Description |
|---|---|
| Limit | Limit order |
| Market | Market order |
| PostOnly | Post-only order |
| Category | Description |
|---|---|
| spot | Spot trading |
| linear | USDT perpetuals |
| inverse | Coin-margined perpetuals |
| option | Options |
| Code | Cause | Solution |
|---|---|---|
| 10001 | Parameter error | Check parameters |
| 10003 | Invalid API key | Check API key |
| 110007 | Insufficient balance | Check balance |
45f9fac
If you maintain this skill, you can claim it as your own. Once claimed, you can manage eval scenarios, bundle related skills, attach documentation or rules, and ensure cross-agent compatibility.