Total Memberships

-

Active

-

Expired

-

Suspended

-

Recent Activity
Loading recent activity...
News & Updates
Loading news & updates...
Blockchain Services Health
Monitors Redis, the block cache daemon, GMP, and mempool connectivity.
Admin access required to view blockchain telemetry.
No checks yet. Updates every 60 seconds.
Member Notifications
Loading notifications...
Membership Management
Loading memberships...
Giveaways
Live draws, schedules, and recent results.
Live 0
Upcoming 0
Loading giveaways...
Giveaway Timeline
  • Loading schedule...
Giveaway Summaries

Loading giveaway summaries...

Giveaway Snapshots

Loading giveaway snapshots...

Publish Giveaway
Admins publish giveaways that members can join.
Admin only
Editing giveaway:
Draws
Track draws powered by Bitcoin timestamps.
Live 0
Upcoming 0
Loading draws...
Draw Timeline
  • Loading draw schedule...
Draw summaries

Loading draw schedule...

Draw snapshots

Loading draw snapshots...

Publish Draw
Admins launch blockchain-backed draws for members.
Admin only
Editing draw:
Ticket hash verifier

Recreate the exact ticket hashes stored on the server. Enter the username (or email) tied to the purchase, the UTC timestamp shown on the receipt, and the number of tickets. For giveaways, set the ticket count to 1.

  1. Lowercase & trim the username/email.
  2. Compute SHA-256 of that value to obtain the username hash.
  3. For each ticket index, hash username_hash,index,timestamp using sha256.
  4. Compare the output with the hashes shown in your entry modal.

Example payload: username alice, ticket #1, timestamp 2025-12-03 07:53:00 produces username hash 2bd806c97f0e00af1a1fc3328fa763a9269723c8db8fac4f93af71db186d6e90 and ticket hash c138d42a8d023eccf1a02e614346a877d09301be693f1cf839bffe4db57b89ee. Giveaways always use ticket count 1.

# Python 3
import hashlib

username = 'alice'
timestamp = '2025-12-03 07:53:00'
ticket_index = 1

username_hash = hashlib.sha256(username.strip().lower().encode()).hexdigest()
payload = f"{username_hash},{ticket_index},{timestamp}"
ticket_hash = hashlib.sha256(payload.encode()).hexdigest()
print(ticket_hash)
// Node.js
const crypto = require('crypto');

const username = 'alice';
const timestamp = '2025-12-03 07:53:00';
const ticketIndex = 1;

const usernameHash = crypto.createHash('sha256')
    .update(username.trim().toLowerCase())
    .digest('hex');
const payload = `${usernameHash},${ticketIndex},${timestamp}`;
const ticketHash = crypto.createHash('sha256')
    .update(payload)
    .digest('hex');
console.log(ticketHash);
<?php
$username = 'alice';
$timestamp = '2025-12-03 07:53:00';
$ticketIndex = 1;

$usernameHash = hash('sha256', trim(strtolower($username)));
$payload = sprintf('%s,%d,%s', $usernameHash, $ticketIndex, $timestamp);
$ticketHash = hash('sha256', $payload);
echo $ticketHash;
Profile Settings
Password
Two-Factor Authentication (TOTP)

Loading security status...

Finish setup by entering a code from your authenticator app.
Recovery Codes

Store these one-time codes in a safe place. Each code can be used once if you lose access to your authenticator app.


                            
Trusted Devices & Sessions
Manage remembered logins and revoke stale sessions.
Loading trusted devices...
Last refreshed moments ago.
Help & Support
Operational runbooks for admins and support staff.
Knowledge Base
Loading topics...

Preparing guidance...

Admin tools are restricted to approved IP addresses. Contact support if you believe you should have access.
Broadcast Notification
Send announcements to everyone or a single member
System Message Template
Define the shared header, intro, and cooldown for all broadcasts.
Appears above every notification.
Displayed before the specific notification copy.
Used whenever notifications include a link.
0 disables throttling.
Preview
Template preview loading...
User Directory
Review administrator and member accounts before making changes.
Read-only
Email Display name Role Status Last login Created Directory
Loading directory...
Page 1 of 1
Create User
Minimum 8 characters.
API Access Keys
Provision API keys for trusted automation clients. Keys inherit your admin privileges.
New API key generated. Copy the token below—it will only be shown once.

Store this token securely. Rotate keys that are no longer in use.

Admin keys can access every endpoint.
Loading API keys...
SMTP Providers
Name Host Priority Active Failover Actions
No providers configured yet.
Providers are tried in ascending priority order. Enable failover to continue when a provider fails.
Email Delivery Logs
Time Provider Recipients Status Error
No email activity recorded yet.

Loading CWI Membership Manager...