NIJA provides three complementary visibility layers to give you complete transparency into your trading activity. Each layer serves a distinct purpose and shows you different aspects of the trading system.
The Problem: Traditional trading systems only show you what executes on the exchange. You never know:
The Solution: NIJA’s three-layer system gives you complete visibility from signal generation to execution proof.
What It Shows: Official record from the exchange Trust Level: 🏦 Exchange-verified (100% accurate) Update Speed: ⚡ 1-2 seconds Purpose: Legal proof of what actually executed
Where to Access:
What You’ll Find:
Limitations:
Use Cases:
What It Shows: Every decision NIJA makes Trust Level: 🤖 Bot reporting (NIJA’s internal view) Update Speed: ⚡ Real-time (instant) Purpose: Understand WHY trades did or didn’t happen
Where to Access:
GET /api/activity/recentWhat You’ll Find:
Example Activity Events:
✅ EXECUTED: BUY 0.05 ETH/USD @ $3,250.00 on kraken
❌ Signal REJECTED: LONG BTC/USDT - Pair quality check failed (spread > 0.15%)
🚫 FILTER BLOCK: SOL/USD - Minimum size $15.00 not met (attempted $12.50)
💸 FEE BLOCK: XRP/USD - Estimated fees $0.85 (6.8% of $12.50 position)
🔀 STABLECOIN ROUTED: ETH/USDT - coinbase → kraken (lower fees)
⚠️ RISK LIMIT HIT: daily_loss - -2.5% / -3.0% max
📈 POSITION CLOSED: ETH/USD - Take Profit 1 hit (P&L: +$23.50)
Use Cases:
Key Insight:
This is Decision Truth - it shows what NIJA considered, not just what executed. Use this to understand the “why” behind every action.
What It Shows: Current open positions Trust Level: 🤖 NIJA tracking (updated immediately) Update Speed: ⚡ Instant (doesn’t wait for broker) Purpose: Know what’s open even when broker UI lags
Where to Access:
GET /api/positions/liveWhat You’ll Find:
Example Position Display:
| Symbol | Broker | Side | Entry | Current | Size | P&L | Hold Time |
|---|---|---|---|---|---|---|---|
| ETH/USD | kraken | LONG | $3,250 | $3,275 | $50.00 | +$0.38 (+0.77%) | 12m |
| BTC/USDT | coinbase | LONG | $68,500 | $68,350 | $75.00 | -$0.16 (-0.22%) | 45m |
Why It’s Needed:
Use Cases:
Key Insight:
This is NIJA’s internal view of positions. It updates the instant a trade executes, before the broker confirms. Use this when you need immediate position awareness.
| Feature | Kraken | Activity Feed | Position Mirror |
|---|---|---|---|
| Shows Executed Trades | ✅ Yes | ✅ Yes | ✅ Yes (open only) |
| Shows Rejected Signals | ❌ No | ✅ Yes | ❌ No |
| Shows Filter Reasons | ❌ No | ✅ Yes | ❌ No |
| Shows Fee Analysis | ✅ Actual fees | ✅ Estimated fees | ✅ Paid fees |
| Shows Why No Trade | ❌ No | ✅ Yes | ❌ No |
| Real-Time Updates | ⚡ Fast (1-2s) | ⚡ Instant | ⚡ Instant |
| Survives Broker Lag | ❌ No (IS the lag) | ✅ Yes | ✅ Yes |
| Legal/Tax Valid | ✅ Yes | ❌ No | ❌ No |
| Auditable | ✅ Exchange record | ⚠️ Bot logs | ⚠️ Bot tracking |
| Trust Level | 🏦 Official | 🤖 Internal | 🤖 Internal |
A: Depends on your goal:
A: Possible causes:
If it persists >1 minute, NIJA likely logged the intent but execution failed.
A: For legal/tax purposes, always trust Kraken (it’s the exchange’s official record).
For understanding NIJA’s behavior and decisions, trust the Activity Feed (it shows intent).
Use both together: Activity Feed explains why, Kraken proves what actually happened.
A: Position Mirror calculates P&L instantly using:
Kraken shows P&L based on:
Differences should be < 0.5% and resolve within seconds.
A: Check the Activity Feed for events like:
💸 FEE BLOCK: XRP/USD - Estimated fees $0.85 (6.8% of $12.50 position)
This tells you NIJA blocked the trade because fees would eat too much profit.
A: NIJA automatically routes USDT/USDC trades to Kraken for lower fees:
🔀 STABLECOIN ROUTED: ETH/USDT - coinbase → kraken (lower fees)
This saves ~0.18% per trade (Kraken fees: 0.26% vs Coinbase: 0.60%).
NIJA shows trades differently based on your trading tier:
| Tier | Min Visible Size | Why? |
|---|---|---|
| STARTER | $10 | Show all trades for entry level |
| SAVER | $15 | Show all trades for learning |
| INVESTOR | $20 | Filter out micro-adjustments |
| INCOME | $30 | Focus on meaningful trades |
| LIVABLE | $50 | Professional-level filtering |
| BALLER | $100 | High-signal, low-noise |
Trades below your tier’s minimum are still executed but shown as:
📏 MIN SIZE BLOCK: SOL/USD - $18.50 < $30.00 (tier: INCOME)
This reduces noise in the Activity Feed while preserving full execution history.
./data/activity_feed/activity_feed.jsonl./data/positions/live_positions.jsonGET /api/activity/recent?limit=100&type=signal_rejected
GET /api/activity/summary?hours=24
GET /api/activity/rejections?hours=24
GET /api/positions/live
GET /api/positions/summary
GET /api/positions/broker/{broker_name}
Control how NIJA handles stablecoin pairs (USDT, USDC, DAI) via .env:
# Route all stablecoin trades to Kraken (recommended - lower fees)
STABLECOIN_POLICY=route_to_kraken
# Block all stablecoin trades
STABLECOIN_POLICY=block_all
# Allow stablecoin trades on any broker
STABLECOIN_POLICY=allow_all
Recommendation: Use route_to_kraken to save ~0.34% round-trip fees.
.envFor detailed Kraken verification steps, see KRAKEN_TRADING_GUIDE.md.
Last Updated: January 2026 Version: 1.0 Author: NIJA Trading Systems