/* global React */
/* hc-exchange — deep surfaces: TickerDetail, History, Deposits, Settings */
const { useState: dUseState, useMemo: dUseMemo } = React;
// =========================================================
// TICKER DETAIL
// =========================================================
function TickerDetail({ token, onClose }) {
const t = token;
const [tf, setTf] = dUseState("1D");
const [tab, setTab] = dUseState("Overview");
const TFs = [];
const TABS = ["Overview", "Order Book", "Trades", "About", "Activity"];
// Synthetic price series for big chart
const series = dUseMemo(() => {
let seed = t.sym.charCodeAt(0) * 17 + t.sym.charCodeAt(1) * 7;
const rng = () => {
seed = (seed * 9301 + 49297) % 233280;
return seed / 233280;
};
const N = 90;
let p = t.price * 0.92;
const arr = [];
for (let i = 0; i < N; i++) {
const drift = (t.ch / 100) * (i / N);
p = p * (1 + (rng() - 0.48) * 0.018) * (1 + drift / N);
arr.push(p);
}
arr[arr.length - 1] = t.price;
return arr;
}, [t.sym]);
const W = 1080, H = 360;
const min = Math.min(...series) * 0.998;
const max = Math.max(...series) * 1.002;
const x = (i) => 16 + (i / (series.length - 1)) * (W - 32);
const y = (v) => 16 + (1 - (v - min) / (max - min)) * (H - 32);
const path = series.map((v, i) => `${i === 0 ? "M" : "L"}${x(i).toFixed(1)},${y(v).toFixed(1)}`).join(" ");
const area = path + ` L${x(series.length - 1).toFixed(1)},${(H - 16).toFixed(1)} L${x(0).toFixed(1)},${(H - 16).toFixed(1)} Z`;
const up = t.ch >= 0;
const stroke = up ? "var(--hcx-bid)" : "var(--hcx-ask)";
// Order book rows
const bookRows = dUseMemo(() => {
let s = t.sym.charCodeAt(0) * 11;
const rng = () => { s = (s * 9301 + 49297) % 233280; return s / 233280; };
const bids = []; const asks = [];
let bp = t.price * 0.9998;
let ap = t.price * 1.0002;
for (let i = 0; i < 12; i++) {
bp = bp - t.price * 0.0003 * (1 + rng());
ap = ap + t.price * 0.0003 * (1 + rng());
bids.push({ p: bp, q: 1000 + rng() * 14000, t: 50000 + rng() * 200000 });
asks.push({ p: ap, q: 1000 + rng() * 14000, t: 50000 + rng() * 200000 });
}
return { bids, asks };
}, [t.sym]);
// Recent trades
const trades = dUseMemo(() => {
let s = t.sym.charCodeAt(0) * 31 + 7;
const rng = () => { s = (s * 9301 + 49297) % 233280; return s / 233280; };
const arr = [];
let now = Date.now();
for (let i = 0; i < 16; i++) {
now -= Math.floor(rng() * 8000) + 800;
const side = rng() > 0.5 ? "buy" : "sell";
const p = t.price * (1 + (rng() - 0.5) * 0.0008);
const q = 50 + rng() * 4500;
arr.push({ t: now, side, p, q });
}
return arr;
}, [t.sym]);
return (
{/* Breadcrumb */}
{/* Header strip */}
⚕{fmtNum(t.price)}
{up ? "▲" : "▼"} {Math.abs(t.ch).toFixed(2)}% {up ? "+" : "−"}⚕{fmtNum(Math.abs(t.price * t.ch / 100), 6)}
past 24h
24h Vol {fmtVol(t.vol)}
24h High ⚕{fmtNum(t.hi)}
24h Low ⚕{fmtNum(t.lo)}
Mkt Cap {fmtVol(t.vol * 18.4)}
Buy {t.sym}
Sell
★
{/* Tabs */}
{TABS.map(x => (
setTab(x)}>{x}
))}
{tab === "Overview" && (
{/* Chart */}
Price · {t.sym}/HCC
{TFs.map(f => (
setTf(f)} style={{ padding: "5px 10px" }}>{f}
))}
{/* gridlines */}
{[0.2, 0.4, 0.6, 0.8].map((g, i) => (
))}
{/* current price marker */}
⚕{fmtNum(t.price)}
{/* axis labels */}
90d ago
now
{/* Mini order book */}
Order Book — Top 10
Price (HCC)
Size
Total
{bookRows.asks.slice(0, 6).reverse().map((r, i) => (
{fmtNum(r.p)}
{r.q.toFixed(0)}
{(r.q * r.p).toFixed(0)}
))}
SPREAD
⚕{fmtNum(t.price * 0.0004, 6)}
0.04%
{bookRows.bids.slice(0, 6).map((r, i) => (
{fmtNum(r.p)}
{r.q.toFixed(0)}
{(r.q * r.p).toFixed(0)}
))}
{/* Token meta / about */}
About {t.sym}
Issuer
Conceptual Health · Treasury Vault
Backing
{t.axis === "PV" ? "USDC + verified care receipts" : "Verified " + AXES[t.axis].name + " contributions"}
Issuance Rate
{t.axis === "PV" ? "1:1 USD-pegged" : "Earned via verified activity events"}
Audit Status
● Live attestations · last 14s
Listed
2024-09-01 · 14 months ago
Validator Set
8 of 11 · quorum 73%
Smart Contract
0x{t.sym.toLowerCase()}88a4{t.rank.toString(16)}c7e2…91d
What is {t.name}?
{t.axis === "PO" && "Earned when verifiable physical activity events (steps, workouts, gym visits) clear quorum on the Guardian-Orb chain. Issuance is rate-limited by axis schedule. 21B hard cap."}
{t.axis === "NM" && "Earned when verifiable neurocognitive events (meditation completions, cognitive training, attestation-backed therapy adherence) clear quorum on the Provider-AI chain."}
{t.axis === "ER" && "Earned when verifiable emotional-resilience events (therapy session receipts, certified mindfulness completions, stress biomarker improvements) clear quorum."}
{t.axis === "SC" && "Earned when verifiable spiritual and community-service events (faith-community participation, volunteer hours with notarized receipts) clear quorum on Church chain."}
{t.axis === "RS" && "Earned when verifiable relational and sleep events (sleep-score attestations, social health check-ins) clear quorum on the Guardian-Orb chain."}
{t.axis === "ES" && "Earned when verifiable environmental events (clean-air exposure, low-pollutant home readings, biome diversity assessments) clear quorum."}
{t.axis === "TA" && "Earned when verifiable technological augmentation events (medication adherence logs, lab compliance, wearable data contributions) clear quorum on Provider-AI chain."}
{t.axis === "PV" && "Quote token. 1 HCC ≡ 1 USD via redeemable USDC reserves. All token pairs on HC.exchange settle into HCC. Spend anywhere Visa is accepted via PCI-validated processor Issuing."}
)}
{tab === "Order Book" && (
Full Order Book — {t.sym}/HCC
refreshed 0.4s ago
ASKS
Size
Total HCC
{bookRows.asks.map((r, i) => (
{fmtNum(r.p)}
{r.q.toFixed(0)}
{(r.q * r.p).toFixed(0)}
))}
BIDS
Size
Total HCC
{bookRows.bids.map((r, i) => (
{fmtNum(r.p)}
{r.q.toFixed(0)}
{(r.q * r.p).toFixed(0)}
))}
)}
{tab === "Trades" && (
Recent Trades — {t.sym}/HCC
Time
Side
Price (HCC)
Quantity
Total HCC
Validator
{trades.map((tr, i) => (
{new Date(tr.t).toLocaleTimeString([], { hour12: false })}
{tr.side.toUpperCase()}
{fmtNum(tr.p)}
{tr.q.toFixed(0)}
{(tr.p * tr.q).toFixed(2)}
v-{(i % 11) + 1}.guardian
))}
)}
{tab === "About" && (
{t.name} — Token Specification
{t.name} ({t.sym}) is a verified-event commodity token on the Conceptual Health chain.
Each unit represents a quorum-attested {AXES[t.axis].name.toLowerCase()} contribution
from a person, provider, or care system.
Issuance
Issued only when a contribution event clears 8-of-11 validator quorum on its origin chain.
Burned when redeemed against eligible care services or commodity baskets.
Redemption
Redeemable 1:1 against equivalent {t.axis === "PV" ? "USD" : "axis"} basket through any participating
Conceptual Health partner — health systems, churches, employers, payers.
Risk Disclosures
Token represents a verified care receipt, not a security. Yield, where applicable, derives from
staking rewards on the chain — not from issuer revenue. Past attestation rates do not guarantee
future issuance.
)}
{tab === "Activity" && (
Recent Chain Activity — {t.sym}
Block
Event
Source
Δ Supply
Quorum
Status
{[
{ blk: 4_028_119, evt: "Mint · activity event", src: "Guardian-Orb · u_8841", ds: "+12.40", q: "11/11", st: "✓ Settled" },
{ blk: 4_028_117, evt: "Burn · redeemed for service", src: "Provider-AI · MercyHealth", ds: "−4.20", q: "11/11", st: "✓ Settled" },
{ blk: 4_028_114, evt: "Mint · activity event", src: "Guardian-Orb · u_2014", ds: "+18.10", q: "10/11", st: "✓ Settled" },
{ blk: 4_028_110, evt: "Mint · validator quorum", src: "Guardian-Orb · batch", ds: "+842.00", q: "11/11", st: "✓ Settled" },
{ blk: 4_028_108, evt: "Burn · withdraw to bank", src: "Treasury · ach_8821", ds: "−1,420.00", q: "11/11", st: "✓ Settled" },
{ blk: 4_028_104, evt: "Mint · attestation", src: "Provider-AI · review", ds: "+24.00", q: "9/11", st: "⏳ Pending" },
{ blk: 4_028_101, evt: "Transfer", src: "u_8841 → u_3022", ds: "0", q: "11/11", st: "✓ Settled" },
].map((row, i) => (
#{row.blk.toLocaleString()}
{row.evt}
{row.src}
{row.ds}
{row.q}
{row.st}
))}
)}
);
}
// =========================================================
// HISTORY VIEW — orders, trades, transfers
// =========================================================
function HistoryView() {
const [tab, setTab] = dUseState("Trades");
const TABS = ["Trades", "Orders", "Transfers", "Mints / Burns"];
const trades = [];
const orders = [];
const transfers = [];
const mints = [];
return (
Account · activity log
History
Export CSV
Filters ▾
Date range ▾
{TABS.map(x => (
setTab(x)}>{x}
))}
{tab === "Trades" && (
Time
Side
Pair
Quantity
Price (HCC)
Total HCC
Fee
Status
{trades.map((r, i) => (
{r.t}
{r.side.toUpperCase()}
{r.sym}/HCC
{r.q.toLocaleString(undefined, { minimumFractionDigits: 2, maximumFractionDigits: 2 })}
{fmtNum(r.p)}
{r.total.toFixed(2)}
{r.fee.toFixed(2)}
● {r.status}
))}
)}
{tab === "Orders" && (
Time
Side
Pair
Type
Quantity
Limit Px
Filled
Status
{orders.map((r, i) => (
{r.t}
{r.side.toUpperCase()}
{r.sym}/HCC
{r.type}
{r.q.toLocaleString()}
{fmtNum(r.p)}
{r.filled}
{r.status === "Open" ? "◐" : r.status === "Cancelled" ? "✕" : "●"} {r.status}
{r.status === "Open" && Cancel }
))}
)}
{tab === "Transfers" && (
Time
Direction
Asset
Quantity
Address / Source
Note
Status
{transfers.map((r, i) => (
{r.t}
{r.dir === "in" ? "↓ IN" : "↑ OUT"}
{r.sym}
{r.q.toLocaleString(undefined, { minimumFractionDigits: 2, maximumFractionDigits: 2 })}
{r.addr}
{r.note}
● {r.status}
))}
)}
{tab === "Mints / Burns" && (
Block
Time
Token
Δ Supply
Event
Quorum
{mints.map((r, i) => (
#{r.blk.toLocaleString()}
{r.t}
{r.sym}
{r.ds}
{r.evt}
{r.q}
))}
)}
Showing 10 of 247 records
‹ Prev
Next ›
);
}
// =========================================================
// DEPOSITS VIEW — fund / withdraw
// =========================================================
function DepositsView() {
const [mode, setMode] = dUseState("deposit");
const [method, setMethod] = dUseState("ACH");
const [amount, setAmount] = dUseState("1000");
const methods = [];
const recent = [];
return (
Account · funding
Deposits & Withdrawals
setMode("deposit")}>↓ Deposit
setMode("withdraw")}>↑ Withdraw
{/* Method picker */}
{mode === "deposit" ? "Choose deposit method" : "Choose withdrawal method"}
{methods.map(m => (
setMethod(m.id)}>
{method === m.id ? "●" : "○"}
{m.label}
fee · {m.fee}
settles · {m.settle}
min · {m.min}
max · {m.max}
))}
{/* Amount + summary */}
{mode === "deposit" ? "Amount to deposit" : "Amount to withdraw"}
{mode === "withdraw" && (
Available to withdraw: ⚕12,488.40 HCC
)}
{["100", "500", "1000", "5000", "Max"].map(v => (
setAmount(v === "Max" ? "12488.40" : v)}>{v}
))}
{mode === "deposit" ? "You send" : "You withdraw"}
${(parseFloat(amount) || 0).toFixed(2)} {method === "USDC" ? "USDC" : "USD"}
Fee · {methods.find(m => m.id === method).label}
{method === "Card" ? `$${((parseFloat(amount) || 0) * 0.0149).toFixed(2)}` : method === "Wire" ? "$15.00" : "$0.00"}
Network fee
{method === "USDC" || method === "HCR" ? "$1.20" : "$0.00"}
{mode === "deposit" ? "You receive" : "Net to bank"}
⚕{((parseFloat(amount) || 0) * (method === "Card" ? 0.985 : 1) - (method === "Wire" ? 15 : 0)).toFixed(2)} HCC
Estimated arrival
{methods.find(m => m.id === method).settle}
{mode === "deposit" ? `Deposit $${amount}` : `Withdraw $${amount}`} →
SETTLED ON-CHAIN · 8/11 VALIDATOR QUORUM · INSURED TO $250K BY ACME TRUST
{/* Linked accounts */}
Linked funding sources
+ Link new
Source
Type
Last 4
Linked
Verification
Default
Wells Fargo · Checking
Bank · ACH
•••• 4422
2024-09-12
● Plaid verified
★ Default
Manage
Chase Sapphire
Card · Debit
•••• 9081
2025-04-22
● Verified
—
Manage
USDC · Ethereum mainnet
Crypto · ERC-20
0x71c8…ef02
2025-01-14
● On-chain verified
—
Manage
{/* Recent activity */}
Recent funding activity
Time
Direction
Method
Amount
Asset
ETA
Status
{recent.map((r, i) => (
{r.t}
{r.dir === "in" ? "↓ IN" : "↑ OUT"}
{r.method}
${r.amt.toFixed(2)}
{r.asset}
{r.eta}
{r.status === "Pending" ? "⏳" : "●"} {r.status}
))}
{/* Virtual cards */}
Virtual cards \u00b7 spend HCC like USD
+ Issue card
Conceptual Health \u00b7 PCI-validated processor Issuing
HC \u00b7 ACTIVE
4242 \u2022\u2022\u2022\u2022 \u2022\u2022\u2022\u2022 8801
EXP 09/28 CVV \u2022\u2022\u2022
SARAH J. CHEN
\u25CF LIVE
Spend your HCC balance anywhere Visa is accepted. Card swipes auto-convert HCC \u2192 USD at the chain settlement price (no slippage above 0.1%) and the underlying tokens settle to the Reserve wallet on-chain. Issued via PCI-validated processor Issuing ; full PCI-DSS handled by PCI-validated processor; CH never sees the PAN.
Card Last 4 Limit Spend MTD Status
Health spend (default) \u2022\u2022\u2022\u2022 8801 $2,500 / mo $487.20 \u25CF Active Manage
Pharmacy only \u2022\u2022\u2022\u2022 4407 $800 / mo $132.05 \u25CF Active Manage
One-time \u00b7 dental \u2022\u2022\u2022\u2022 9812 $1,200 burned $1,150.00 \u25CF Closed Receipt
CARD SWIPE \u00b7 HCC\u2192USD \u00b7 SETTLES TO 0xR8\u2026D51B (RESERVE) \u00b7 1099-DA REPORTABLE
{/* Fee tier ladder */}
Maker / taker fee ladder \u00b7 your tier today
Tier 30-day volume Maker Taker Withdrawal fee Perks
{[
{ t: "Tier 0", v: "< $10K", mk: "0.10%", tk: "0.10%", w: "$0.50 / withdraw", p: "Standard" },
{ t: "Tier 1", v: "$10K \u2013 $100K", mk: "0.08%", tk: "0.10%", w: "$0.50 / withdraw", p: "Priority support \u00b7 1 free wire/mo", active: true },
{ t: "Tier 2", v: "$100K \u2013 $1M", mk: "0.05%", tk: "0.08%", w: "Free", p: "Virtual cards \u00b7 4 free wires/mo \u00b7 API rate \u00d72" },
{ t: "Tier 3", v: "$1M \u2013 $10M", mk: "0.02%", tk: "0.05%", w: "Free", p: "OTC desk \u00b7 institutional reporting \u00b7 dedicated PM" },
{ t: "Tier 4", v: "\u2265 $10M", mk: "0.00%", tk: "0.02%", w: "Free", p: "White-glove \u00b7 custom tax export \u00b7 governance signal" },
].map((r, i) => (
{r.t} {r.active && \u25CF YOU }
{r.v}
{r.mk}
{r.tk}
{r.w}
{r.p}
))}
You are Tier 1 . $67,402 more in 30-day volume unlocks Tier 2 (Virtual cards + free withdrawals).
Volume is rolling 30-day, all assets, in USD-equivalent at fill price. Tier reviews nightly.
);
}
// =========================================================
function SettingsView() {
const [section, setSection] = dUseState("Profile");
const sections = [];
return (
Account · settings
Settings
{/* Sidebar */}
{sections.map(s => (
{ e.preventDefault(); setSection(s); }}>
{s}
))}
{/* Content */}
{section === "Profile" && }
{section === "Security" && }
{section === "Notifications" && }
{section === "Tax & Reporting" && }
{section === "API Keys" && }
{section === "Danger Zone" && }
);
}
function SettingsRow({ label, sub, children }) {
return (
);
}
function SettingsProfile() {
return (
);
}
function SettingsSecurity() {
return (
);
}
function SettingsNotifications() {
const rows = [];
return (
);
}
function SettingsTax() {
return (
Tax & Reporting
FIFO LIFO HIFO Specific ID
● Will be issued
Preview YTD
Download YTD report
Year-to-date summary
Earned (1099-NEC)
⚕1,840.20
);
}
function SettingsAPI() {
return (
API Keys
Use API keys to integrate HC.exchange with trading bots, accounting software, or treasury systems. Read-only keys recommended for analytics.
Label
Key
Permissions
Created
Last used
IP allowlist
Treasury · read-only
hcx_pk_a8…f0c2
read
2025-04-12
2 hours ago
2 IPs
Revoke
Trading bot · prod
hcx_pk_b2…918a
read trade
2025-08-30
14m ago
1 IP
Revoke
+ Generate new API key
);
}
function SettingsDanger() {
return (
Danger zone
Request export
Disable
Close account →
);
}
// Expose
Object.assign(window, { TickerDetail, HistoryView, DepositsView, SettingsView });