# đŗ Buy Mode
**đ Manual redemption with live point monitoring**
*Track your spending while maintaining full control*
---
## đ¯ What is Buy Mode?
Buy Mode allows you to **manually redeem rewards** while the script **passively monitors** your point balance. Perfect for safe redemptions without automation interference.
> âšī¸ Buy Mode automatically launches the browser in a visible window (headless=false) so you can interact with captchas and checkout flows. Use `FORCE_HEADLESS=1` only if you understand the limitations.
### **Key Features**
- đ **Passive monitoring** â No clicks or automation
- đ **Real-time tracking** â Instant spending alerts
- đą **Live notifications** â Discord/NTFY integration
- âąī¸ **Configurable duration** â Set your own time limit
- đ **Session summary** â Complete spending report
---
## đ How to Use
### **Command Options**
```bash
# Monitor specific account
npm start -- -buy your@email.com
# Monitor first account in accounts.json
npm start -- -buy
# Alternative: Enable in config (see below)
```
### **What Happens Next**
1. **đĨī¸ Dual Tab System Opens**
- **Monitor Tab** â Background monitoring (auto-refresh)
- **User Tab** â Your control for redemptions/browsing
2. **đ Passive Point Tracking**
- Reads balance every ~10 seconds
- Detects spending when points decrease
- Zero interference with your browsing
3. **đ Real-time Alerts**
- Instant notifications when spending detected
- Shows amount spent + current balance
- Tracks cumulative session spending
---
## âī¸ Configuration
### **Set Duration in Config**
Add to `src/config.jsonc`:
```json
{
"buyMode": {
"enabled": false,
"maxMinutes": 45
}
}
```
| Setting | Default | Description |
|---------|---------|-------------|
| `enabled` | `false` | Force buy mode without CLI flag |
| `maxMinutes` | `45` | Auto-stop after N minutes |
### **Enable Notifications**
Buy mode works with existing notification settings:
```json
{
"conclusionWebhook": {
"enabled": true,
"url": "https://discord.com/api/webhooks/YOUR_URL"
},
"ntfy": {
"enabled": true,
"url": "https://ntfy.sh",
"topic": "rewards"
}
}
```
---
## đĨī¸ Terminal Output
### **Startup**
```
ââââ ââââââââââââ âââââââ âââ ââââââ âââ
âââââ âââââââââââââ âââââââââââ âââââââ ââââ
âââââââââââââââââââ âââââââââââ âââ âââââââ
âââââââââââââââââââ âââââââââââ âââ âââââ
âââ âââ âââââââââââ âââââââââââââââââ âââ
âââ âââââââââââ âââââââ âââââââ âââ
Manual Purchase Mode âĸ Passive Monitoring
[BUY-MODE] Opening dual-tab system for safe redemptions...
[BUY-MODE] Monitor tab: Background point tracking
[BUY-MODE] User tab: Your control for purchases/browsing
```
### **Live Monitoring**
```
[BUY-MODE] Current balance: 15,000 points
[BUY-MODE] đ Spending detected: -500 points (new balance: 14,500)
[BUY-MODE] Session total spent: 500 points
```
---
## đ Use Cases
| Scenario | Benefit |
|----------|---------|
| **đ Gift Card Redemption** | Track exact point cost while redeeming safely |
| **đī¸ Microsoft Store Purchases** | Monitor spending across multiple items |
| **â
Account Verification** | Ensure point changes match expected activity |
| **đ Spending Analysis** | Real-time tracking of reward usage patterns |
| **đ Safe Browsing** | Use Microsoft Rewards normally with monitoring |
---
## đ ī¸ Troubleshooting
| Problem | Solution |
|---------|----------|
| **Monitor tab closes** | Script auto-reopens in background |
| **No spending alerts** | Check webhook/NTFY config; verify notifications enabled |
| **Session too short** | Increase `maxMinutes` in config |
| **Login failures** | Verify account credentials in `accounts.json` |
| **Points not updating** | Check internet connection; try refresh |
---
## đ Related Guides
- **[Getting Started](./getting-started.md)** â Initial setup and configuration
- **[Accounts & 2FA](./accounts.md)** â Microsoft account setup
- **[NTFY Notifications](./ntfy.md)** â Mobile push alerts
- **[Discord Webhooks](./conclusionwebhook.md)** â Server notifications
## Terminal Output
When you start buy mode, you'll see:
```
ââââ ââââââââââââ âââââââ âââ ââââââ âââ
âââââ âââââââââââââ âââââââââââ âââââââ ââââ
âââââââââââââââââââ âââââââââââ âââ âââââââ
âââââââââââââââââââ âââââââââââ âââ âââââ
âââ âââ âââââââââââ âââââââââââââââââ âââ
âââ âââââââââââ âââââââ âââââââ âââ
Manual Purchase Mode âĸ Passive Monitoring
[BUY-MODE] Buy mode ENABLED for your@email.com. We'll open 2 tabs:
(1) monitor tab (auto-refreshes), (2) your browsing tab
[BUY-MODE] The monitor tab may refresh every ~10s. Use the other tab...
[BUY-MODE] Opened MONITOR tab (auto-refreshes to track points)
[BUY-MODE] Opened USER tab (use this one to redeem/purchase freely)
[BUY-MODE] Logged in as your@email.com. Buy mode is active...
```
During monitoring:
```
[BUY-MODE] Detected spend: -500 points (current: 12,500)
[BUY-MODE] Monitor tab was closed; reopening in background...
```
## Features
- â
**Non-intrusive**: No clicks or navigation in your browsing tab
- â
**Real-time alerts**: Instant notifications when points are spent
- â
**Auto-recovery**: Reopens monitor tab if accidentally closed
- â
**Webhook support**: Works with Discord and NTFY notifications
- â
**Configurable duration**: Set your own monitoring time limit
- â
**Session tracking**: Complete summary of spending activity
## Use Cases
- **Manual redemptions**: Redeem gift cards or rewards while tracking spending
- **Account verification**: Monitor point changes during manual account activities
- **Spending analysis**: Track how points are being used in real-time
- **Safe browsing**: Use Microsoft Rewards normally while monitoring balance
## Notes
- Monitor tab runs in background and may refresh periodically
- Your main browsing tab is completely under your control
- Session data is saved automatically for future script runs
- Buy mode works with existing notification configurations
- No automation or point collection occurs in this mode
## Troubleshooting
- **Monitor tab closed**: Script automatically reopens it in background
- **No notifications**: Check webhook/NTFY configuration in `config.jsonc`
- **Session timeout**: Increase `maxMinutes` if you need longer monitoring
- **Login issues**: Ensure account credentials are correct in `accounts.json`