Admin role required. Back to Dashboard
Concurrent requests to the CargoX relay endpoint (getSignatures / getRelayStats) are capped to keep latency in CargoX's fast regime — the latency tail grows with concurrency. Lower the cap (2–3) to tighten the tail when ticks climb; raise it (6–8) to drain a convergent burst in fewer batches. Burst attempts caps the fast 100 ms polls per 60 s cycle: an idle relayer makes exactly that many requests per minute, so lowering it (e.g. 5) directly halves idle traffic — the burst stops early anyway the moment a fresh response arrives. Changes apply live (no restart) and persist across restarts.
| Time | Endpoint | Target | Queue | Fetch | Status |
|---|---|---|---|---|---|
| Loading… | |||||
One bot powers both: outgoing whale/trade alerts and the incoming command bot
(/summary, /docs, /relayers, /price,
/chatid, /help). Create a token with @BotFather; get a group's chat id
by sending /chatid in it after deploy.
/summary, /price, …) is set per chat —
toggle Cmds in the Subscribers table below (works for groups and individual users alike).
/chatid and /help answer everywhere.
/chatid to the bot from your own private chat.Telegram lets the bot delete its own messages for 48 hours only, and in groups the bot must be an administrator.
Separate from customer account links: customers connect their own Telegram in the dashboard (Overview → Telegram) — one Telegram per account,
linked through /start link_<code>. They get only their own subscription notices and your replies; linking needs the command bot enabled.
Who linked what is listed in Users → Telegram.
Each chat picks which push types it gets. End users self-register by sending /subscribe to the bot;
a "signal" group can run digest-only. Toggle inline — changes save immediately.
| Chat | Type | On | Cmds | Auto-del | Large | Watched | Digest | Whale only | Min CXO |
|---|
| ID | Label | URL | Type | Tier | Visibility | Status | Actions |
|---|
Used by the Trade Monitor on Ethereum (/app/trades) and ETH balance lookups. The RPC table above is Polygon-only. HTTP powers backfill + polling + balances; WSS powers the live listener (leave blank → ETH runs on polling only). Needs a getLogs-capable provider (Alchemy/Infura) — the public default blocks getLogs. Env ETH_RPC_URL / ETH_WSS_RPC_URL override these.
| ID | Role | Telegram | Created | Last Login | Actions |
|---|
Tier-based pricing per relayer. Customer monthly fee = relayer_count × price_per_relayer_usd (using the tier covering their relayer count).
| Min relayers | Max relayers | Price USD | Locked CXO | CXO rate snapshot |
|---|
| Min relayers | Max relayers | Price USD | Locked CXO | CXO rate snapshot |
|---|
| Min relayers | Max relayers | Price USD | Locked CXO | CXO rate snapshot |
|---|
Defaults apply to new Basic subscriptions. Existing customers keep their current values unless you override per-customer below.
Excluded from available relayers list. Changes take effect on next sync (15 min).
| Name | Reward Address | Owner | State | CXO | POL | Docs | Actions |
|---|
Transfer to another user:
| Address | Assigned To | POL Balance | Updated | Actions |
|---|
Status of every background job since process start. Times are local. Click a row to expand details. "Run now" triggers a manual run; the schedule shown is the recurring cadence.
| Job | Schedule | Last run | Duration | Status | Result | Actions |
|---|
Real-time state of all WebSocket connections — incoming (browser tabs) + outgoing (server → Alchemy/Infura). Helps diagnose Reconnecting… blink, count tabs sharing a user, or spot provider eviction when running multi-server with one shared API key. Auto-refreshes every 5 s.
Diagnostic harness for the WebSocket layer. Probes /ws/test (admin-only echo endpoint) to measure RTT and find the largest payload that survives end-to-end (browser → nginx → Node → nginx → browser). If size N passes but N+1 fails → that's your proxy_buffer_size threshold.
The "projected today" estimate scales today's pace by the typical intraday curve. A strong morning usually mean-reverts, so damping applies today's lead to the rest of the day only in proportion to how much of the day is already banked. Off = hold the current pace all day (most optimistic in the morning). Moderate / Aggressive pull the morning estimate toward a typical finish. All settings converge to the exact total by end of day. Applies on the next pace refresh — no restart.
Wallet that performs CXO buybacks from market (CXO IN ↔ USDT/USDC OUT). Drives the buyback chart on /app/analytics. If the wallet rotates, save the new address — historical data stays, future scans target the new address. Trigger a re-sync from Background Jobs after change.
Watches the chain in real time for CXO transfers landing on the buyback wallet (above). Posts each detection to /tracker via WebSocket within ~1–3 s of TX confirmation. Requires a wss:// RPC marked as Use for sync in the RPC list below. Override here only if you want a dedicated endpoint (e.g. a separate Alchemy plan); leave blank to auto-pick.
Wallets that appear as their own slice in the CXO Supply Distribution doughnut on /tracker. Add corporate treasuries, exchange-locked holdings, or any address you want to break out from "Circulating". Balances are cached in DB and refreshed every hour by the supply-wallet-sync job. Each wallet's balance is subtracted from Circulating in the chart; if the named sum exceeds Circulating, the overflow comes from "Other".
| Label | Address | Chain | Order | CXO Balance | Last Refresh | |
|---|---|---|---|---|---|---|
| Loading… | ||||||
Human-readable names for any address, shown across Minter Inflows, the CXO Supply chart, and the public /trades rankings. Add, rename, or remove a label for any address here — independent of whether it shows in the tables above. (Re-adding the same address updates its label.)
| Address | Label | Note | Supply chart | Actions |
|---|---|---|---|---|
| Loading… | ||||
CXO transfers that flow into the Document Minter contract 0xe957…232B2E. These are the funding events that top up the relayer reward pool — buyback wallets, treasury, occasional manual top-ups. Use labels to tag known senders so the panel reads at a glance.
| Sender | Label | TXs | CXO |
|---|
Click Edit to tag a sender. Labels also surface in the Recent Inflows table below.
| Date | CXO | TXs |
|---|
| When | From | Label | CXO | TX |
|---|
When enabled, this subscription uses a custom monthly price instead of the standard tier ladder, and is capped at max relayers. Useful for negotiated deals during early platform ramp-up. The customer's Extend-subscription flow then prorates from this monthly price.
The wallet customer pays from AND receives CXO rewards to. Customer can update payment_address from their dashboard later if needed.
SQLite file size, per-table row counts, and recent write activity for the tables that grow fastest. Helps diagnose unexpected DB growth before it becomes a problem.
| Table | Timestamp column | Last 60 min | Last 24 h |
|---|---|---|---|
| Loading… | |||
| # | Table | Rows |
|---|---|---|
| Loading… | ||
Hot-write tables to watch:
market_gas_tx (every 2 min scan),
relayer_tx_stats (on-demand from /relayer page only when user clicks Load TX details),
cxo_buybacks (5–30 min cadence depending on live listener health),
payments (one row per successful verify). Sudden spike on relayer_tx_stats is the canonical signal of a crawler hammering /relayer URLs.
| ID | Label | URL | Type | Tier | Visibility | Status | Actions |
|---|