Webhook Setup

Receive real-time notifications when tracked usernames become available.

How It Works

When blosm detects that a monitored username becomes available, your webhook endpoint receives an HTTP POST with the event details. Your server should respond with 200 OK to acknowledge.

Payload Format

JSON
{
  "username": "og_handle",
  "platform": "discord",
  "event": "username_available",
  "timestamp": "2026-07-15T12:00:00Z",
  "check_id": "chk_abc123"
}

Verification

Webhook requests include a X-Webhook-Signature header. Verify this HMAC-SHA256 signature using your webhook secret to ensure requests are legitimate.

JAVASCRIPT
// Node.js signature verification
const crypto = require('crypto');
const secret = 'YOUR_WEBHOOK_SECRET_HERE'; // Set via NOWPAYMENTS_IPN_SECRET env var
const sig = request.headers['x-webhook-signature'];
const payload = JSON.stringify(request.body);
const expected = crypto
  .createHmac('sha256', secret)
  .update(payload)
  .digest('hex');
if (sig !== expected) {
  throw new Error('Invalid signature');
}

Example Server

JAVASCRIPT
// Express.js webhook receiver
app.post('/webhook/blosm', (req, res) => {
  const event = req.body;
  console.log(`Username available: ${event.username}`);
  
  // Your logic here — send Discord notification,
  // trigger auto-claim, log to database, etc.
  
  res.status(200).json({ received: true });
});

Need help?

Configure webhook URLs in your dashboard. Contact support if you run into issues.