home / skills / openclaw / skills / bitskins
This skill helps you manage BitSkins marketplace actions like search, price updates, and buying or selling items from your account.
npx playbooks add skill openclaw/skills --skill bitskinsReview the files below or copy the command above to add this skill to your agents.
---
name: bitskins-api
description: >
Interacts with the BitSkins REST API V2 and WebSocket API for CS2/Dota 2 skin trading.
Supports account management, market search, buying, selling, listing, delisting, relisting,
price updates, Steam inventory/deposits/trades, wallet operations, and real-time WebSocket
subscriptions. Use when the user wants to search for skins, check prices, buy or sell items,
manage their BitSkins account, check balances, or interact with the BitSkins marketplace.
metadata:
author: custom
version: "1.0"
env_vars: "BITSKINS_API_KEY"
---
# BitSkins API Skill
## Authentication
All requests to the BitSkins API require authentication via the `x-apikey` header.
The API key must be set in the environment variable `BITSKINS_API_KEY`.
The user can obtain their API key from BitSkins account settings after enabling API access.
**Important:** Some endpoints (wallet withdrawals, 2FA operations) also require a `twofa_code` parameter. Always ask the user for their 2FA code when calling these endpoints rather than storing it.
## Base URL
```
https://api.bitskins.com
```
## Making Requests
Use the helper script to make API calls:
```bash
bash bitskins-api/scripts/bitskins-api.sh <METHOD> <PATH> [JSON_BODY]
```
Examples:
```bash
# GET request (no body)
bash bitskins-api/scripts/bitskins-api.sh GET /account/profile/me
# POST request with JSON body
bash bitskins-api/scripts/bitskins-api.sh POST /account/profile/balance
# POST with parameters
bash bitskins-api/scripts/bitskins-api.sh POST /market/search/730 '{"limit":10,"offset":0,"where":{}}'
```
## Rate Limits
- **Global:** 50 requests per 10 seconds
- **Market search (`/market/search/*`):** 1 request per second
- These limits are dynamic and may be reduced under heavy server load.
## Request Format
- The API accepts JSON format
- GET requests: no body required
- POST requests: JSON body with required parameters
## Response Format
All responses are JSON. Successful responses contain the data directly. Error responses include error codes documented in [references/api-endpoints.md](references/api-endpoints.md).
## API Sections Overview
The API is organized into the following sections. See [references/api-endpoints.md](references/api-endpoints.md) for the full endpoint reference.
### Account
- **Profile:** Get session info, balance, update account settings, update trade link, block account
- **Affiliate:** Get affiliate info, claim money, view reward history, set affiliate code
- **2FA:** Create, verify, disable, lock/unlock two-factor authentication
- **API Access:** Create or disable API keys
### Config
- **Currency rates:** Get current exchange rates
- **Fee plans:** Get available fee plans
- **Platform status:** Check if platform is operational
### Market (CS2 app_id=730, Dota 2 app_id=570)
- **Pricing:** Get sales history, pricing summaries
- **Search:** Browse CS2/Dota 2 markets, search own items, get item details, search by skin name, get filters
- **Buy:** Buy single item, multiple items, or bulk buy
- **Withdraw:** Withdraw single or multiple purchased items to Steam
- **Delist:** Remove single or multiple items from sale
- **Relist:** Relist single or multiple delisted items
- **Update price:** Change price on single or multiple listed items
- **History:** View item transaction history
- **Receipt:** Get purchase receipt
- **Bump:** Bump items for visibility, manage bump settings, buy bump packages
- **Skins catalog:** Get all available skin names for a game
- **In-sell items:** Get all currently listed items for a game
### Steam
- **Inventory:** List Steam inventory items
- **Deposit:** Deposit items from Steam to BitSkins
- **Trades:** View Steam trade offers and their status
### Wallet
- **Stats:** Get wallet statistics, KYC limits
- **Transactions:** List completed and pending transactions
- **Reports:** Generate and download wallet reports
### Wallet Deposit
- **Binance Pay:** Create Binance Pay deposit
- **Cryptocurrency:** Get deposit addresses for BTC, LTC, ETH
- **Gift codes:** Redeem gift codes, view used codes
- **Zen:** Create Zen deposit
- **Card (Unlimint):** Add cards, list cards, deposit via card
### Wallet Withdraw
- **Cryptocurrency:** Withdraw to BTC, LTC, ETH addresses
- **Binance Pay:** Withdraw via Binance Pay
- **Card (Unlimint):** Withdraw to Visa card
### WebSocket
Real-time updates via `wss://ws.bitskins.com`. See [references/websocket.md](references/websocket.md) for details.
## Common Patterns
### Searching the Market
The market search endpoints accept `where` objects for filtering and support `limit`/`offset` pagination:
```json
{
"limit": 20,
"offset": 0,
"order": [{"field": "price", "order": "ASC"}],
"where": {
"skin_name": ["AK-47 | Redline"],
"price_from": 1000,
"price_to": 5000
}
}
```
Note: Prices are in **cents** (e.g., 1000 = $10.00).
### Buying Items
To buy an item, you need its `id` and `app_id`. Use market search to find items, then:
```json
{"app_id": 730, "id": "ITEM_ID", "max_price": 1500}
```
The `max_price` parameter protects against price changes between search and purchase.
### Listing/Depositing Items
1. Get Steam inventory: `POST /steam/inventory/list`
2. Deposit items: `POST /steam/deposit/many` with item IDs and prices
3. Monitor trade status: `POST /steam/trade/active`
### Withdrawing Purchased Items
After buying, withdraw to Steam:
```json
{"app_id": 730, "id": "ITEM_ID"}
```
## Important Notes
- Always confirm with the user before executing buy, sell, withdraw, or any financial operation
- Prices are in cents (integer values)
- Game IDs: CS2 = 730, Dota 2 = 570
- The `where_mine` filter on "mine" endpoints accepts: `listed`, `pending_withdrawal`, `in_queue`, `given`, `need_to_withdraw`
- 2FA codes are time-sensitive; always request fresh codes from the user
This skill interacts with the BitSkins REST V2 and WebSocket APIs to search, buy, sell, and manage CS2 and Dota 2 skins. It supports account and wallet operations, Steam inventory/deposits/trades, real-time market subscriptions, and listing management. Use it to automate marketplace workflows, check prices, and execute trades with programmatic control.
Calls BitSkins endpoints authenticated via the x-apikey header (set in BITSKINS_API_KEY). It issues JSON POST/GET requests to market, account, wallet, Steam, and WebSocket endpoints, and respects rate limits and pricing conventions (prices in cents). For sensitive actions (withdrawals, 2FA operations) it requires a fresh two-factor code from the user.
How do I authenticate requests?
Set your API key in the BITSKINS_API_KEY environment variable and include it as the x-apikey header on every request.
Are prices sent as dollars or cents?
Prices are integers in cents (for example, 1000 = $10.00). Always convert to cents when composing requests.
What if an endpoint requires 2FA?
Ask the user for a fresh two-factor code and include it as the twofa_code parameter; do not store the code.