Introduction
# Kraken Crypto Skill
Use the kraken_cli.py wrapper to query your Kraken account.
## Setup
Export your Kraken API credentials.
```bash export KRAKEN_API_KEY="your_api_key" export KRAKEN_API_SECRET="your_api_secret" ```
You can also create a .env file in the skill directory.
## 1. Primary Commands
Use these commands for portfolio queries. They calculate totals automatically.
| Command | Description | |---------|-------------| | summary | Portfolio overview with correct totals | | net-worth | Total net worth calculation | | performance | Returns compared to deposits | | holdings | Asset breakdown with USD values | | staking | Staking positions and rewards |
### Example Output summary
``` TOTAL NET WORTH Main Wallet (Equity): $544.95 Earn Wallet (Bonded): $81.89 TOTAL: $626.84
AUTO EARN (Flexible) in Main Wallet BTC : $493.92 (rewards: $0.03) ETH : $50.66 (rewards: $0.11)
BONDED STAKING in Earn Wallet SOL : $66.73 (rewards: $0.89) DOT : $15.16 (rewards: $0.55)
Total Staking Rewards: $1.71 ```
The wrapper separates Auto Earn from Bonded staking to avoid double counting.
## 2. Raw API Commands
These commands use kraken_api.py for detailed data. Use them for specific information not covered by primary commands.
### Market Data Public
| Command | Description | Use Case | |---------|-------------|----------| | ticker --pair XXBTZUSD | Current price and 24h stats | Price checks | | ohlc --pair XXBTZUSD | Historical candles | Chart data | | depth --pair XXBTZUSD | Order book | Liquidity analysis | | recent-trades --pair XXBTZUSD | Live trades | Market activity | | assets | Asset names and decimals | Asset lookups | | pairs | Valid trading pairs | Pair discovery | | status | Exchange status | Connectivity check | | time | Server time | API health check |
### Account Data Private
| Command | Description | Use Case | |---------|-------------|----------| | balance | Raw asset quantities | Detailed holdings | | balance-ex | Balance with reserved funds | Margin analysis | | portfolio | Trade balance in USD | Raw equity data | | open-orders | Active orders | Order management | | closed-orders | Completed orders | Order history | | trades | Trade execution history | Trade analysis | | ledger | All transactions | Transaction tracking | | ledger --asset ZUSD | Filtered by asset | Asset history | | volume | 30 day volume | Fee tier info |
### Earn Data Private
| Command | Description | Use Case | |---------|-------------|----------| | earn-positions | Raw staking allocations | Detailed staking data | | earn-strategies | Available yield programs | Strategy discovery | | earn-status | Pending stakes | Allocation monitoring | | earn-dealloc-status --refid ID | Pending unstakes | Deallocation monitoring |
### Funding Private
| Command | Description | Use Case | |---------|-------------|----------| | deposits-methods | Available deposit methods | Deposit options | | deposits-address --asset BTC | Wallet address | Receiving crypto |
## 3. Critical Caveats
### Double Counting Warning
Do not add balance and earn-positions together.
Kraken has two staking types. - Auto Earn Flexible assets stay in the Main wallet. These are included in portfolio equity. - Bonded Staking assets move to the Earn wallet. These are not in portfolio equity.
The summary command handles this correctly. If you use raw commands manually follow this logic. - Correct calculation is Total equals Portfolio Equity plus Bonded Earn Only. - Incorrect calculation is Total equals Portfolio Equity plus All Earn Allocations.
### API Response Notes
- ohlc returns a list under the pair key. - depth bids and asks are nested under the pair key. - recent-trades returns a list containing price, volume, time, side, type, and misc. - earn-strategies uses the items key with apr_estimate.
## 4. Example Usage
| User Request | Bot Action | |--------------|------------| | What is my crypto portfolio? | Run summary | | What is my net worth? | Run net-worth | | How am I performing? | Run performance | | Show my holdings | Run holdings | | Show my staking | Run staking | | What is BTC price? | Run ticker --pair XXBTZUSD | | Show my open orders | Run open-orders | | Show my trade history | Run trades | | Get my BTC deposit address | Run deposits-address --asset BTC |
## 5. API Key Permissions Required
| Feature | Permission | |---------|------------| | Balance and Portfolio | Query Funds | | Orders and Trades and Ledgers | Query Funds | | Earn Allocations | Earn | | Deposit Addresses | Query Funds | | Market Data | None |