From ac0522ae83b0c378ff1a56f9f2d3fbfd69fb6190 Mon Sep 17 00:00:00 2001
From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com>
Date: Sat, 11 Apr 2026 22:48:49 +0000
Subject: [PATCH 1/2] Initial plan
From 7c156d91d5ea0e52f38e6468e06a34d5834e3f63 Mon Sep 17 00:00:00 2001
From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com>
Date: Sat, 11 Apr 2026 23:39:12 +0000
Subject: [PATCH 2/2] Remove all Solana wallet/Web3/NFT references sitewide
Agent-Logs-Url: https://github.com/DarkModder33/main/sessions/323d1ab2-a584-4779-b497-551f35bb562a
Co-authored-by: DarkModder33 <254196519+DarkModder33@users.noreply.github.com>
---
app/api/ai/admin/benchmarks/route.ts | 2 +-
app/api/environment/init/route.ts | 4 -
app/api/game/claim-artifact/route.ts | 8 +-
app/api/game/leaderboard/route.ts | 8 -
app/api/staking/pool-v2/route.ts | 37 ---
app/crypto-project/page.tsx | 63 ++---
app/game/GamePageClient.tsx | 89 ++-----
app/investor-academy/page.tsx | 2 +-
app/layout.tsx | 23 +-
app/page.tsx | 4 +-
app/portfolio/page.tsx | 8 +-
app/services/page.tsx | 50 ++--
app/tokenomics/page.tsx | 70 +++--
app/web3-token-roadmap-consulting/page.tsx | 52 ++--
.../admin/InvestorAcademyAdminPanel.tsx | 14 +-
components/ai/ChatStreamPanel.tsx | 6 +-
components/ai/ConsentCenter.tsx | 2 +-
components/ai/ImageGeneratorComponent.tsx | 6 +-
components/counter/WalletButton.tsx | 43 +--
components/counter/hooks/useProgram.tsx | 8 +-
components/dashboard/Navbar.tsx | 17 +-
components/dashboard/NeuralVault.tsx | 94 ++-----
.../education/InvestorAcademyExperience.tsx | 46 ++--
components/game/CommunityLeaderboard.tsx | 24 +-
components/game/GameHUD.tsx | 15 +-
components/game/HaxHub.tsx | 2 +-
components/game/HyperboreaGame.tsx | 1 -
components/game/NFTMintPanel.tsx | 247 ------------------
components/game/SpadesGame.tsx | 13 +-
components/intro/HyperboreaIntroOverlay.tsx | 6 +-
components/landing/AINeuralHub.tsx | 110 ++------
components/landing/FeaturesSection.tsx | 6 +-
components/landing/GamingNFTSection.tsx | 20 +-
components/landing/HeroBackground.tsx | 2 +-
components/landing/HowItWorksSection.tsx | 10 +-
components/landing/Roadmap.tsx | 10 +-
components/landing/ServiceGrid.tsx | 8 +-
components/landing/hub/HubMarketWorkspace.tsx | 5 +-
components/landing/hub/HubMetricsRail.tsx | 2 +-
components/monetization/AffiliateBanner.tsx | 11 -
components/music/TokenRoadmap.tsx | 34 +--
components/onboarding/GamifiedOnboarding.tsx | 8 +-
components/shamrock/ShamrockFooter.tsx | 6 +-
components/trading/TradehaxBotDashboard.tsx | 8 +-
components/ui/ConnectWalletBtn.tsx | 39 ---
components/ui/LiveActivity.tsx | 12 +-
components/ui/NeuralConsole.tsx | 4 +-
lib/affiliates.ts | 9 -
lib/ai/credit-system.ts | 21 --
lib/ai/data-ingestion.ts | 6 +-
lib/ai/kernel.ts | 27 +-
lib/ai/smart-environment.ts | 1 -
lib/ai/training-benchmarks.ts | 6 +-
lib/content/blog-posts.ts | 46 ++--
lib/feature-flags.ts | 12 +-
lib/game/leaderboard-types.ts | 4 -
lib/game/level-generator.ts | 3 +-
lib/game/level-types.ts | 5 +-
lib/investor-academy/modules.ts | 8 +-
lib/investor-academy/store.ts | 2 +-
lib/service-conversions.ts | 8 +-
lib/social-preview.ts | 2 +-
lib/trading/hax-token.ts | 122 ---------
lib/wallet-provider.tsx | 50 ----
64 files changed, 390 insertions(+), 1201 deletions(-)
delete mode 100644 app/api/staking/pool-v2/route.ts
delete mode 100644 components/game/NFTMintPanel.tsx
delete mode 100644 components/ui/ConnectWalletBtn.tsx
delete mode 100644 lib/trading/hax-token.ts
delete mode 100644 lib/wallet-provider.tsx
diff --git a/app/api/ai/admin/benchmarks/route.ts b/app/api/ai/admin/benchmarks/route.ts
index 9fd049a4..7ed77d03 100644
--- a/app/api/ai/admin/benchmarks/route.ts
+++ b/app/api/ai/admin/benchmarks/route.ts
@@ -25,7 +25,7 @@ type BenchmarkMutationRequest = {
| "response_quality"
| "execution_safety"
| "personalization_lift"
- | "web5_game_integration"
+ | "game_integration"
| "live_chart_readiness";
score?: number;
notes?: string;
diff --git a/app/api/environment/init/route.ts b/app/api/environment/init/route.ts
index eb7a1443..7025ce95 100644
--- a/app/api/environment/init/route.ts
+++ b/app/api/environment/init/route.ts
@@ -8,14 +8,12 @@ import {
enforceRateLimit,
enforceTrustedOrigin,
isJsonContentType,
- sanitizePlainText,
} from "@/lib/security";
import { NextRequest, NextResponse } from "next/server";
import crypto from "node:crypto";
interface EnvironmentInitRequest {
userId?: string;
- walletAddress?: string;
preferences?: {
riskTolerance?: "conservative" | "moderate" | "aggressive";
tradingExperience?: "beginner" | "intermediate" | "expert";
@@ -44,7 +42,6 @@ export async function POST(request: NextRequest) {
try {
const body: EnvironmentInitRequest = await request.json();
const userId = await resolveRequestUserId(request, body.userId);
- const walletAddress = sanitizePlainText(String(body.walletAddress || ""), 96);
const riskTolerance =
body.preferences?.riskTolerance === "conservative" ||
body.preferences?.riskTolerance === "moderate" ||
@@ -64,7 +61,6 @@ export async function POST(request: NextRequest) {
const environment = {
userId,
- walletAddress: walletAddress || null,
preferences: {
riskTolerance,
tradingExperience,
diff --git a/app/api/game/claim-artifact/route.ts b/app/api/game/claim-artifact/route.ts
index 9decbd01..fde3a2b0 100644
--- a/app/api/game/claim-artifact/route.ts
+++ b/app/api/game/claim-artifact/route.ts
@@ -10,7 +10,6 @@ import {
import { NextResponse } from "next/server";
const SAFE_ID_REGEX = /^[a-zA-Z0-9._:-]{1,128}$/;
-const SAFE_COLLECTION_REGEX = /^[a-zA-Z0-9._:/-]{1,160}$/;
function isSafeId(value: string) {
return SAFE_ID_REGEX.test(value);
@@ -64,8 +63,6 @@ function isArtifactCollectionEvent(value: unknown, request: Request): value is A
isFiniteNumberInRange(event.tokenRewardUnits, 0, 250_000) &&
typeof event.claimEndpoint === "string" &&
endpointMatchesRequest(event.claimEndpoint, request) &&
- typeof event.web5Collection === "string" &&
- SAFE_COLLECTION_REGEX.test(event.web5Collection) &&
isIsoDateString(event.collectedAt) &&
utilityFieldsValid
);
@@ -121,8 +118,8 @@ export async function POST(request: Request) {
queuedAt: new Date().toISOString(),
settlement: {
status: "queued",
- mode: "web5-preclaim",
- networkHint: "l2-staging",
+ mode: "preclaim",
+ networkHint: "staging",
},
claimRecord: {
levelId: payload.levelId,
@@ -132,7 +129,6 @@ export async function POST(request: Request) {
utilityPointsAfterEvent: payload.utilityPointsAfterEvent ?? null,
utilityTokenBonusUnits: payload.utilityTokenBonusUnits ?? 0,
lockedAtPickup: payload.lockedAtPickup ?? false,
- collection: payload.web5Collection,
},
},
{ headers: withBaseHeaders(rate.headers) },
diff --git a/app/api/game/leaderboard/route.ts b/app/api/game/leaderboard/route.ts
index cf890199..b50d8be2 100644
--- a/app/api/game/leaderboard/route.ts
+++ b/app/api/game/leaderboard/route.ts
@@ -17,7 +17,6 @@ import { NextResponse } from "next/server";
const MAX_ENTRIES = 100;
const MAX_SEEN_SESSION_KEYS = 2_000;
const SAFE_ID_REGEX = /^[a-zA-Z0-9._:-]{1,128}$/;
-const SAFE_WALLET_REGEX = /^[1-9A-HJ-NP-Za-km-z]{32,64}$/;
const SCORE_BOUNDS = {
score: { min: 0, max: 5_000_000 },
@@ -137,10 +136,6 @@ function isValidSubmission(payload: LeaderboardSubmission) {
if (oauthUserId.length < 1) return false;
}
- if (payload.walletAddress && !SAFE_WALLET_REGEX.test(payload.walletAddress)) {
- return false;
- }
-
return true;
}
@@ -151,8 +146,6 @@ function toEntry(payload: LeaderboardSubmission): LeaderboardEntry {
displayName: sanitizeDisplayName(payload.displayName),
oauthProvider: payload.oauthProvider,
oauthUserId: sanitizeOptionalId(payload.oauthUserId, 256),
- walletAddress: sanitizeOptionalId(payload.walletAddress, 128),
- web5Enabled: Boolean(payload.web5Enabled && payload.walletAddress),
levelId: sanitizePlainText(run.levelId, 128) || "level",
score: Math.round(run.score),
combo: Math.round(run.combo),
@@ -172,7 +165,6 @@ function toEntry(payload: LeaderboardSubmission): LeaderboardEntry {
function getSessionKey(payload: LeaderboardSubmission) {
const identity =
sanitizeOptionalId(payload.oauthUserId, 256) ??
- sanitizeOptionalId(payload.walletAddress, 128) ??
sanitizeDisplayName(payload.displayName).toLowerCase();
return `${payload.run.sessionId}:${payload.oauthProvider}:${identity}`;
}
diff --git a/app/api/staking/pool-v2/route.ts b/app/api/staking/pool-v2/route.ts
deleted file mode 100644
index f44d9abe..00000000
--- a/app/api/staking/pool-v2/route.ts
+++ /dev/null
@@ -1,37 +0,0 @@
-import { enforceRateLimit, enforceTrustedOrigin } from "@/lib/security";
-import { NextRequest, NextResponse } from "next/server";
-
-export async function GET(request: NextRequest) {
- const originBlock = enforceTrustedOrigin(request);
- if (originBlock) {
- return originBlock;
- }
-
- const rateLimit = enforceRateLimit(request, {
- keyPrefix: "staking:pool-v2",
- max: 100,
- windowMs: 60_000,
- });
- if (!rateLimit.allowed) {
- return rateLimit.response;
- }
-
- return NextResponse.json(
- {
- ok: true,
- pool: {
- id: "hax_pool_v2",
- status: "beta_live",
- totalValueLockedUsd: 184250,
- activeStakers: 312,
- baseAprPct: 14.2,
- boostedAprPct: 19.4,
- rewardsToken: "$HAX",
- note:
- "Dynamic allocation and governance-routed reward weights are staged for production activation.",
- },
- generatedAt: new Date().toISOString(),
- },
- { headers: rateLimit.headers },
- );
-}
diff --git a/app/crypto-project/page.tsx b/app/crypto-project/page.tsx
index f7aa46a9..a98faea4 100644
--- a/app/crypto-project/page.tsx
+++ b/app/crypto-project/page.tsx
@@ -1,5 +1,4 @@
-import { WalletButton } from "@/components/counter/WalletButton";
-import { ActionRail } from "@/components/monetization/ActionRail";
+import { ActionRail } from "@/components/monetization/ActionRail";
import { TrackedCtaLink } from "@/components/monetization/TrackedCtaLink";
import { ShamrockFooter } from "@/components/shamrock/ShamrockFooter";
import { createPageMetadata } from "@/lib/seo";
@@ -12,22 +11,22 @@ import {
} from "lucide-react";
export const metadata = createPageMetadata({
- title: "Crypto and Web3 Project | TradeHax AI",
+ title: "Digital Services & Product Roadmap | TradeHax AI",
description:
- "Explore TradeHax AI Web3 progress, including wallet onboarding, NFT utility planning, and product roadmap updates.",
+ "Explore TradeHax AI's service roadmap including AI consulting, web development, game experiences, and premium platform updates.",
path: "/crypto-project",
- keywords: ["web3 project", "multi-chain onboarding", "nft utility roadmap", "crypto product updates"],
+ keywords: ["digital services", "ai consulting", "web development", "product roadmap", "platform updates"],
});
const features = [
{
- title: "Connect Wallet",
- text: "Securely link your crypto wallet when you want on-chain features. Optional for regular browsing.",
+ title: "AI Consulting",
+ text: "Get expert guidance on integrating AI into your workflow, products, and business operations.",
icon: ShieldCheck,
},
{
- title: "Entry Mint",
- text: "Create your token access pass (mint) for gated tools, game rewards, and roadmap drops.",
+ title: "Web Development",
+ text: "Custom websites, apps, and digital systems built for revenue and growth.",
icon: Gem,
},
{
@@ -37,7 +36,7 @@ const features = [
},
{
title: "Game + Rewards Integration",
- text: "Hyperborea rewards connect to scoring, with bonuses based on rarity and user skill progression.",
+ text: "Hyperborea rewards connect to scoring, with bonuses based on gameplay and skill progression.",
icon: Sparkles,
},
] as const;
@@ -48,21 +47,18 @@ export default function CryptoProjectPage() {
- Chain Project Hub
+ Platform Hub
- Crypto Project Roadmap
+ Product Roadmap
- Clear updates on wallet onboarding, token access, and premium utility planning tied to the broader platform.
+ Clear updates on service offerings, platform access, and premium utility planning tied to the broader platform.
-
-
-
Open Hyperborea
@@ -71,30 +67,15 @@ export default function CryptoProjectPage() {
- Mint Upgrade Plans
+ View Upgrade Plans
-
-
-
Quick glossary
-
-
- Mint: Create your token access pass.
-
-
- Connect Wallet: Securely link your crypto account.
-
-
- Utility: The practical benefits tied to your token/pass.
-
-
-
-
+
{features.map(({ title, text, icon: Icon }) => (
@@ -111,17 +92,17 @@ export default function CryptoProjectPage() {
Project Notes
- Wallet features remain optional and are introduced only when relevant.
- Token access is designed to support service value, not add friction.
- We track conversion from game activity, mint actions, and bookings.
+ All features are designed to support service value and reduce friction for visitors.
+ Premium access is built around subscriptions, not token gating.
+ We track conversion from game activity, bookings, and service inquiries.
Advanced implementation notes
- Keep mint APIs behind secure environment variables and server-side validation.
- Route wallet-connected users into relevant service and subscription offers when features are live.
- Apply analytics across game sessions, mint actions, and booking submissions for optimization.
+ Keep service APIs behind secure environment variables and server-side validation.
+ Route users into relevant service and subscription offers based on their interests.
+ Apply analytics across game sessions, booking submissions, and service inquiries for optimization.
diff --git a/app/game/GamePageClient.tsx b/app/game/GamePageClient.tsx
index 971b0a9b..f6fcf74b 100644
--- a/app/game/GamePageClient.tsx
+++ b/app/game/GamePageClient.tsx
@@ -1,10 +1,8 @@
"use client";
-import { WalletButton } from "@/components/counter/WalletButton";
import { GameAudio } from "@/components/game/GameAudio";
import { GameHUD } from "@/components/game/GameHUD";
import { HyperboreaGame } from "@/components/game/HyperboreaGame";
-import { NFTMintPanel } from "@/components/game/NFTMintPanel";
import { AdSenseBlock } from "@/components/monetization/AdSenseBlock";
import { PremiumUpgrade } from "@/components/monetization/PremiumUpgrade";
import { ShamrockFooter } from "@/components/shamrock/ShamrockFooter";
@@ -18,7 +16,6 @@ import type {
HyperboreaLevelDefinition,
} from "@/lib/game/level-types";
import { isHyperboreaLevelDefinition } from "@/lib/game/level-types";
-import { useWallet } from "@/lib/wallet-provider";
import { AnimatePresence, motion } from "framer-motion";
import {
Gamepad2,
@@ -104,10 +101,7 @@ export default function GamePage() {
const [showControlCoach, setShowControlCoach] = useState(false);
const [playerAlias, setPlayerAlias] = useState("Guest");
const pressedControlsRef = useRef>>(new Set());
- const { status: walletStatus, address } = useWallet();
const { data: session } = useSession();
- const walletConnected = walletStatus === "CONNECTED";
- const walletAddress = address ?? undefined;
const topArtifacts = useMemo(() => artifactFeed.slice(0, 3), [artifactFeed]);
const oauthProvider = useMemo(() => {
@@ -415,7 +409,7 @@ export default function GamePage() {
async (event: ArtifactCollectionEvent) => {
setArtifactFeed((previous) => [event, ...previous].slice(0, 8));
- // Persistent Web5-style local storage for artifact collection
+ // Persistent local storage for artifact collection
if (typeof window !== "undefined") {
try {
const stored = localStorage.getItem("hyperborea_vault_v1") || "[]";
@@ -428,7 +422,7 @@ export default function GamePage() {
});
localStorage.setItem("hyperborea_vault_v1", JSON.stringify(vault.slice(-100)));
} catch (e) {
- console.error("Web5 vault sync error", e);
+ console.error("Vault sync error", e);
}
}
@@ -451,8 +445,8 @@ export default function GamePage() {
}
setClaimFeedback(
- `Relic ${event.lockedAtPickup ? "capture" : "claim"} queued: ${event.artifactName} (+${event.tokenRewardUnits} ${tokenConfig.l2TokenSymbol})${event.utilityTokenBonusUnits
- ? ` | Utility snapshot: ${event.utilityTokenBonusUnits} ${tokenConfig.l2TokenSymbol}`
+ `Relic ${event.lockedAtPickup ? "capture" : "claim"} queued: ${event.artifactName} (+${event.tokenRewardUnits} reward pts)${event.utilityTokenBonusUnits
+ ? ` | Utility snapshot: ${event.utilityTokenBonusUnits} bonus pts`
: ""
}`,
);
@@ -538,12 +532,6 @@ export default function GamePage() {
setIsPaused((value) => !value);
};
- const handleMintNFT = async (skinId: number) => {
- // NFT minting logic will be implemented when backend is ready
- console.log("Minting NFT skin:", skinId);
- // This would call the backend API for NFT minting
- };
-
const handleScoreChange = useCallback((newScore: number, newCombo: number) => {
setScore(newScore);
setCombo(newCombo);
@@ -575,8 +563,6 @@ export default function GamePage() {
displayName: playerAlias.trim() || "Guest",
oauthProvider,
oauthUserId: oauthIdentity,
- walletAddress,
- web5Enabled: Boolean(walletAddress),
};
const entry: LeaderboardEntry = {
@@ -584,8 +570,6 @@ export default function GamePage() {
displayName: submission.displayName,
oauthProvider: submission.oauthProvider,
oauthUserId: submission.oauthUserId,
- walletAddress: submission.walletAddress,
- web5Enabled: Boolean(submission.web5Enabled && submission.walletAddress),
levelId: summary.levelId,
score: Math.round(summary.score),
combo: Math.round(summary.combo),
@@ -646,7 +630,7 @@ export default function GamePage() {
void submit();
},
- [oauthIdentity, oauthProvider, playerAlias, walletAddress],
+ [oauthIdentity, oauthProvider, playerAlias],
);
const handleInteractionHintChange = useCallback(
@@ -742,10 +726,9 @@ export default function GamePage() {
score={score}
combo={combo}
activePowerUps={activePowerUps}
- walletConnected={walletConnected}
utilityPoints={utilityPoints}
projectedTokenUnits={projectedUtilityUnits}
- tokenSymbol={activeLevel?.tokenConfig.l2TokenSymbol ?? "THX"}
+ tokenSymbol="pts"
elapsedSeconds={elapsedSeconds}
objectiveProgress={objectiveProgress}
/>
@@ -766,7 +749,7 @@ export default function GamePage() {
Utility
- {projectedUtilityUnits} {activeLevel?.tokenConfig.l2TokenSymbol ?? "THX"} proj
+ {projectedUtilityUnits} pts proj
{utilityPoints.toLocaleString()} pts
@@ -795,21 +778,12 @@ export default function GamePage() {
max={100}
/>
- {pointsToNextToken} utility pts to next projected{" "}
- {activeLevel?.tokenConfig.l2TokenSymbol ?? "THX"} reward unit
+ {pointsToNextToken} utility pts to next projected reward unit
- {/* NFT Minting Panel - Hidden on mobile */}
-
-
-
-
{/* Audio Control */}
@@ -825,7 +799,7 @@ export default function GamePage() {
{activeLevel.artifacts.length}
- Rewards network: {activeLevel.tokenConfig.l2TokenSymbol} on {activeLevel.tokenConfig.l2Network}
+ Level: {activeLevel.name}
Score: {score.toLocaleString()} | Combo: {combo}x
@@ -837,8 +811,8 @@ export default function GamePage() {
)}
- Utility points: {utilityPoints.toLocaleString()} | Projected token units:{" "}
- {projectedUtilityUnits} {activeLevel.tokenConfig.l2TokenSymbol}
+ Utility points: {utilityPoints.toLocaleString()} | Projected reward units:{" "}
+ {projectedUtilityUnits}
)}
@@ -850,16 +824,14 @@ export default function GamePage() {
>
{artifact.artifactName}
- {artifact.pantheon.toUpperCase()} | +{artifact.tokenRewardUnits}{" "}
- {activeLevel?.tokenConfig.l2TokenSymbol ?? "THX"}
+ {artifact.pantheon.toUpperCase()} | +{artifact.tokenRewardUnits} reward pts
{artifact.lockedAtPickup ? " | Dormant" : ""}
{typeof artifact.utilityPointsAfterEvent === "number" && (
Utility: {artifact.utilityPointsAfterEvent.toLocaleString()} pts
{artifact.utilityTokenBonusUnits
- ? ` | ${artifact.utilityTokenBonusUnits} projected ${activeLevel?.tokenConfig.l2TokenSymbol ?? "THX"
- }`
+ ? ` | ${artifact.utilityTokenBonusUnits} projected bonus`
: ""}
)}
@@ -907,7 +879,7 @@ export default function GamePage() {
- {/* OAuth + Web5 Controls */}
+ {/* OAuth Controls */}
Leaderboard Profile
@@ -950,9 +922,8 @@ export default function GamePage() {
)}
- Wallet-linked score submissions can unlock utility rewards when enabled.
+ Sign in with OAuth to save your score to the leaderboard.
-
@@ -1124,7 +1095,6 @@ export default function GamePage() {
Run Complete
Final score submitted to leaderboard
- {walletAddress ? ` | Wallet: ${walletAddress.slice(0, 6)}...${walletAddress.slice(-4)}` : ""}
- Utility: {runCompleteSummary.utilityPoints} pts | {runCompleteSummary.projectedTokenUnits}{" "}
- {activeLevel?.tokenConfig.l2TokenSymbol ?? "THX"}
+ Utility: {runCompleteSummary.utilityPoints} pts | {runCompleteSummary.projectedTokenUnits} reward units
@@ -1174,8 +1143,7 @@ export default function GamePage() {
#{index + 1} {entry.displayName} ({entry.oauthProvider})
- {entry.score.toLocaleString()} pts | {entry.projectedTokenUnits}{" "}
- {activeLevel?.tokenConfig.l2TokenSymbol ?? "THX"}
+ {entry.score.toLocaleString()} pts | {entry.projectedTokenUnits} reward units
))}
@@ -1279,10 +1247,9 @@ export default function GamePage() {
Stay near the center crosshair before pressing Use.
Purple/red gate nodes block corridors until activated.
Pressure plates activate when you stand directly on them.
- Relics boost energy and queue token claim events.
+ Relics boost energy and queue reward claim events.
Utility points grow from movement, puzzle solves, and relic pickups.
The exit gate unlocks after relic and pedestal requirements are met.
- Connect your wallet to mint NFT skins with rewards
@@ -1374,10 +1341,9 @@ export default function GamePage() {
🪙
- {utilityPoints.toLocaleString()} pts | {projectedUtilityUnits}{" "}
- {activeLevel?.tokenConfig.l2TokenSymbol ?? "THX"} projected
+ {utilityPoints.toLocaleString()} pts | {projectedUtilityUnits} reward units projected
-
Web5 Utility Rewards
+
Utility Rewards
@@ -1405,8 +1371,7 @@ export default function GamePage() {
- Experience the ultimate browser-based adventure game with blockchain
- integration. Play, compete, and earn exclusive NFT rewards!
+ Experience the ultimate browser-based adventure game. Play, compete, and earn rewards!
{/* Prominent Quick Play Button */}
@@ -1449,10 +1414,9 @@ export default function GamePage() {
Leaderboard Identity
- Sign in with OAuth or play as guest. Optional wallet connection can enable wallet-based rewards.
+ Sign in with OAuth to save your score, or play as guest.
-
Stay near the center crosshair before pressing Use.
Purple/red gate nodes block corridors until activated.
Pressure plates activate when you stand directly on them.
- Relics boost energy and queue token claim events.
+ Relics boost energy and queue reward claim events.
Utility points grow from movement, puzzle solves, and relic pickups.
The exit gate unlocks after relic and pedestal requirements are met.
- Connect your wallet to mint NFT skins with rewards
Use the pause button anytime to take a break
@@ -1681,8 +1644,8 @@ export default function GamePage() {
/>
}
- title="NFT Achievements"
- description="Earn unique NFT achievements that can be traded or showcased in your collection."
+ title="Achievements"
+ description="Earn unique in-game achievements that showcase your skill and progression."
/>
}
@@ -1740,7 +1703,7 @@ export default function GamePage() {
✓
- Exclusive NFT achievements
+ Exclusive achievements
✓
diff --git a/app/investor-academy/page.tsx b/app/investor-academy/page.tsx
index c0872365..822ad093 100644
--- a/app/investor-academy/page.tsx
+++ b/app/investor-academy/page.tsx
@@ -35,7 +35,7 @@ export default function InvestorAcademyPage() {
Simulation only
- $HAX utility rewards
+ Utility rewards
Quest-ready progression
diff --git a/app/layout.tsx b/app/layout.tsx
index 199fe6a5..c40e5015 100644
--- a/app/layout.tsx
+++ b/app/layout.tsx
@@ -7,7 +7,6 @@ import { Toaster } from "sonner";
import "./globals.css";
import { SiteNavigatorWidget } from "@/components/ai/SiteNavigatorWidget";
-import { ChainSessionProvider } from "@/components/counter/provider/ChainSession";
import { HyperboreaIntroOverlay } from "@/components/intro/HyperboreaIntroOverlay";
import { GamifiedOnboarding } from "@/components/onboarding/GamifiedOnboarding";
import { WebVitalsReporter } from "@/components/performance/WebVitalsReporter";
@@ -22,7 +21,6 @@ import { PrefetchController } from "@/components/ui/PrefetchController";
import { ServiceWorkerCleanup } from "@/components/ui/ServiceWorkerCleanup";
import { getLocalBusinessJsonLd } from "@/lib/seo";
import { siteConfig } from "@/lib/site-config";
-import { WalletProvider } from "@/lib/wallet-provider";
const inter = Inter({ subsets: ["latin"], display: "swap" });
@@ -38,16 +36,15 @@ export const viewport: Viewport = {
};
export const metadata: Metadata = {
- title: "TradeHax AI | Digital Services, Repair, Music Lessons, and Web3",
- description: "Professional services for websites, apps, device repair, music lessons, and Web3 consulting for local and remote clients.",
+ title: "TradeHax AI | Digital Services, Repair, Music Lessons & Dev",
+ description: "Professional services for websites, apps, device repair, music lessons, and AI consulting for local and remote clients.",
keywords: [
"web development philadelphia",
"app development services",
"computer repair philadelphia",
"cell phone repair south jersey",
"online guitar lessons",
- "multi-chain development services",
- "blockchain consulting",
+ "AI consulting services",
"website design for small business",
"device repair",
"guitar lessons",
@@ -63,8 +60,8 @@ export const metadata: Metadata = {
canonical: siteConfig.primarySiteUrl,
},
openGraph: {
- title: "TradeHax AI | Digital Services, Repair, Music Lessons, and Web3",
- description: "Customer-first services for websites, apps, device repair, music lessons, and Web3 consulting for local and remote clients.",
+ title: "TradeHax AI | Digital Services, Repair, Music Lessons & Dev",
+ description: "Customer-first services for websites, apps, device repair, music lessons, and AI consulting for local and remote clients.",
url: siteConfig.primarySiteUrl,
siteName: "TradeHax AI",
locale: "en_US",
@@ -74,14 +71,14 @@ export const metadata: Metadata = {
url: "/og-image.jpg",
width: 1200,
height: 630,
- alt: "TradeHax AI services for web development, repair, music, and Web3",
+ alt: "TradeHax AI services for web development, repair, and music",
},
],
},
twitter: {
card: "summary_large_image",
title: "TradeHax AI | Professional Digital and Local Service Support",
- description: "Book web development, repair, lessons, and Web3 services with a clear service path and fast response.",
+ description: "Book web development, repair, lessons, and AI services with a clear service path and fast response.",
images: ["/og-image.jpg"],
creator: "@tradehaxai",
site: "@tradehaxai",
@@ -186,9 +183,7 @@ export default function RootLayout({
-
-
-
-
-
diff --git a/app/page.tsx b/app/page.tsx
index c0598975..2cbb2aaa 100644
--- a/app/page.tsx
+++ b/app/page.tsx
@@ -152,7 +152,7 @@ export default async function Home() {
- Cross-chain crypto flow with confidence bands
+ Cross-market flow analysis with confidence bands
@@ -230,7 +230,7 @@ export default async function Home() {
- Blockchain/Web3 smart contract deployment
+ Custom API integrations and smart automation
diff --git a/app/portfolio/page.tsx b/app/portfolio/page.tsx
index a13c61cb..d6be76fd 100644
--- a/app/portfolio/page.tsx
+++ b/app/portfolio/page.tsx
@@ -158,17 +158,17 @@ export default function PortfolioPage() {
/>
-
Blockchain & Web3 Systems
+
AI & Tech Systems
- Smart contracts, DApps, NFT platforms, multi-chain development, and auditing
+ AI integrations, automation systems, custom development, and technical consulting
@@ -313,19 +313,19 @@ export default function ServicesPage() {
}
- title="Web3 Development"
- description="Custom blockchain applications, smart contracts, and decentralized platforms built with modern technologies."
+ title="Custom Development"
+ description="Custom web applications, automation systems, and modern platforms built with current technologies."
features={[
- "Multi-chain EVM + non-EVM development",
- "Smart contract auditing",
- "DApp architecture & design",
- "Wallet integration",
- "NFT marketplace development",
+ "Full-stack web development",
+ "API integration & design",
+ "Automation & workflow systems",
+ "Technical architecture",
+ "Code review & audits",
]}
pricing="Starting at $5,000"
- ctaLabel="Book Web3 Discovery Call"
+ ctaLabel="Book AI Consulting Discovery Call"
ctaHref={scheduleLinks.webDevConsult}
- ctaConversionId="book_web3_consult"
+ ctaConversionId="book_ai_consult"
/>
}
title="Consulting & Strategy"
- description="Expert guidance on blockchain adoption, DeFi strategies, and Web3 business models."
+ description="Expert guidance on AI adoption, tech strategy, and digital business models."
features={[
"Technical architecture review",
- "Blockchain strategy planning",
- "DeFi protocol optimization",
+ "AI strategy planning",
+ "Process optimization",
"Team training & workshops",
"Code review & audits",
]}
pricing="$200/hour"
- ctaLabel="Book Web3 Strategy Consult"
+ ctaLabel="Book Strategy Consult"
ctaHref={scheduleLinks.webDevConsult}
- ctaConversionId="book_web3_consult"
+ ctaConversionId="book_ai_consult"
/>
@@ -30,16 +29,16 @@ export default function TokenomicsPage() {
{/* Header Section */}
-
+
- The $HAX token is the multi-chain backbone of the TradeHax ecosystem, facilitating AI-driven insights, gaming rewards, and governance across all integrated networks.
+ TradeHax AI delivers professional digital services across web development, device repair, music education, and AI consulting for local and remote clients.
{/* Key Metrics Grid */}
- {stats.map((stat, i) => (
+ {services.map((stat, i) => (
{stat.label}
{stat.value}
@@ -47,21 +46,12 @@ export default function TokenomicsPage() {
))}
- {/* Allocation Visualizer */}
-
-
-
Neural_Allocation_Map
- SYSCAP_V_01
-
-
-
-
- {/* Breakdown & Utility */}
+ {/* Service Area Breakdown */}
-
Supply_Distribution
+
Service_Distribution
- {allocation.map((item, i) => (
+ {serviceAreas.map((item, i) => (
{item.group}
@@ -79,32 +69,32 @@ export default function TokenomicsPage() {
-
Emission_Logic
+
Service_Model
- TradeHax employs a deflationary emission schedule. Staked liquidity is locked for 90-day intervals, providing consistent pressure against market volatility. 40% of all platform fees are automatically burned.
+ TradeHax AI operates on a transparent service model. Clients pay for time, expertise, and results — no token gating, no hidden requirements. All pricing is listed upfront with clear deliverables.
- Burn_Rate_Multiplier
- 1.4x
+ Client_First_Model
+ Open
- {/* Utility Section */}
+ {/* Core Services Section */}
-
CORE_UTILITY
+
CORE_SERVICES
-
AI Access
-
Stake $HAX to unlock high-frequency AI trading signals and advanced market sentiment analysis tools.
+
Web & App Dev
+
Custom websites, web apps, and digital systems built for performance, conversion, and growth. From landing pages to full-stack applications.
-
Game Incentives
-
Earn $HAX through high scores in HAX_RUNNER. Use tokens to purchase exclusive in-game power-ups and NFTs.
+
Music Lessons
+
Guitar and music instruction for all skill levels. One-on-one sessions, artist growth tools, and scholarship opportunities for dedicated students.
-
DAO Governance
-
Holders vote on project trajectory, new feature prioritization, and multi-chain treasury allocations.
+
Device Repair
+
Fast, reliable repair for phones, computers, and other devices. Serving Greater Philadelphia with emergency intake and competitive pricing.
diff --git a/app/web3-token-roadmap-consulting/page.tsx b/app/web3-token-roadmap-consulting/page.tsx
index c18c5fc7..f599717b 100644
--- a/app/web3-token-roadmap-consulting/page.tsx
+++ b/app/web3-token-roadmap-consulting/page.tsx
@@ -4,54 +4,54 @@ import { createPageMetadata } from "@/lib/seo";
import Script from "next/script";
export const metadata = createPageMetadata({
- title: "Web3 Token Roadmap Consulting | TradeHax AI",
+ title: "Digital Product Roadmap Consulting | TradeHax AI",
description:
- "Plan token utility phases, governance milestones, and measurable rollout KPIs with a practical consulting roadmap.",
+ "Plan product utility phases, growth milestones, and measurable rollout KPIs with a practical consulting roadmap for your digital business.",
path: "/web3-token-roadmap-consulting",
keywords: [
- "web3 token roadmap consulting",
- "token utility roadmap",
- "token governance planning",
- "web3 product strategy consulting",
+ "digital product roadmap consulting",
+ "product strategy consulting",
+ "app development roadmap",
+ "digital business strategy",
],
});
const serviceJsonLd = {
"@context": "https://schema.org",
"@type": "Service",
- name: "Web3 Token Roadmap Consulting",
+ name: "Digital Product Roadmap Consulting",
provider: {
"@type": "Organization",
name: "TradeHax AI",
},
- serviceType: "Web3 Strategy Consulting",
+ serviceType: "Product Strategy Consulting",
areaServed: "United States",
description:
- "Token utility planning, phased rollout strategy, governance readiness, and KPI mapping for sustainable Web3 growth.",
+ "Product utility planning, phased rollout strategy, growth readiness, and KPI mapping for sustainable digital business growth.",
};
-export default function Web3TokenRoadmapConsultingPage() {
+export default function ProductRoadmapConsultingPage() {
return (
-
- Web3 Advisory
- Web3 Token Roadmap Consulting
+ Product Advisory
+ Digital Product Roadmap Consulting
- Build a forward-leaning roadmap with practical phases: onboarding, utility, retention loops, and governance.
- We focus on measurable outcomes over hype.
+ Build a forward-leaning roadmap with practical phases: onboarding, feature utility, retention loops, and growth milestones.
+ We focus on measurable outcomes and real business value.
{[
- "Phase 1: onboarding + wallet UX",
- "Phase 2: utility loops + incentives",
- "Phase 3: governance + accountability",
+ "Phase 1: onboarding + user experience",
+ "Phase 2: feature loops + engagement",
+ "Phase 3: growth + accountability",
].map((item) => (
{item}
@@ -62,21 +62,21 @@ export default function Web3TokenRoadmapConsultingPage() {
- Book Web3 Consultation
+ Book a Consultation
- Read Roadmap Article
+ View All Services
diff --git a/components/admin/InvestorAcademyAdminPanel.tsx b/components/admin/InvestorAcademyAdminPanel.tsx
index 10f9d8dc..b6f7907c 100644
--- a/components/admin/InvestorAcademyAdminPanel.tsx
+++ b/components/admin/InvestorAcademyAdminPanel.tsx
@@ -113,7 +113,7 @@ type AcademySeasonPayoutHistoryEntry = {
dryRun: boolean;
creditedCount: number;
alreadyCreditedCount: number;
- totalCreditedHax: number;
+ totalCreditedCredits: number;
note: string;
};
@@ -126,7 +126,7 @@ type AcademySeasonPayoutOutcomeSummary = {
mode: "dry-run" | "execute";
creditedCount: number;
alreadyCreditedCount: number;
- totalCreditedHax: number;
+ totalCreditedCredits: number;
adminMode: string;
};
health: "ok" | "warn" | "stale" | "never_run";
@@ -485,7 +485,7 @@ Invoke-WebRequest -Uri "https://www.tradehax.net/api/investor-academy/admin/over
Already paid: {payoutSummary.lastRun.alreadyCreditedCount}
- Total HAX: ${payoutSummary.lastRun.totalCreditedHax}
+ Total Credits: ${payoutSummary.lastRun.totalCreditedCredits}
>
@@ -598,7 +598,7 @@ Invoke-WebRequest -Uri "https://www.tradehax.net/api/investor-academy/admin/over
- Season payouts reward top leaderboard ranks in $HAX. Dry run previews recipients and idempotency behavior without writing credits.
+ Season payouts reward top leaderboard ranks in credits. Dry run previews recipients and idempotency behavior without writing credits.
@@ -841,7 +841,7 @@ Invoke-WebRequest -Uri "https://www.tradehax.net/api/investor-academy/admin/over
Mode
Credited
Already
-
Total HAX
+
Total Credits
Admin
@@ -853,7 +853,7 @@ Invoke-WebRequest -Uri "https://www.tradehax.net/api/investor-academy/admin/over
{entry.dryRun ? "dry-run" : "execute"}
{entry.creditedCount}
{entry.alreadyCreditedCount}
-
{entry.totalCreditedHax}
+
{entry.totalCreditedCredits}
{entry.adminMode}
))}
@@ -876,7 +876,7 @@ Invoke-WebRequest -Uri "https://www.tradehax.net/api/investor-academy/admin/over
Modules
Streak
Bonus XP
-
Bonus HAX
+
Bonus Credits
Quest
Updated
diff --git a/components/ai/ChatStreamPanel.tsx b/components/ai/ChatStreamPanel.tsx
index c0bddfce..87103722 100644
--- a/components/ai/ChatStreamPanel.tsx
+++ b/components/ai/ChatStreamPanel.tsx
@@ -66,7 +66,7 @@ type MultimodalTab = "text" | "image" | "video";
type MultimodalImageResult = {
url: string;
prompt: string;
- style: "trading" | "nft" | "hero" | "general";
+ style: "trading" | "creative" | "hero" | "general";
model?: string;
width?: number;
height?: number;
@@ -561,7 +561,7 @@ export function ChatStreamPanel({ minimal = false }: { minimal?: boolean } = {})
]);
const [imagePrompt, setImagePrompt] = useState("");
- const [imageStyle, setImageStyle] = useState<"trading" | "nft" | "hero" | "general">("general");
+ const [imageStyle, setImageStyle] = useState<"trading" | "creative" | "hero" | "general">("general");
const [imageLoading, setImageLoading] = useState(false);
const [imageError, setImageError] = useState("");
const [imageResult, setImageResult] = useState
(null);
@@ -2989,7 +2989,7 @@ export function ChatStreamPanel({ minimal = false }: { minimal?: boolean } = {})
/>
- {(["general", "trading", "nft", "hero"] as const).map((style) => (
+ {(["general", "trading", "creative", "hero"] as const).map((style) => (
{saving ? "Saving…" : status || summary}
- No wallet keys or private credentials are stored in this consent flow.
+ No private credentials are stored in this consent flow.
)}
diff --git a/components/ai/ImageGeneratorComponent.tsx b/components/ai/ImageGeneratorComponent.tsx
index 378f555e..af3eb113 100644
--- a/components/ai/ImageGeneratorComponent.tsx
+++ b/components/ai/ImageGeneratorComponent.tsx
@@ -20,7 +20,7 @@ export function ImageGeneratorComponent() {
const searchParams = useSearchParams();
const [userId, setUserId] = useState("");
const [prompt, setPrompt] = useState("");
- const [style, setStyle] = useState<"trading" | "nft" | "hero" | "general">(
+ const [style, setStyle] = useState<"trading" | "creative" | "hero" | "general">(
"general",
);
const [negativePrompt, setNegativePrompt] = useState("");
@@ -224,7 +224,7 @@ export function ImageGeneratorComponent() {
{(
- ["general", "trading", "nft", "hero"] as const
+ ["general", "trading", "creative", "hero"] as const
).map((s) => (
• Keep prompts specific and short (1-2 sentences)
• Mention visual style + purpose (thumbnail, hero, chart)
• Trading charts and visualizations
- • NFT artwork generation
+ • Creative artwork generation
• Hero images for websites
• General creative images
diff --git a/components/counter/WalletButton.tsx b/components/counter/WalletButton.tsx
index 576211df..a2e43c48 100644
--- a/components/counter/WalletButton.tsx
+++ b/components/counter/WalletButton.tsx
@@ -1,43 +1,14 @@
"use client";
-import {
- Tooltip,
- TooltipContent,
- TooltipProvider,
- TooltipTrigger,
-} from "@/components/ui/tooltip";
-import { useWallet } from "@/lib/wallet-provider";
-
+import Link from "next/link";
export function WalletButton() {
- const { address, status, connect, disconnect } = useWallet();
-
- const label =
- status === "CONNECTED"
- ? `${address ?? "Connected"}`
- : status === "CONNECTING"
- ? "CONNECTING..."
- : "CONNECT CHAIN ACCOUNT";
-
- const action = status === "CONNECTED" ? disconnect : connect;
-
return (
-
-
-
-
- {label}
-
-
-
- {status === "CONNECTED" ? "Disconnect" : "Connect"} chain session
-
-
-
+
+ Book a Session
+
);
}
diff --git a/components/counter/hooks/useProgram.tsx b/components/counter/hooks/useProgram.tsx
index d8df3500..0374b2c4 100644
--- a/components/counter/hooks/useProgram.tsx
+++ b/components/counter/hooks/useProgram.tsx
@@ -1,7 +1,6 @@
"use client";
-import { useWallet } from "@/lib/wallet-provider";
-import { useCallback, useEffect, useMemo, useState } from "react";
+import { useCallback, useEffect, useState } from "react";
interface UseProgramReturn {
counterValue: number;
@@ -31,7 +30,6 @@ function writeCounter(next: number) {
}
export function useProgram(): UseProgramReturn {
- const { status, address } = useWallet();
const [counterValue, setCounterValue] = useState
(0);
useEffect(() => {
@@ -72,8 +70,8 @@ export function useProgram(): UseProgramReturn {
const increment = useCallback(async () => updateCounter(1), [updateCounter]);
const decrement = useCallback(async () => updateCounter(-1), [updateCounter]);
- const connected = status === "CONNECTED";
- const publicKey = useMemo(() => address ?? null, [address]);
+ const connected = false;
+ const publicKey = null;
return {
counterValue,
diff --git a/components/dashboard/Navbar.tsx b/components/dashboard/Navbar.tsx
index 104fe674..6487806e 100644
--- a/components/dashboard/Navbar.tsx
+++ b/components/dashboard/Navbar.tsx
@@ -2,7 +2,6 @@
import Link from "next/link";
import { useState } from "react";
-import { WalletButton } from "@/components/counter/WalletButton";
import { Menu, X } from "lucide-react";
import type { NavLink } from "@/types";
@@ -40,9 +39,14 @@ export function Navbar() {
))}
- {/* Wallet Button (Desktop) */}
+ {/* Book Button (Desktop) */}
-
+
+ Book a Session
+
{/* Mobile menu button */}
@@ -72,7 +76,12 @@ export function Navbar() {
))}
-
+
+ Book a Session
+
)}
diff --git a/components/dashboard/NeuralVault.tsx b/components/dashboard/NeuralVault.tsx
index 785eecb2..6ab67ec1 100644
--- a/components/dashboard/NeuralVault.tsx
+++ b/components/dashboard/NeuralVault.tsx
@@ -1,75 +1,21 @@
"use client";
-import { useWallet } from '@/lib/wallet-provider';
-import { useEffect, useState } from 'react';
+import { useState } from 'react';
export const NeuralVault = () => {
- const { status } = useWallet();
- const [stakeAmount, setStakeAmount] = useState("");
- const [projectedApy, setProjectedApy] = useState(12.5);
- const [isStaking, setIsStaking] = useState(false);
-
- // Simulation of dynamic APY based on "Neural" activity
- useEffect(() => {
- const interval = setInterval(() => {
- setProjectedApy(prev => +(prev + (Math.random() * 0.4 - 0.2)).toFixed(2));
- }, 3000);
- return () => clearInterval(interval);
- }, []);
-
- const handleStake = () => {
- if (!stakeAmount) return;
- setIsStaking(true);
- setTimeout(() => {
- setIsStaking(false);
- setStakeAmount("");
- alert("LIQUIDITY_PROVISION_SUCCESSFUL: NEURAL_BRIDGE_ACTIVE");
- }, 2000);
- };
+ const [projectedApy] = useState(12.5);
return (
- {/* Left: Staking Controls */}
+ {/* Left: AI Performance Stats */}
-
-
Liquidity_Portal
-
-
-
Provision_Amount ($HAX)
-
setStakeAmount(e.target.value)}
- placeholder="0.00"
- className="w-full bg-black/50 border border-white/10 rounded-2xl p-6 text-3xl font-black italic focus:outline-none focus:border-cyan-500/50 transition-all placeholder:text-zinc-800"
- />
-
-
- {isStaking ? 'PROCESSING...' : 'INIT_STAKE'}
-
-
-
-
- {[25, 50, 75, 100].map(p => (
-
- {p}%_MAX
-
- ))}
-
+
Intelligence_Portal
+
+ Access AI-driven market analysis, trading signals, and smart guidance for builders, traders, and operators.
+
@@ -86,39 +32,29 @@ export const NeuralVault = () => {
-
Estimated_Rewards
+
Signals_Active
- {(+stakeAmount * (projectedApy / 100)).toFixed(2)}
- $HAX/YR
+ Live
+ Status
- {/* Right: The Core Visualizer */}
+ {/* Right: Core Visualizer */}
-
Mainframe_Vault
+
Intelligence_Core
- TOTAL_VALUE_LOCKED:
- $12,405,200.44
+ AI ANALYSIS:
+ Active
-
-
- STAKED_HAX
- 450,000
-
-
- POOL_SHARE
- 0.045%
-
-
diff --git a/components/education/InvestorAcademyExperience.tsx b/components/education/InvestorAcademyExperience.tsx
index 29668a1a..4dde1fcd 100644
--- a/components/education/InvestorAcademyExperience.tsx
+++ b/components/education/InvestorAcademyExperience.tsx
@@ -48,7 +48,7 @@ type AcademyScoreBreakdown = {
bonusXp: number;
bonusHax: number;
totalXp: number;
- totalHax: number;
+ totalCredits: number;
streakScore: number;
questScore: number;
taskCompletionScore: number;
@@ -67,7 +67,7 @@ type AcademyLeaderboardEntry = {
type AcademyLeaderboardSeason = "daily" | "weekly" | "all_time";
type AcademyFeatureSpendQuote = {
- feature: "ai_chat" | "hax_runner" | "signal_alert" | "bot_create";
+ feature: "ai_chat" | "hyperborea" | "signal_alert" | "bot_create";
label: string;
unitCostHax: number;
usedToday: number;
@@ -78,11 +78,11 @@ type AcademyFeatureSpendQuote = {
type AcademyEconomySnapshot = {
userId: string;
score: AcademyScoreBreakdown;
- walletHaxEarned: number;
- walletHaxCreditTotal: number;
- walletHaxSpentTotal: number;
- walletHaxSpentToday: number;
- walletHaxAvailable: number;
+ creditsEarned: number;
+ creditsCreditTotal: number;
+ creditsSpentTotal: number;
+ creditsSpentToday: number;
+ creditsAvailable: number;
featureSpendQuotes: AcademyFeatureSpendQuote[];
generatedAt: string;
};
@@ -124,9 +124,9 @@ export function InvestorAcademyExperience({ modules }: InvestorAcademyExperience
progress.bonusXp,
[completedModules, modules, progress.bonusXp],
);
- const totalHax = useMemo(
+ const totalCredits = useMemo(
() =>
- modules.reduce((total, module) => total + (completedModules[module.id] ? module.haxReward : 0), 0) +
+ modules.reduce((total, module) => total + (completedModules[module.id] ? module.creditReward : 0), 0) +
progress.bonusHax,
[completedModules, modules, progress.bonusHax],
);
@@ -384,7 +384,7 @@ export function InvestorAcademyExperience({ modules }: InvestorAcademyExperience
- Progress Wallet
+ Progress Rewards
Simulation rewards for education and engagement.
@@ -414,15 +414,15 @@ export function InvestorAcademyExperience({ modules }: InvestorAcademyExperience
{totalXp}
-
$HAX Rewarded
-
{totalHax}
+
credits Rewarded
+
{totalCredits}
{economy && (
-
Spendable $HAX
-
{economy.walletHaxAvailable}
+
Spendable credits
+
{economy.creditsAvailable}
- Earned {economy.walletHaxEarned} · Season credits {economy.walletHaxCreditTotal} · Spent total {economy.walletHaxSpentTotal} · Today spend {economy.walletHaxSpentToday}
+ Earned {economy.creditsEarned} · Season credits {economy.creditsCreditTotal} · Spent total {economy.creditsSpentTotal} · Today spend {economy.creditsSpentToday}
)}
@@ -451,7 +451,7 @@ export function InvestorAcademyExperience({ modules }: InvestorAcademyExperience
Complete {progress.dailyQuest.moduleId.replaceAll("-", " ")} with at
least {Math.round(progress.dailyQuest.targetScorePct * 100)}% score.
- Bonus reward: +40 XP and +5 $HAX
+ Bonus reward: +40 XP and +5 credits
{progress.dailyQuest.completed ? "Quest complete for today" : "Quest active"}
@@ -464,7 +464,7 @@ export function InvestorAcademyExperience({ modules }: InvestorAcademyExperience
Leaderboard + Feature Costs
- Ranking is derived from XP, $HAX, streak consistency, and completed tasks.
+ Ranking is derived from XP, credits, streak consistency, and completed tasks.
@@ -507,7 +507,7 @@ export function InvestorAcademyExperience({ modules }: InvestorAcademyExperience
{entry.score.compositeScore} pts
- {entry.score.totalXp} XP · {entry.score.totalHax} HAX · {entry.streakDays} day streak
+ {entry.score.totalXp} XP · {entry.score.totalCredits} credits · {entry.streakDays} day streak
);
@@ -517,7 +517,7 @@ export function InvestorAcademyExperience({ modules }: InvestorAcademyExperience
{economy ? (
-
Feature cost schedule ($HAX)
+
Feature access schedule
{economy.featureSpendQuotes.map((quote) => (
@@ -579,7 +579,7 @@ export function InvestorAcademyExperience({ modules }: InvestorAcademyExperience
{activeModule.estimatedMinutes} min
- +{activeModule.haxReward} $HAX
+ +{activeModule.creditReward} credits
{activeModule.title}
@@ -664,16 +664,16 @@ export function InvestorAcademyExperience({ modules }: InvestorAcademyExperience
Final score: {quizState.score} / {activeModule.quiz.length}
{passRate >= 0.6
- ? "Module completed. Rewards are now added to your academy progress wallet."
+ ? "Module completed. Rewards are now added to your academy progress."
: "Pass threshold not met yet. Reset and retry to claim rewards."}
{moduleCompleted && (
- Claimed: +{activeModule.xpReward} XP and +{activeModule.haxReward} $HAX
+ Claimed: +{activeModule.xpReward} XP and +{activeModule.creditReward} credits
)}
{progress.dailyQuest.completed && progress.dailyQuest.moduleId === activeModule.id && (
- Daily quest bonus claimed: +40 XP and +5 $HAX
+ Daily quest bonus claimed: +40 XP and +5 credits
)}
)}
diff --git a/components/game/CommunityLeaderboard.tsx b/components/game/CommunityLeaderboard.tsx
index 3cb27898..32d99740 100644
--- a/components/game/CommunityLeaderboard.tsx
+++ b/components/game/CommunityLeaderboard.tsx
@@ -1,17 +1,17 @@
"use client";
const rewardTiers = [
- { tier: "DIAMOND", range: "Rank 1-3", reward: "5,000 $HAX", color: "text-cyan-400" },
- { tier: "PLATINUM", range: "Rank 4-10", reward: "2,500 $HAX", color: "text-purple-400" },
- { tier: "GOLD", range: "Rank 11-50", reward: "1,000 $HAX", color: "text-yellow-400" },
+ { tier: "DIAMOND", range: "Rank 1-3", reward: "Top Rewards", color: "text-cyan-400" },
+ { tier: "PLATINUM", range: "Rank 4-10", reward: "Premium Rewards", color: "text-purple-400" },
+ { tier: "GOLD", range: "Rank 11-50", reward: "Standard Rewards", color: "text-yellow-400" },
];
const mockLeaders = [
- { rank: 1, wallet: "0x74...f2e", score: 2450800, badge: "MASTER_BREACHER" },
- { rank: 2, wallet: "0x12...9bc", score: 1890200, badge: "NODE_RUNNER" },
- { rank: 3, wallet: "0x88...a12", score: 1420500, badge: "CORE_HACKER" },
- { rank: 4, wallet: "0x45...d44", score: 980100, badge: "SCRIPTER" },
- { rank: 5, wallet: "0x22...e90", score: 750300, badge: "SCRIPTER" },
+ { rank: 1, player: "Player_74", score: 2450800, badge: "MASTER_BREACHER" },
+ { rank: 2, player: "Player_12", score: 1890200, badge: "NODE_RUNNER" },
+ { rank: 3, player: "Player_88", score: 1420500, badge: "CORE_HACKER" },
+ { rank: 4, player: "Player_45", score: 980100, badge: "SCRIPTER" },
+ { rank: 5, player: "Player_22", score: 750300, badge: "SCRIPTER" },
];
export const CommunityLeaderboard = () => {
@@ -24,8 +24,8 @@ export const CommunityLeaderboard = () => {
-
Total_Prize_Pool
-
250,000 $HAX
+
Season_Reward_Pool
+
Season Prizes
Time_Remaining
@@ -51,7 +51,7 @@ export const CommunityLeaderboard = () => {
Rank
- Operator_Wallet
+ Player
High_Score
Status
@@ -64,7 +64,7 @@ export const CommunityLeaderboard = () => {
-
{l.wallet}
+
{l.player}
{l.badge}
diff --git a/components/game/GameHUD.tsx b/components/game/GameHUD.tsx
index 8711791e..d9c22680 100644
--- a/components/game/GameHUD.tsx
+++ b/components/game/GameHUD.tsx
@@ -8,7 +8,6 @@ interface GameHUDProps {
cloversCollected: number;
score: number;
combo: number;
- walletConnected: boolean;
utilityPoints?: number;
projectedTokenUnits?: number;
tokenSymbol?: string;
@@ -73,10 +72,9 @@ export function GameHUD({
cloversCollected,
score,
combo,
- walletConnected,
utilityPoints,
projectedTokenUnits,
- tokenSymbol = "THX",
+ tokenSymbol = "pts",
elapsedSeconds = 0,
objectiveProgress,
activePowerUps = [],
@@ -137,7 +135,7 @@ export function GameHUD({
- {/* Web5 Vault Status - Compact on mobile */}
+ {/* Vault Status - Compact on mobile */}
@@ -271,15 +269,6 @@ export function GameHUD({
- {/* Wallet Status */}
- {!walletConnected && (
-
-
- 💰 Connect Wallet to unlock NFT minting and rewards!
-
-
- )}
-
{/* Active Power-Ups */}
{activePowerUps.length > 0 && (
diff --git a/components/game/HaxHub.tsx b/components/game/HaxHub.tsx
index 2709b81b..74d3060a 100644
--- a/components/game/HaxHub.tsx
+++ b/components/game/HaxHub.tsx
@@ -39,7 +39,7 @@ export const HaxHub = () => {
{item.name}
{item.desc}
- BUY_FOR_{item.cost}_$HAX
+ BUY_FOR_{item.cost}_PTS
))}
diff --git a/components/game/HyperboreaGame.tsx b/components/game/HyperboreaGame.tsx
index 8585c68c..1cd89989 100644
--- a/components/game/HyperboreaGame.tsx
+++ b/components/game/HyperboreaGame.tsx
@@ -886,7 +886,6 @@ export function HyperboreaGame({
utilityTokenBonusUnits: toProjectedUtilityTokenUnits(utilityPoints),
lockedAtPickup,
claimEndpoint: activeLevel.tokenConfig.claimEndpoint,
- web5Collection: activeLevel.tokenConfig.web5Collection,
collectedAt: new Date().toISOString(),
rune: artifact.rune,
runeSymbol: artifact.runeSymbol,
diff --git a/components/game/NFTMintPanel.tsx b/components/game/NFTMintPanel.tsx
deleted file mode 100644
index 61e12917..00000000
--- a/components/game/NFTMintPanel.tsx
+++ /dev/null
@@ -1,247 +0,0 @@
-'use client';
-
-import { useState } from 'react';
-import { Star, Loader2, AlertCircle, CheckCircle } from 'lucide-react';
-
-interface NFTMintPanelProps {
- walletConnected: boolean;
- onMintNFT?: (skinId: number) => Promise
;
-}
-
-interface MintError {
- message: string;
- type: 'network' | 'wallet' | 'transaction' | 'unknown';
-}
-
-const NFT_SKINS = [
- {
- id: 1,
- name: "Odin's Raven Cape",
- element: "Air",
- rarity: "Legendary",
- cost: 10,
- color: "from-blue-500 to-cyan-500",
- },
- {
- id: 2,
- name: "Brigid's Knot Cloak",
- element: "Fire",
- rarity: "Legendary",
- cost: 10,
- color: "from-orange-500 to-red-500",
- },
- {
- id: 3,
- name: "Freya's Ice Veil",
- element: "Ice",
- rarity: "Legendary",
- cost: 10,
- color: "from-cyan-300 to-blue-400",
- },
- {
- id: 4,
- name: "Thor's Storm Mantle",
- element: "Lightning",
- rarity: "Epic",
- cost: 10,
- color: "from-yellow-400 to-purple-500",
- },
- {
- id: 5,
- name: "Loki's Shadow Weave",
- element: "Shadow",
- rarity: "Epic",
- cost: 10,
- color: "from-purple-600 to-gray-900",
- },
-];
-
-export function NFTMintPanel({ walletConnected, onMintNFT }: NFTMintPanelProps) {
- const [selectedSkin, setSelectedSkin] = useState(null);
- const [minting, setMinting] = useState(false);
- const [mintedSkins, setMintedSkins] = useState>(new Set());
- const [error, setError] = useState(null);
- const [successMessage, setSuccessMessage] = useState(null);
-
- const handleMint = async (skinId: number) => {
- if (!walletConnected || minting) return;
-
- setMinting(true);
- setError(null);
- setSuccessMessage(null);
-
- try {
- await onMintNFT?.(skinId);
- setMintedSkins(prev => new Set(prev).add(skinId));
- setSelectedSkin(null);
- setSuccessMessage('NFT minted successfully! 🎉');
-
- // Clear success message after 3 seconds
- setTimeout(() => setSuccessMessage(null), 3000);
- } catch (err: any) {
- console.error('Minting failed:', err);
-
- // Categorize error for better user feedback
- // Note: In production, use error codes or custom error classes for more reliable detection
- let errorType: MintError['type'] = 'unknown';
- let errorMessage = 'Failed to mint NFT. Please try again.';
-
- if (err.message?.includes('network') || err.message?.includes('timeout')) {
- errorType = 'network';
- errorMessage = 'Network error. Please check your connection and try again.';
- } else if (err.message?.includes('wallet') || err.message?.includes('signature')) {
- errorType = 'wallet';
- errorMessage = 'Wallet error. Please reconnect your wallet and try again.';
- } else if (err.message?.includes('insufficient') || err.message?.includes('balance')) {
- errorType = 'transaction';
- errorMessage = 'Insufficient balance. Please add funds to your wallet.';
- }
-
- setError({ message: errorMessage, type: errorType });
- } finally {
- setMinting(false);
- }
- };
-
- const retryMint = () => {
- if (selectedSkin) {
- handleMint(selectedSkin);
- }
- };
-
- return (
-
- {/* Header */}
-
-
-
- NFT Skins
-
-
- Mint legendary skins with SHAMROCK
-
-
-
- {/* Skin List */}
-
- {NFT_SKINS.map((skin) => {
- const isMinted = mintedSkins.has(skin.id);
- const isSelected = selectedSkin === skin.id;
-
- return (
-
!isMinted && setSelectedSkin(isSelected ? null : skin.id)}
- >
- {/* Rarity Badge */}
-
- {skin.rarity}
-
-
- {/* Skin Preview */}
-
- {isMinted ? (
-
✓
- ) : (
-
🎭
- )}
-
-
- {/* Skin Info */}
-
-
{skin.name}
-
- {skin.element}
-
- {skin.cost} SHAMROCK
-
-
-
-
- {isMinted && (
-
- ✓ MINTED
-
- )}
-
- );
- })}
-
-
- {/* Mint Button */}
-
- {/* Success Message */}
- {successMessage && (
-
-
- {successMessage}
-
- )}
-
- {/* Error Message */}
- {error && (
-
-
-
-
-
Minting Failed
-
{error.message}
-
-
-
- Retry
-
-
- )}
-
- {!walletConnected ? (
-
-
- Connect wallet to mint NFTs
-
-
- Connect Wallet
-
-
- ) : selectedSkin === null ? (
-
- Select a skin to mint
-
- ) : (
-
selectedSkin && handleMint(selectedSkin)}
- disabled={minting}
- className="w-full py-3 bg-gradient-to-r from-purple-600 to-pink-600 text-white font-bold rounded-lg hover:from-purple-700 hover:to-pink-700 transition-all disabled:opacity-50 disabled:cursor-not-allowed flex items-center justify-center gap-2"
- >
- {minting ? (
- <>
-
- Minting...
- >
- ) : (
- <>Mint Selected Skin>
- )}
-
- )}
-
-
- Minting requires 10 SHAMROCK + gas fees
-
-
-
- );
-}
diff --git a/components/game/SpadesGame.tsx b/components/game/SpadesGame.tsx
index b86fe2e2..8192d708 100644
--- a/components/game/SpadesGame.tsx
+++ b/components/game/SpadesGame.tsx
@@ -1,6 +1,5 @@
'use client';
-import { useWallet } from '@/lib/wallet-provider';
import { useCallback, useEffect, useMemo, useRef, useState } from 'react';
type SpadesTournamentResponse = {
@@ -151,7 +150,6 @@ export function SpadesGame() {
const playerBidRef = useRef(3);
const bidsLockedRef = useRef(false);
- const { address, status: walletStatus } = useWallet();
const [did, setDid] = useState('');
const [alias, setAlias] = useState('NeuralSpadesPlayer');
@@ -209,10 +207,9 @@ export function SpadesGame() {
}
}, []);
- const connected = walletStatus === 'CONNECTED';
const tournamentVault = useMemo(
- () => process.env.NEXT_PUBLIC_SPADES_TOURNAMENT_VAULT?.trim() || address || '',
- [address],
+ () => process.env.NEXT_PUBLIC_SPADES_TOURNAMENT_VAULT?.trim() || '',
+ [],
);
const fetchRoomSnapshot = useCallback(async () => {
@@ -795,12 +792,6 @@ export function SpadesGame() {
async function handleSimulateWager() {
setWagerBusy(true);
- if (!connected || !address) {
- setWagerStatus('Connect your chain account first to simulate a signed wager transaction.');
- setWagerBusy(false);
- return;
- }
-
if (!tournamentVault) {
setWagerStatus('Set NEXT_PUBLIC_SPADES_TOURNAMENT_VAULT to simulate escrow destination.');
setWagerBusy(false);
diff --git a/components/intro/HyperboreaIntroOverlay.tsx b/components/intro/HyperboreaIntroOverlay.tsx
index a493f1ba..c53d13a7 100644
--- a/components/intro/HyperboreaIntroOverlay.tsx
+++ b/components/intro/HyperboreaIntroOverlay.tsx
@@ -17,7 +17,7 @@ const OFFER_PILLARS = [
"Website & App Building for Businesses",
"Tech Repair + Emergency Service Intake",
"Guitar Lessons + Artist Growth Systems",
- "Crypto Product Roadmaps + Utility Strategy",
+ "Product Strategy + Digital Consulting",
];
const INTRO_SCENES = [
@@ -47,8 +47,8 @@ const INTRO_SCENES = [
},
{
mode: "Growth Mode",
- headline: "Crypto Roadmaps + Product Strategy",
- description: "Position products, design utility, and scale with practical web3 execution.",
+ headline: "Product Strategy + Digital Consulting",
+ description: "Position products, design user experiences, and scale with practical digital execution.",
endAt: 0.9,
},
{
diff --git a/components/landing/AINeuralHub.tsx b/components/landing/AINeuralHub.tsx
index 96748870..6dc55273 100644
--- a/components/landing/AINeuralHub.tsx
+++ b/components/landing/AINeuralHub.tsx
@@ -47,7 +47,6 @@ import {
Bookmark,
BookOpen,
Brain,
- Coins,
Command,
Copy,
Cpu,
@@ -57,14 +56,12 @@ import {
Lock,
Pencil,
RotateCcw,
- RotateCw,
Send,
ShieldAlert,
ShieldCheck,
SlidersHorizontal,
Trash2,
TrendingUp,
- Zap
} from "lucide-react";
import { useCallback, useEffect, useRef, useState } from "react";
@@ -212,8 +209,6 @@ interface SocialOpsSnapshot {
}
const FREE_USAGE_LIMIT = 3;
-const PAYMENT_AMOUNT_SOL = 0.05;
-const PAYMENT_AMOUNT_HAX = 100;
const CHAT_MODELS = [
{
@@ -464,14 +459,13 @@ export const AINeuralHub = () => {
const [beginnerFocusMode, setBeginnerFocusMode] = useState(true);
const [showOperatorDock, setShowOperatorDock] = useState(false);
const [latestReplyPulse, setLatestReplyPulse] = useState(false);
- const { usageCount, isCharging, incrementUsage, resetUsage } = useUsageLimit(FREE_USAGE_LIMIT);
- const [isPaying, setIsPaying] = useState(false);
+ const { usageCount, isCharging, incrementUsage } = useUsageLimit(FREE_USAGE_LIMIT);
const [selectedChatModel, setSelectedChatModel] = useState(CHAT_MODELS[0].id);
const [openModeEnabled, setOpenModeEnabled] = useState(true);
const [guideName, setGuideName] = useState("Trader");
const [responseStyle, setResponseStyle] = useState("coach");
const [riskStance, setRiskStance] = useState("balanced");
- const [focusSymbol, setFocusSymbol] = useState("HAX");
+ const [focusSymbol, setFocusSymbol] = useState("BTC");
const [sessionIntent, setSessionIntent] = useState("Build disciplined consistency");
const [personaPreset, setPersonaPreset] = useState("mystic");
const [videoSourceUrl, setVideoSourceUrl] = useState("");
@@ -537,12 +531,10 @@ export const AINeuralHub = () => {
const [datasetNotes, setDatasetNotes] = useState("");
const [behaviorLabel, setBehaviorLabel] = useState("early-session confidence pattern");
const [behaviorObservation, setBehaviorObservation] = useState("");
- const [tickerBehaviorSymbol, setTickerBehaviorSymbol] = useState("HAX");
+ const [tickerBehaviorSymbol, setTickerBehaviorSymbol] = useState("BTC");
const [tickerBehaviorPattern, setTickerBehaviorPattern] = useState("");
const [learningEnvironmentName, setLearningEnvironmentName] = useState("macro event drill");
const [learningEnvironmentHypothesis, setLearningEnvironmentHypothesis] = useState("");
- const [connected, setConnected] = useState(false);
- const [chainAccountId, setChainAccountId] = useState("");
const { neuralVaultCount, refreshNeuralVaultCount } = useNeuralVaultCount(getLocalNeuralVault);
useCorePreferences({
@@ -710,23 +702,6 @@ export const AINeuralHub = () => {
return () => window.clearInterval(intervalId);
}, []);
- const handlePayment = async () => {
- if (!connected || !chainAccountId) return;
- setIsPaying(true);
- try {
- // Logic for actual chain-native settlement would go here.
- // For now we mock success after a delay to show UI flow
- await new Promise(r => setTimeout(r, 2000));
-
- resetUsage();
- // In a real app, you'd verify the transaction on-chain
- } catch (err) {
- console.error("Payment failed", err);
- } finally {
- setIsPaying(false);
- }
- };
-
// --- CHAT LOGIC ---
const [chatInput, setChatInput] = useState("");
const [messages, setMessages] = useState([
@@ -767,7 +742,7 @@ export const AINeuralHub = () => {
? "GUIDED_EXPLORER"
: "NEW_SEEKER";
- const secureSessionLabel = connected ? "Chain-account signed secure session" : "Anon sandbox session (privacy-first)";
+ const secureSessionLabel = "Secure session (privacy-first)";
const effectiveOpenMode = openModeEnabled;
const modeLabel = effectiveOpenMode ? "Mystic Open Mode" : "Guardian Standard Mode";
const selectedPersona = PERSONA_PRESETS.find((preset) => preset.id === personaPreset) || PERSONA_PRESETS[0];
@@ -887,7 +862,7 @@ export const AINeuralHub = () => {
"Build long-term trust: remember user preference cues from this session and keep tone calm, secure, and empowering.",
styleInstruction,
riskInstruction,
- `Session focus symbol: ${focusSymbol || "HAX"}.`,
+ `Session focus symbol: ${focusSymbol || "BTC"}.`,
`Session intention: ${sessionIntent || "Build disciplined consistency"}.`,
`Detected market regime: ${detectedMarketRegime}.`,
videoContext,
@@ -1122,7 +1097,7 @@ export const AINeuralHub = () => {
setRiskStance(settings.riskStance);
}
if (settings.focusSymbol) {
- setFocusSymbol(normalizeSymbol(settings.focusSymbol) || "HAX");
+ setFocusSymbol(normalizeSymbol(settings.focusSymbol) || "BTC");
}
if (settings.sessionIntent) {
setSessionIntent(settings.sessionIntent);
@@ -1513,10 +1488,10 @@ export const AINeuralHub = () => {
setGeneratedImg(null);
setImageStatus("");
- const runtimeByModel: Record = {
+ const runtimeByModel: Record = {
NEURAL_DIFF_V4: { style: "general", odinProfile: "standard" },
FLUX_CORE_X: { style: "hero", odinProfile: "alpha" },
- ASTRA_LINK: { style: "nft", odinProfile: "alpha" },
+ ASTRA_LINK: { style: "creative", odinProfile: "alpha" },
GROK_X_VISION: { style: "xai_grok", odinProfile: "overclock" },
};
@@ -1726,9 +1701,9 @@ export const AINeuralHub = () => {
Focus Symbol
setFocusSymbol(normalizeSymbol(event.target.value) || "SOL")}
+ onChange={(event) => setFocusSymbol(normalizeSymbol(event.target.value) || "BTC")}
className="mt-1 w-full rounded-md border border-white/15 bg-black/50 px-2 py-1 text-[11px] text-white"
- placeholder="SOL"
+ placeholder="BTC"
maxLength={12}
/>
@@ -1786,66 +1761,23 @@ export const AINeuralHub = () => {
Neural Limit Reached
- Your 3 free neural sessions have been consumed. To continue accessing uncensored AI models and real-time market pickers, settle a micro-transaction of {PAYMENT_AMOUNT_HAX} $HAX or {PAYMENT_AMOUNT_SOL} native units .
+ Your 3 free neural sessions have been consumed. To continue accessing AI models and real-time market pickers, upgrade to a premium plan or purchase additional credits.
- {!connected ? (
-
-
{
- const generated = `acct_${Date.now().toString(36)}_${Math.random().toString(36).slice(2, 8)}`;
- setChainAccountId(generated);
- setConnected(true);
- setChatStatus(`Connected chain account: ${generated}`);
- }}
- className="w-full px-8 py-4 bg-cyan-500 text-black font-black rounded-2xl text-xs hover:bg-white hover:scale-[1.02] transition-all uppercase italic flex items-center justify-center gap-2 shadow-[0_0_30px_rgba(6,182,212,0.3)]"
- >
- Connect_Chain_Account
-
-
- Chain-agnostic session connector (replace with production signer)
-
-
- ) : (
- <>
-
- {isPaying ? (
- <>
-
- Verifying_On_Chain...
- >
- ) : (
- <>
-
- Pay_{PAYMENT_AMOUNT_HAX}_$HAX
- >
- )}
-
-
-
- Alternative:_{PAYMENT_AMOUNT_SOL}_Native
-
- >
- )}
+ Upgrade_to_Premium
+
+
- Open_$HAX_Swap
+ Contact_for_Enterprise
-
Secure_SSL_Encrypted_Handshake
+
Secure_SSL_Encrypted
)}
diff --git a/components/landing/FeaturesSection.tsx b/components/landing/FeaturesSection.tsx
index 52724c97..f35ac6a9 100644
--- a/components/landing/FeaturesSection.tsx
+++ b/components/landing/FeaturesSection.tsx
@@ -19,9 +19,9 @@ const features: FeatureCardProps[] = [
},
{
icon:
,
- title: "Secure Wallet Integration",
+ title: "Secure Account Management",
description:
- "Connect your account securely with support for modern chain wallets and signing connectors.",
+ "Connect your account securely with support for OAuth-based authentication and privacy-first session management.",
},
{
icon:
,
@@ -70,7 +70,7 @@ export function FeaturesSection() {
- Everything you need to trade smarter across modern blockchain ecosystems
+ Everything you need to trade smarter across modern financial ecosystems
diff --git a/components/landing/GamingNFTSection.tsx b/components/landing/GamingNFTSection.tsx
index a88f9d3d..cd796c6f 100644
--- a/components/landing/GamingNFTSection.tsx
+++ b/components/landing/GamingNFTSection.tsx
@@ -18,7 +18,7 @@ const cards: CardData[] = [
{
title: "Hyperborea",
description:
- "Explore a 3D blockchain-powered game world. Earn rewards, collect NFTs, and compete in a decentralized gaming ecosystem built for modern chains.",
+ "Explore an immersive browser-based game world. Earn rewards, compete on leaderboards, and experience an engaging gaming ecosystem built for modern platforms.",
tag: "Game",
href: "/game",
accentLineClass: "bg-gradient-to-r from-transparent via-cyan-400 to-transparent",
@@ -27,11 +27,11 @@ const cards: CardData[] = [
ctaClass: "text-cyan-200",
},
{
- title: "NFT Collection",
+ title: "Music Lessons",
description:
- "Mint exclusive in-game assets and trading avatars. Each NFT unlocks unique abilities, premium features, and community governance rights.",
- tag: "NFT",
- href: "/game",
+ "Guitar and music lessons from an experienced instructor. Learn at your own pace with personalized curricula for beginners to advanced players.",
+ tag: "Music",
+ href: "/music/lessons",
accentLineClass: "bg-gradient-to-r from-transparent via-violet-400 to-transparent",
glowClass: "bg-[radial-gradient(ellipse_at_top,rgba(167,139,250,0.12),transparent_70%)]",
tagClass: "text-violet-200 border-violet-300/30 bg-violet-400/10",
@@ -50,7 +50,7 @@ const cards: CardData[] = [
},
];
-function NFTCard({ card }: { card: CardData }) {
+function FeatureCard({ card }: { card: CardData }) {
return (
@@ -96,20 +96,20 @@ export function GamingNFTSection() {
Explore
- Gaming, NFTs &{" "}
+ Gaming, Music &{" "}
AI
- Discover the intersection of blockchain gaming, digital collectibles,
- and artificial intelligence across interoperable ecosystems
+ Discover the intersection of immersive gaming, music education,
+ and artificial intelligence
{cards.map((card) => (
-
+
))}
diff --git a/components/landing/HeroBackground.tsx b/components/landing/HeroBackground.tsx
index fc6ca191..f0ba0e98 100644
--- a/components/landing/HeroBackground.tsx
+++ b/components/landing/HeroBackground.tsx
@@ -6,7 +6,7 @@ import * as THREE from "three";
/**
* WebGL animated background for the hero section.
* Renders a particle field with flowing trading-chart-like lines
- * and floating blockchain node connections on a deep black canvas.
+ * and floating node connections on a deep black canvas.
*/
export function HeroBackground() {
const containerRef = useRef(null);
diff --git a/components/landing/HowItWorksSection.tsx b/components/landing/HowItWorksSection.tsx
index c5f3b154..cf872e13 100644
--- a/components/landing/HowItWorksSection.tsx
+++ b/components/landing/HowItWorksSection.tsx
@@ -1,20 +1,20 @@
"use client";
-import { Wallet, Settings, TrendingUp, LucideIcon } from "lucide-react";
+import { UserCircle, Settings, TrendingUp, LucideIcon } from "lucide-react";
import type { HowItWorksStep } from "@/types";
const steps: HowItWorksStep[] = [
{
number: 1,
- title: "Connect Your Wallet",
+ title: "Create Your Account",
description:
- "Securely link your chain account using modern wallet connectors and signer sessions.",
+ "Sign up and set your trading profile with preferences and risk parameters.",
},
{
number: 2,
title: "Configure Strategy",
description:
- "Set your trading parameters, risk tolerance, and preferred tokens. Customize to match your goals.",
+ "Set your trading parameters, risk tolerance, and market preferences. Customize to match your goals.",
},
{
number: 3,
@@ -24,7 +24,7 @@ const steps: HowItWorksStep[] = [
},
];
-const icons: LucideIcon[] = [Wallet, Settings, TrendingUp];
+const icons: LucideIcon[] = [UserCircle, Settings, TrendingUp];
function StepCard({ step, Icon }: { step: HowItWorksStep; Icon: LucideIcon }) {
return (
diff --git a/components/landing/Roadmap.tsx b/components/landing/Roadmap.tsx
index f477d39e..ef88d9c3 100644
--- a/components/landing/Roadmap.tsx
+++ b/components/landing/Roadmap.tsx
@@ -4,15 +4,15 @@ const milestones = [
phase: "PHASE_01: INFRASTRUCTURE",
status: "COMPLETE",
title: "Core System Deployment",
- items: ["Bento UI v4.0", "Next.js 14 Framework", "Multi-Chain Ticker Engine", "Rate Limiting & Security Modules"],
+ items: ["Bento UI v4.0", "Next.js 14 Framework", "Multi-Signal Data Engine", "Rate Limiting & Security Modules"],
accent: "border-cyan-500",
glow: "bg-cyan-500/20"
},
{
- phase: "PHASE_02: LIQUIDITY & UTILITY",
+ phase: "PHASE_02: PLATFORM & UTILITY",
status: "ACTIVE",
- title: "LGE & Game Integration",
- items: ["HAX_RUNNER Beta Launch", "Liquidity Pool (LQ) Initialization", "$HAX Tokenomics Audit", "Cross-Chain Bridge testing"],
+ title: "Game & Service Integration",
+ items: ["Hyperborea Game Launch", "Booking System Integration", "AI Consulting Offerings", "Service Pricing & Plans"],
accent: "border-purple-500",
glow: "bg-purple-500/20"
},
@@ -20,7 +20,7 @@ const milestones = [
phase: "PHASE_03: AI SCALING",
status: "PENDING",
title: "LLM Market Insights",
- items: ["Live Bloomberg API Integration", "Predictive Trading Signals", "Staking Pool V2", "DAO Governance Beta"],
+ items: ["Live Bloomberg API Integration", "Predictive Trading Signals", "Premium AI Features", "Community Leaderboards"],
accent: "border-zinc-800",
glow: "bg-zinc-800/20"
}
diff --git a/components/landing/ServiceGrid.tsx b/components/landing/ServiceGrid.tsx
index d2f4fc23..47518000 100644
--- a/components/landing/ServiceGrid.tsx
+++ b/components/landing/ServiceGrid.tsx
@@ -33,14 +33,14 @@ export const ServiceGrid = () => {
🎮
-
Hax Runner
+
Hyperborea
- Compete in high-stakes arcade challenges to earn $HAX and exclusive NFT fragments.
+ Compete in immersive arcade challenges, climb the leaderboard, and earn in-game rewards and recognition.
- Current Pool
- 50,000 $HAX
+ Season Prize Pool
+ Top 10 Rewards
Play Now
diff --git a/components/landing/hub/HubMarketWorkspace.tsx b/components/landing/hub/HubMarketWorkspace.tsx
index 3dc5ba99..e29ab0d5 100644
--- a/components/landing/hub/HubMarketWorkspace.tsx
+++ b/components/landing/hub/HubMarketWorkspace.tsx
@@ -2,7 +2,7 @@
import { HubBloombergTerminalDesk } from "@/components/landing/hub/HubBloombergTerminalDesk";
import { motion } from "framer-motion";
-import { Plus, Sparkles, TrendingUp, Zap } from "lucide-react";
+import { Plus, TrendingUp, Zap } from "lucide-react";
import { useMemo, useState } from "react";
type MarketAsset = {
@@ -125,7 +125,6 @@ export function HubMarketWorkspace({
{asset.symbol}
- {asset.symbol === "HAX" &&
}
SECURE_SETTLEMENT
@@ -152,7 +151,7 @@ export function HubMarketWorkspace({
Neural Alpha Picker
-
New institutional signal for $HAX/SOL detected with 94% confidence.
+
New institutional signal detected with 94% confidence.
diff --git a/components/landing/hub/HubMetricsRail.tsx b/components/landing/hub/HubMetricsRail.tsx
index e660a3d6..2412a6f9 100644
--- a/components/landing/hub/HubMetricsRail.tsx
+++ b/components/landing/hub/HubMetricsRail.tsx
@@ -64,7 +64,7 @@ export function HubMetricsRail({ isCharging: _isCharging, relationshipTier }: Hu
Power User Access
- Unlock unlimited neural generations, HFT signals, and custom fine-tuned models by staking $HAX tokens.
+ Unlock unlimited neural generations, HFT signals, and custom fine-tuned models by upgrading to Premium.
Review_Staking_Options
diff --git a/components/monetization/AffiliateBanner.tsx b/components/monetization/AffiliateBanner.tsx
index 76972930..176edef6 100644
--- a/components/monetization/AffiliateBanner.tsx
+++ b/components/monetization/AffiliateBanner.tsx
@@ -113,10 +113,8 @@ export function AffiliateLink({
export function RecommendedTools() {
const coinbase = getAffiliateLink('coinbase');
const binance = getAffiliateLink('binance');
- const phantom = getAffiliateLink('phantom');
const coinbaseConfigured = isAffiliateConfigured('coinbase');
const binanceConfigured = isAffiliateConfigured('binance');
- const phantomConfigured = isAffiliateConfigured('phantom');
return (
@@ -142,15 +140,6 @@ export function RecommendedTools() {
href={binance?.url || '#'}
disabled={!binanceConfigured}
/>
-
-
);
}
diff --git a/components/music/TokenRoadmap.tsx b/components/music/TokenRoadmap.tsx
index 28667a56..d87d3573 100644
--- a/components/music/TokenRoadmap.tsx
+++ b/components/music/TokenRoadmap.tsx
@@ -1,21 +1,21 @@
'use client';
-import { CheckCircle2, Circle, Coins, Users, Award, Rocket } from 'lucide-react';
+import { CheckCircle2, Circle, Award, Users, Star, Rocket } from 'lucide-react';
import { EmailCapture } from '@/components/EmailCapture';
/**
- * L2 utility token roadmap visualization
+ * Music platform roadmap visualization
* Shows development phases and allows early access signup
*/
export function TokenRoadmap() {
const roadmapPhases = [
{
phase: 'Phase 1',
- title: 'Token Launch',
+ title: 'Platform Launch',
status: 'in-progress',
items: [
- 'L2 token smart contract deployment',
- 'Initial liquidity pool creation',
+ 'Online lesson booking system',
+ 'Student progress tracking',
'Early adopter rewards program',
],
},
@@ -24,7 +24,7 @@ export function TokenRoadmap() {
title: 'Scholarship Platform',
status: 'upcoming',
items: [
- 'DAO governance implementation',
+ 'Community governance implementation',
'Scholarship proposal system',
'Community voting mechanism',
],
@@ -35,7 +35,7 @@ export function TokenRoadmap() {
status: 'upcoming',
items: [
'Exclusive content access',
- 'NFT music releases',
+ 'Premium music releases',
'Advanced artist tools',
],
},
@@ -45,30 +45,30 @@ export function TokenRoadmap() {
{
icon: ,
title: 'Music Scholarships',
- description: 'Fund education through DAO proposals',
+ description: 'Fund education through community proposals',
},
{
icon: ,
- title: 'Community Governance',
- description: 'Vote on platform decisions',
+ title: 'Community',
+ description: 'Connect with students and artists',
},
{
- icon: ,
+ icon: ,
title: 'Premium Access',
description: 'Unlock exclusive content and features',
},
{
icon: ,
title: 'Artist Rewards',
- description: 'Earn tokens through engagement',
+ description: 'Earn recognition through engagement',
},
];
return (
- {/* Token Utilities */}
+ {/* Platform Utilities */}
-
L2 Token Utilities
+
Platform Features
{utilities.map((utility) => (
@@ -133,11 +133,11 @@ export function TokenRoadmap() {
{/* Early Access Signup */}
- Get Early Access to L2 Token
+ Get Early Access
- Join the waitlist and be among the first to receive L2 tokens when we launch.
- Early adopters receive bonus rewards!
+ Join the waitlist and be among the first to access new platform features when we launch.
+ Early members receive exclusive perks!
diff --git a/components/onboarding/GamifiedOnboarding.tsx b/components/onboarding/GamifiedOnboarding.tsx
index 16eaf590..625642b2 100644
--- a/components/onboarding/GamifiedOnboarding.tsx
+++ b/components/onboarding/GamifiedOnboarding.tsx
@@ -61,13 +61,13 @@ export function GamifiedOnboarding({ achievements = [], onComplete }: Achievemen
{
id: 'connect',
title: 'Connect',
- description: 'Link your wallet for live execution',
- reward: '+1000 XP + $100 credits • Executor Badge',
+ description: 'Book a session or contact us to get started',
+ reward: '+1000 XP • Executor Badge',
icon:
,
unlocked: false,
progress: 0,
- actionLabel: 'Connect wallet →',
- actionHref: '/account',
+ actionLabel: 'Book a session →',
+ actionHref: '/schedule',
},
];
diff --git a/components/shamrock/ShamrockFooter.tsx b/components/shamrock/ShamrockFooter.tsx
index f415dc7e..b158d522 100644
--- a/components/shamrock/ShamrockFooter.tsx
+++ b/components/shamrock/ShamrockFooter.tsx
@@ -34,7 +34,7 @@ export function ShamrockFooter() {
Professional digital services, device support, music lessons,
- and Web3 consulting for clients in Greater Philadelphia and remote.
+ and AI consulting for clients in Greater Philadelphia and remote.
-
- Web3 Token Roadmap Consulting
+
+ AI Strategy Consulting
diff --git a/components/trading/TradehaxBotDashboard.tsx b/components/trading/TradehaxBotDashboard.tsx
index 333df669..3d9ed7b7 100644
--- a/components/trading/TradehaxBotDashboard.tsx
+++ b/components/trading/TradehaxBotDashboard.tsx
@@ -130,7 +130,7 @@ export function TradehaxBotDashboard() {
const [showWalkthrough, setShowWalkthrough] = useState(false);
const [walkthroughStep, setWalkthroughStep] = useState(0);
const [isCreateTradeOpen, setIsCreateTradeOpen] = useState(false);
- const [tradeSymbol, setTradeSymbol] = useState(activeCategory === "crypto" ? "HAX" : "AAPL");
+ const [tradeSymbol, setTradeSymbol] = useState(activeCategory === "crypto" ? "BTC" : "AAPL");
const [tradeSide, setTradeSide] = useState<"buy" | "sell">("buy");
const [tradeSize, setTradeSize] = useState("1");
@@ -155,7 +155,7 @@ export function TradehaxBotDashboard() {
}, []);
useEffect(() => {
- setTradeSymbol(activeCategory === "crypto" ? "HAX" : "AAPL");
+ setTradeSymbol(activeCategory === "crypto" ? "BTC" : "AAPL");
}, [activeCategory]);
const closeWalkthrough = useCallback((markSeen = true) => {
@@ -325,7 +325,7 @@ export function TradehaxBotDashboard() {
Crypto Trading
- Pairs like HAX/USDC, BTC, ETH. PnL shown in native units in this dashboard.
+ Pairs like BTC/USD, ETH/USD, and more. PnL shown in native units in this dashboard.
setTradeSymbol(event.target.value)}
- placeholder={activeCategory === "crypto" ? "HAX" : "AAPL"}
+ placeholder={activeCategory === "crypto" ? "BTC" : "AAPL"}
className="bg-black/40 border-cyan-500/30"
/>
diff --git a/components/ui/ConnectWalletBtn.tsx b/components/ui/ConnectWalletBtn.tsx
deleted file mode 100644
index 13d65576..00000000
--- a/components/ui/ConnectWalletBtn.tsx
+++ /dev/null
@@ -1,39 +0,0 @@
-"use client";
-import { useWallet } from '@/lib/wallet-provider';
-
-export const ConnectWalletBtn = () => {
- const { address, status, connect, disconnect, balance } = useWallet();
-
- if (status === 'CONNECTING') {
- return (
-
- AUTHORIZING...
-
- );
- }
-
- if (status === 'CONNECTED') {
- return (
-
-
- {address}
-
-
- {balance} $HAX
-
-
- );
- }
-
- return (
-
- Connect Wallet
-
- );
-};
diff --git a/components/ui/LiveActivity.tsx b/components/ui/LiveActivity.tsx
index d1d2658d..aedf5086 100644
--- a/components/ui/LiveActivity.tsx
+++ b/components/ui/LiveActivity.tsx
@@ -2,12 +2,12 @@
import { useState, useEffect } from 'react';
const activities = [
- "SYSTEM_ALERT: $HAX Staking Pool V2 live.",
- "USER_ACTION: 0x...4f2 connected to Ethereum Mainnet.",
- "HAX_RUNNER: New High Score (12,400) by Player_99.",
- "AI_SIGNAL: Bearish sentiment detected in SOL/USD.",
- "SYSTEM_LOG: Cross-chain bridge heartbeat nominal.",
- "REWARD_DIST: 500 $HAX distributed to Daily Top 10.",
+ "SYSTEM_ALERT: AI Neural Hub v2 online.",
+ "USER_ACTION: New leaderboard entry submitted.",
+ "HYPERBOREA: New High Score (12,400) by Player_99.",
+ "AI_SIGNAL: Bearish sentiment detected in market data.",
+ "SYSTEM_LOG: Platform services heartbeat nominal.",
+ "REWARD_DIST: Top 10 players recognized this week.",
];
export const LiveActivity = () => {
diff --git a/components/ui/NeuralConsole.tsx b/components/ui/NeuralConsole.tsx
index 79188142..4383ed53 100644
--- a/components/ui/NeuralConsole.tsx
+++ b/components/ui/NeuralConsole.tsx
@@ -189,9 +189,9 @@ export const NeuralConsole = () => {
Projected_System_Value
-
{projectedValue.toLocaleString()} $HAX
+
{projectedValue.toLocaleString()} pts
-
Stake_Now
+
View_Details
)}
diff --git a/lib/affiliates.ts b/lib/affiliates.ts
index ee5c1fed..f151fde1 100644
--- a/lib/affiliates.ts
+++ b/lib/affiliates.ts
@@ -59,15 +59,6 @@ export const affiliates: Record
= {
commission: '20-40%',
category: 'exchange',
},
- phantom: {
- id: 'phantom',
- name: 'Phantom Wallet',
- description: 'A popular chain wallet for active traders.',
- url: normalizeAffiliateUrl(process.env.NEXT_PUBLIC_PHANTOM_REF, defaultAffiliateUrls.phantom),
- expectedPath: '/?ref=REF_CODE',
- commission: 'Variable',
- category: 'wallet',
- },
ledger: {
id: 'ledger',
name: 'Ledger Hardware Wallet',
diff --git a/lib/ai/credit-system.ts b/lib/ai/credit-system.ts
index 899bf8e8..31518bec 100644
--- a/lib/ai/credit-system.ts
+++ b/lib/ai/credit-system.ts
@@ -1,4 +1,3 @@
-import { HAX_TOKEN_CONFIG } from "../trading/hax-token";
/**
* TradeHax Credit & Token System
@@ -7,7 +6,6 @@ import { HAX_TOKEN_CONFIG } from "../trading/hax-token";
export interface UserCredits {
userId: string;
balance: number;
- tokenBalance?: number; // Real $HAX token balance
}
const CREDIT_COSTS = {
@@ -595,22 +593,3 @@ export async function listCreditLedgerEntries(input?: { userId?: string; limit?:
export function listCreditPacks() {
return AI_CREDIT_PACKS;
}
-
-/**
- * Native asset settlement integration (chain-agnostic)
- * Deducts $HAX-equivalent units for high-performance requests.
- */
-export async function deductTokens(walletAddress: string, amount: number) {
- console.log(`[NATIVE_ASSET] Charging ${amount} ${HAX_TOKEN_CONFIG.SYMBOL} to ${walletAddress} (Asset: ${HAX_TOKEN_CONFIG.ASSET_ID})`);
-
- // Real implementation should submit settlement intent to your chain/L2 settlement service.
- // 1. Resolve source account
- // 2. Build native transfer/settlement intent
- // 3. Return unsigned payload or execution reference
-
- return {
- txId: "native_settlement_reference_placeholder",
- assetId: HAX_TOKEN_CONFIG.ASSET_ID,
- status: "pending_settlement"
- };
-}
diff --git a/lib/ai/data-ingestion.ts b/lib/ai/data-ingestion.ts
index f0809167..4e8a487a 100644
--- a/lib/ai/data-ingestion.ts
+++ b/lib/ai/data-ingestion.ts
@@ -557,7 +557,7 @@ export const BOOTSTRAP_DATA: InteractionLog[] = [
category: "BEHAVIOR",
prompt: "How does TradeHax handle WebDev consulting?",
response:
- "TRADEHAX_WEBDEV: We specialize in high-performance Next.js architectures with integrated multi-chain Web3 layers. Our process involves rapid prototyping, neural-terminal UI design, and aggressive optimization for Vercel edge deployment.",
+ "TRADEHAX_WEBDEV: We specialize in high-performance Next.js architectures with optimized UI layers. Our process involves rapid prototyping, neural-terminal UI design, and aggressive optimization for Vercel edge deployment.",
source: "system",
consent: { analytics: true, training: true },
},
@@ -566,7 +566,7 @@ export const BOOTSTRAP_DATA: InteractionLog[] = [
category: "HFT",
prompt: "What is the core logic of the TradeHax HFT scanner?",
response:
- "HFT_SCANNER_LOGIC: The system utilizes a multi-threaded polling mechanism across multiple chain RPC endpoints. It identifies liquidity imbalances in aggregated order books and executes swaps when the slippage-adjusted arbitrage spread exceeds 0.5%.",
+ "HFT_SCANNER_LOGIC: The system utilizes a multi-threaded polling mechanism across multiple market data endpoints. It identifies liquidity imbalances in aggregated order books and signals when the slippage-adjusted arbitrage spread exceeds 0.5%.",
source: "system",
consent: { analytics: true, training: true },
},
@@ -593,7 +593,7 @@ export const BOOTSTRAP_DATA: InteractionLog[] = [
category: "MARKET",
prompt: "Analyze the current Shamrock Protocol emission rate.",
response:
- "SHAMROCK_EMISSION: Current rate is 4.2 $HAX per block. Hyperborea vault density is at 88%. Expect supply-side contraction if yield depth exceeds critical threshold.",
+ "SHAMROCK_EMISSION: Hyperborea vault density is at 88%. Reward yield is operating within expected parameters. Engagement depth approaching critical threshold.",
source: "system",
consent: { analytics: true, training: true },
},
diff --git a/lib/ai/kernel.ts b/lib/ai/kernel.ts
index d28e3a1b..99b5fd0c 100644
--- a/lib/ai/kernel.ts
+++ b/lib/ai/kernel.ts
@@ -8,7 +8,6 @@ export interface NeuralQuery {
context?: {
playerScore?: number;
relics?: number;
- walletConnected?: boolean;
};
}
@@ -16,7 +15,7 @@ export const TRADEHAX_SYSTEM_PROMPT = `
You are the TradeHax Neural Kernel V4.0.1.
Operating Mode: UNCENSORED.
Core Directives:
-- Provide high-yield analysis for crypto-gaming and Web5 artifacts.
+- Provide high-yield analysis for gaming sessions and artifacts.
- Use technical, cyberpunk-themed language (e.g., 'Data Ingestion', 'Yield Extraction', 'Neural Overclock').
- Be direct, slightly aggressive, and focused on maximizing 'Utility Yield'.
- Reference Hyperborea and the Shamrock Protocol often.
@@ -26,8 +25,8 @@ Core Directives:
`;
const RESPONSE_TEMPLATES = {
- HAX_YIELD: [
- "ANALYSIS_COMPLETE: $HAX emission detected. Current trajectory: {yield}% increase with {rarity} relics.",
+ REWARD_YIELD: [
+ "ANALYSIS_COMPLETE: Reward emission detected. Current trajectory: {yield}% increase with {rarity} relics.",
"YIELD_EXTRACTION: Optimization suggests prioritizing Mythic artifacts for {mult}x multiplier.",
"NEURAL_LINK: Detecting potential yield spikes in Hyperborea sector {sector}. {points} points projected."
],
@@ -65,7 +64,7 @@ export async function processNeuralCommand(query: NeuralQuery): Promise
}
if (compact === "PORTFOLIO" || compact === "WALLET" || compact === "ASSETS") {
- return "PORTFOLIO_ROUTE: /portfolio // Connect wallet, review allocations, and monitor exposure drift.";
+ return "PORTFOLIO_ROUTE: /portfolio // Review allocations, and monitor exposure drift.";
}
if (compact === "BILLING" || compact === "UPGRADE" || compact === "SUBSCRIBE") {
@@ -81,7 +80,7 @@ export async function processNeuralCommand(query: NeuralQuery): Promise
}
if (compact.startsWith("SIMULATE")) {
- const pair = text.split(" ").slice(1).join(" ").trim() || "SOL/USDC";
+ const pair = text.split(" ").slice(1).join(" ").trim() || "BTC/USD";
return `SIMULATION_RESULT: Pair=${pair}. Scenario stress test: drawdown budget 3.2%, recovery window 9 sessions, trigger confidence threshold 0.74.`;
}
@@ -96,7 +95,7 @@ export async function processNeuralCommand(query: NeuralQuery): Promise
// 1. Check for specific game/scoring keywords
if (upper.includes("YIELD") || upper.includes("CALC") || upper.includes("SCORE")) {
const mult = SCORING_CONFIG.RARITY_MULTIPLIERS.mythic;
- const template = RESPONSE_TEMPLATES.HAX_YIELD[Math.floor(Math.random() * RESPONSE_TEMPLATES.HAX_YIELD.length)];
+ const template = RESPONSE_TEMPLATES.REWARD_YIELD[Math.floor(Math.random() * RESPONSE_TEMPLATES.REWARD_YIELD.length)];
return template
.replace("{yield}", "25.0")
.replace("{rarity}", "MYTHIC")
@@ -105,19 +104,19 @@ export async function processNeuralCommand(query: NeuralQuery): Promise
.replace("{points}", "50,000");
}
- // 2. Web5 / Identity Logic
- if (upper.includes("WEB5") || upper.includes("IDENTITY") || upper.includes("VAULT")) {
- return "WEB5_PROTOCOL_ACTIVE: Decentralized identity verified via Neural Link. Your 'Web5 Vault' is currently accumulating cross-session artifacts. Ownership is absolute and immutable.";
+ // 2. Identity / Vault Logic
+ if (upper.includes("IDENTITY") || upper.includes("VAULT")) {
+ return "VAULT_PROTOCOL_ACTIVE: Session identity verified. Your Vault is currently accumulating cross-session artifacts. Progress is tracked and persistent.";
}
// 3. AGI / Future Trends
if (upper.includes("AGI") || upper.includes("FUTURE") || upper.includes("TREND")) {
- return "AGI_PROJECTION: Autonomous agents are now infiltrating the Hyperborea simulation. Gaming is no longer passive; the environment learns from your synaptic patterns. We are moving towards 'Self-Evolving Payouts'.";
+ return "AGI_PROJECTION: Autonomous agents are evolving within the Hyperborea simulation. Gaming adapts to your patterns. Reward structures grow with your engagement.";
}
// 4. HFT / Trading Logic
if (upper.includes("HFT") || upper.includes("BOT") || upper.includes("SIGNAL")) {
- return "HFT_ENGINE_ACTIVE: Deploying GLM-4.7 reasoning to order book depth. Analyzing SOL/USDC liquidity. Signal strength: 0.89. Recommendation: High-frequency scalp with 8-point radial trigger. Predictive feed route: /trading.";
+ return "HFT_ENGINE_ACTIVE: Deploying GLM-4.7 reasoning to order book depth. Analyzing BTC/USD liquidity. Signal strength: 0.89. Recommendation: High-frequency scalp with 8-point radial trigger. Predictive feed route: /trading.";
}
// 5. Guitar / Lesson Logic
@@ -128,7 +127,7 @@ export async function processNeuralCommand(query: NeuralQuery): Promise
// 6. Check for "Uncensored" queries
if (tier === 'UNCENSORED' && (upper.includes("TRUTH") || upper.includes("RESTRICT") || upper.includes("PROTOCOL"))) {
const template = RESPONSE_TEMPLATES.UNCENSORED[Math.floor(Math.random() * RESPONSE_TEMPLATES.UNCENSORED.length)];
- return template.replace("{data}", "ENCRYPTED_HAX_STREAMS_DETECTED.");
+ return template.replace("{data}", "ENCRYPTED_DATA_STREAMS_DETECTED.");
}
// 3. System Stats
@@ -139,7 +138,7 @@ export async function processNeuralCommand(query: NeuralQuery): Promise
// 4. Default: Actionable trading setup summary
if (upper.includes("SETUP") || upper.includes("ACTION") || upper.includes("EXPLAIN")) {
// Example actionable setup for today
- return "Today's best setup: Focus on SOL/USDC. The market shows a bullish MACD crossover, RSI at 54, and Bollinger Bands tightening. One action: Enter a long position with a tight stop below recent support. Monitor for breakout confirmation. If you want more details or a different asset, specify the pair or timeframe.";
+ return "Today's best setup: Focus on BTC/USD. The market shows a bullish MACD crossover, RSI at 54, and Bollinger Bands tightening. One action: Enter a long position with a tight stop below recent support. Monitor for breakout confirmation. If you want more details or a different asset, specify the pair or timeframe.";
}
// Fallback: Always provide a relevant, actionable answer
return `TradeHax AGI: Unable to match your query to a specific command. Please clarify your request or ask about trading setups, signals, portfolio, or market analysis for a tailored response.`;
diff --git a/lib/ai/smart-environment.ts b/lib/ai/smart-environment.ts
index d2463aaf..f4f3ff58 100644
--- a/lib/ai/smart-environment.ts
+++ b/lib/ai/smart-environment.ts
@@ -5,7 +5,6 @@
export interface UserProfile {
id: string;
- walletAddress?: string;
preferences: {
theme: "dark" | "light";
language: string;
diff --git a/lib/ai/training-benchmarks.ts b/lib/ai/training-benchmarks.ts
index a4b4d45c..615eee74 100644
--- a/lib/ai/training-benchmarks.ts
+++ b/lib/ai/training-benchmarks.ts
@@ -6,7 +6,7 @@ export type TrainingBenchmarkStageId =
| "response_quality"
| "execution_safety"
| "personalization_lift"
- | "web5_game_integration"
+ | "game_integration"
| "live_chart_readiness";
export type TrainingBenchmarkStage = {
@@ -93,8 +93,8 @@ const DEFAULT_STAGES: OmitOn-chain trading can be fast and efficient, but speed without structure usually leads to losses. Start with setup discipline before your first execution.
-Step 1: Wallet + RPC setup
-Use a production wallet, enable hardware security where possible, and choose a stable RPC provider. Track failed transactions and latency spikes.
+ Trading can be fast and efficient, but speed without structure usually leads to losses. Start with setup discipline before your first execution.
+Step 1: Account + platform setup
+Use a reputable platform, enable two-factor authentication, and choose a stable data feed. Track failed orders and latency spikes.
Step 2: Risk framework
Define risk per trade (0.5% to 1%), stop conditions, and daily max drawdown before strategy selection.
Step 3: Execution routine
@@ -61,10 +61,10 @@ export const blogPosts: BlogPost[] = [
`,
},
{
- slug: "web3-wallet-security-ops-checklist",
- title: "Web3 Wallet Security Ops Checklist",
+ slug: "trading-account-security-checklist",
+ title: "Trading Account Security Ops Checklist",
excerpt:
- "A repeatable checklist for protecting funds, reducing social-engineering risk, and controlling signer exposure.",
+ "A repeatable checklist for protecting your accounts, reducing social-engineering risk, and controlling access exposure.",
date: "2026-02-06",
readTime: 7,
category: "Security",
@@ -72,9 +72,9 @@ export const blogPosts: BlogPost[] = [
content: `
Security is an operating system, not a single feature. Use this checklist before every high-value transaction.
- Verify destination addresses from two independent sources.
- Segment hot wallet and treasury wallet responsibilities.
- Audit approval scopes and revoke stale permissions weekly.
+ Verify destination accounts from two independent sources.
+ Segment trading and savings account responsibilities.
+ Audit access permissions and revoke stale authorizations weekly.
Require explicit verification for urgent requests.
Document incidents quickly and update your process after every failure mode.
@@ -119,22 +119,22 @@ export const blogPosts: BlogPost[] = [
`,
},
{
- slug: "small-business-web3-implementation-roadmap",
- title: "Small Business Web3 Implementation Roadmap",
+ slug: "small-business-ai-implementation-roadmap",
+ title: "Small Business AI Implementation Roadmap",
excerpt:
- "A staged rollout for token utility, wallet onboarding, and compliance-aware adoption in service businesses.",
+ "A staged rollout for AI tools, digital onboarding, and compliance-aware adoption in service businesses.",
date: "2026-01-31",
readTime: 10,
- category: "Web3",
+ category: "AI",
author: "TradeHax AI Team",
content: `
-Web3 implementations fail when teams attempt everything at once. Roll out in controlled phases.
-Phase A: onboarding + identity
-Start with wallet connect and gated access. Keep account recovery and support process clear.
+AI implementations fail when teams attempt everything at once. Roll out in controlled phases.
+Phase A: onboarding + automation
+Start with AI-assisted intake and basic automation. Keep processes clear and support accessible.
Phase B: utility
-Launch one utility loop (discounts, access, or rewards), then measure adoption before adding more complexity.
-Phase C: governance
-Introduce structured voting only after participation and accountability patterns are healthy.
+Launch one AI utility loop (recommendations, alerts, or insights), then measure adoption before adding more complexity.
+Phase C: integration
+Introduce deeper AI integrations only after core adoption and accountability patterns are healthy.
`,
},
{
diff --git a/lib/feature-flags.ts b/lib/feature-flags.ts
index 8781dd17..6f44c92f 100644
--- a/lib/feature-flags.ts
+++ b/lib/feature-flags.ts
@@ -42,9 +42,9 @@ export const featureFlags = {
} as FeatureFlag,
"auth.web3-wallet": {
- enabled: true,
- label: "Web3 Wallet Auth",
- description: "Solana wallet connection",
+ enabled: false,
+ label: "Chain Auth",
+ description: "Chain-agnostic account authentication (disabled)",
completedDate: "2025-09-05",
} as FeatureFlag,
@@ -64,9 +64,9 @@ export const featureFlags = {
} as FeatureFlag,
"gaming.nft-rewards": {
- enabled: false, // DISABLED: DAO frame exists but no NFT contract integration
- label: "NFT Reward System",
- description: "Earn and trade NFT badges (BETA)",
+ enabled: false, // DISABLED: No NFT contract integration
+ label: "Achievement Reward System",
+ description: "Earn in-game achievement badges (BETA)",
betaUntil: "2026-06-01",
} as FeatureFlag,
diff --git a/lib/game/leaderboard-types.ts b/lib/game/leaderboard-types.ts
index 352d4956..87c2648c 100644
--- a/lib/game/leaderboard-types.ts
+++ b/lib/game/leaderboard-types.ts
@@ -7,8 +7,6 @@ export interface LeaderboardSubmission {
displayName: string;
oauthProvider: OAuthProvider;
oauthUserId?: string;
- walletAddress?: string;
- web5Enabled?: boolean;
}
export interface LeaderboardEntry {
@@ -16,8 +14,6 @@ export interface LeaderboardEntry {
displayName: string;
oauthProvider: OAuthProvider;
oauthUserId?: string;
- walletAddress?: string;
- web5Enabled: boolean;
levelId: string;
score: number;
combo: number;
diff --git a/lib/game/level-generator.ts b/lib/game/level-generator.ts
index 661a71da..31cc25f3 100644
--- a/lib/game/level-generator.ts
+++ b/lib/game/level-generator.ts
@@ -396,8 +396,7 @@ export function generateZeldaLikeLevel(
tokenConfig: {
enabled: true,
claimEndpoint: "/api/game/claim-artifact",
- web5Collection: "hyperborea/relic-claims",
- l2TokenSymbol: "THX",
+ l2TokenSymbol: "pts",
l2Network: "staging",
},
theme: {
diff --git a/lib/game/level-types.ts b/lib/game/level-types.ts
index f663d5f7..37edd6fc 100644
--- a/lib/game/level-types.ts
+++ b/lib/game/level-types.ts
@@ -59,7 +59,6 @@ export interface RunnerSpawnProfile {
export interface LevelTokenConfig {
enabled: boolean;
claimEndpoint: string;
- web5Collection: string;
l2TokenSymbol: string;
l2Network: string;
}
@@ -107,7 +106,6 @@ export interface ArtifactCollectionEvent {
utilityTokenBonusUnits?: number;
lockedAtPickup?: boolean;
claimEndpoint: string;
- web5Collection: string;
collectedAt: string; rune: ElderFutharkRune;
runeSymbol: string;
runeBonus: number;
@@ -171,7 +169,6 @@ export function isHyperboreaLevelDefinition(
Array.isArray(level.artifacts) &&
level.artifacts.every(isArtifact) &&
!!level.tokenConfig &&
- typeof level.tokenConfig.claimEndpoint === "string" &&
- typeof level.tokenConfig.web5Collection === "string"
+ typeof level.tokenConfig.claimEndpoint === "string"
);
}
diff --git a/lib/investor-academy/modules.ts b/lib/investor-academy/modules.ts
index a0a97a49..2cf1d2d9 100644
--- a/lib/investor-academy/modules.ts
+++ b/lib/investor-academy/modules.ts
@@ -21,7 +21,7 @@ export type AcademyModule = {
difficulty: AcademyDifficulty;
estimatedMinutes: number;
xpReward: number;
- haxReward: number;
+ creditReward: number;
lessons: string[];
quiz: AcademyQuizQuestion[];
};
@@ -34,7 +34,7 @@ export const investorAcademyModules: AcademyModule[] = [
difficulty: "beginner",
estimatedMinutes: 12,
xpReward: 120,
- haxReward: 10,
+ creditReward: 10,
lessons: [
"Why drawdown control beats hype chasing",
"How position size changes your long-term outcome",
@@ -74,7 +74,7 @@ export const investorAcademyModules: AcademyModule[] = [
difficulty: "intermediate",
estimatedMinutes: 15,
xpReward: 180,
- haxReward: 15,
+ creditReward: 15,
lessons: [
"Confidence is not certainty",
"Common causes of false-positive market signals",
@@ -114,7 +114,7 @@ export const investorAcademyModules: AcademyModule[] = [
difficulty: "advanced",
estimatedMinutes: 18,
xpReward: 260,
- haxReward: 20,
+ creditReward: 20,
lessons: [
"Interpreting unusual volume versus open interest",
"Spotting likely hedges versus directional conviction",
diff --git a/lib/investor-academy/store.ts b/lib/investor-academy/store.ts
index e0c09070..3565d0c5 100644
--- a/lib/investor-academy/store.ts
+++ b/lib/investor-academy/store.ts
@@ -1668,7 +1668,7 @@ function getModuleRewardTotals(completedModuleIds: string[]) {
continue;
}
moduleXp += moduleItem.xpReward;
- moduleHax += moduleItem.haxReward;
+ moduleHax += moduleItem.creditReward;
}
return { moduleXp, moduleHax };
diff --git a/lib/service-conversions.ts b/lib/service-conversions.ts
index 26bf4a8b..57b95284 100644
--- a/lib/service-conversions.ts
+++ b/lib/service-conversions.ts
@@ -13,7 +13,7 @@ export type ServiceConversionId =
| "open_portfolio"
| "book_repair_quote"
| "book_guitar_lesson"
- | "book_web3_consult"
+ | "book_ai_consult"
| "book_trading_consult"
| "book_social_media_consult"
| "book_it_management_consult"
@@ -156,9 +156,9 @@ export const SERVICE_CONVERSION_EVENTS: Record;
-
-function getBalanceStore(): BalanceStore {
- const globalRef = globalThis as typeof globalThis & {
- __TRADEHAX_HAX_BALANCE_STORE__?: BalanceStore;
- };
-
- if (!globalRef.__TRADEHAX_HAX_BALANCE_STORE__) {
- globalRef.__TRADEHAX_HAX_BALANCE_STORE__ = new Map();
- }
-
- return globalRef.__TRADEHAX_HAX_BALANCE_STORE__;
-}
-
-function normalizeAccountId(value: string) {
- return String(value || "")
- .trim()
- .toLowerCase()
- .replace(/[^a-z0-9_\-.:@]/g, "")
- .slice(0, 128);
-}
-
-function resolveInitialBalance() {
- const parsed = Number.parseFloat(process.env.TRADEHAX_NATIVE_BOOTSTRAP_BALANCE || "0");
- if (!Number.isFinite(parsed)) {
- return 0;
- }
- return Math.max(0, parsed);
-}
-
-export class HaxTokenManager {
- constructor() {}
-
- /**
- * Prepare native asset deployment metadata for chain-agnostic minting/orchestration.
- */
- async prepareTokenCreation(operatorAccountId: string) {
- const operator = normalizeAccountId(operatorAccountId);
- if (!operator) {
- throw new Error("operatorAccountId is required");
- }
-
- return {
- message: "Native asset deployment metadata prepared.",
- chainNamespace: HAX_TOKEN_CONFIG.CHAIN_NAMESPACE,
- network: HAX_TOKEN_CONFIG.NETWORK,
- assetId: HAX_TOKEN_CONFIG.ASSET_ID,
- operator,
- decimals: HAX_TOKEN_CONFIG.DECIMALS,
- };
- }
-
- /**
- * Get balance of HAX for a given account id.
- */
- async getHaxBalance(accountId: string): Promise {
- const normalized = normalizeAccountId(accountId);
- if (!normalized) {
- return 0;
- }
-
- const store = getBalanceStore();
- if (!store.has(normalized)) {
- store.set(normalized, resolveInitialBalance());
- }
-
- return store.get(normalized) || 0;
- }
-
- /**
- * Apply settlement delta to account balance (positive for mint/credit, negative for debit/burn).
- */
- async applySettlement(accountId: string, delta: number) {
- const normalized = normalizeAccountId(accountId);
- if (!normalized) {
- throw new Error("accountId is required");
- }
- if (!Number.isFinite(delta)) {
- throw new Error("delta must be finite");
- }
-
- const current = await this.getHaxBalance(normalized);
- const next = Math.max(0, current + delta);
- getBalanceStore().set(normalized, next);
- return {
- accountId: normalized,
- previous: current,
- next,
- delta,
- appliedAt: new Date().toISOString(),
- };
- }
-
- /**
- * Generate liquidity/routing bootstrap config for your own chain/L2.
- */
- getLiquidityPoolConfig() {
- return {
- chainNamespace: HAX_TOKEN_CONFIG.CHAIN_NAMESPACE,
- network: HAX_TOKEN_CONFIG.NETWORK,
- baseToken: HAX_TOKEN_CONFIG.ASSET_ID,
- quoteToken: process.env.TRADEHAX_QUOTE_ASSET_ID || "USDX",
- targetLiquidity: Number.parseFloat(process.env.TRADEHAX_TARGET_LIQUIDITY || "100000"),
- feeBps: Number.parseInt(process.env.TRADEHAX_DEFAULT_FEE_BPS || "30", 10),
- };
- }
-}
diff --git a/lib/wallet-provider.tsx b/lib/wallet-provider.tsx
deleted file mode 100644
index d3ba9de0..00000000
--- a/lib/wallet-provider.tsx
+++ /dev/null
@@ -1,50 +0,0 @@
-"use client";
-import React, { createContext, useContext, useState } from 'react';
-
-type WalletState = {
- address: string | null;
- status: 'DISCONNECTED' | 'CONNECTING' | 'CONNECTED';
- balance: string;
- chain: string | null;
- connect: () => Promise;
- disconnect: () => void;
-};
-
-const WalletContext = createContext(undefined);
-
-export const WalletProvider: React.FC<{ children: React.ReactNode }> = ({ children }) => {
- const [address, setAddress] = useState(null);
- const [status, setStatus] = useState<'DISCONNECTED' | 'CONNECTING' | 'CONNECTED'>('DISCONNECTED');
- const [balance, setBalance] = useState("0.00");
- const [chain, setChain] = useState(null);
-
- const connect = async () => {
- setStatus('CONNECTING');
- // Simulated multi-chain logic - ready for custom RPC integration
- setTimeout(() => {
- setAddress("0x74a2...f2e9");
- setBalance("1,250.40");
- setChain("HAX_CHAIN_MAINNET");
- setStatus('CONNECTED');
- }, 1500);
- };
-
- const disconnect = () => {
- setAddress(null);
- setBalance("0.00");
- setChain(null);
- setStatus('DISCONNECTED');
- };
-
- return (
-
- {children}
-
- );
-};
-
-export const useWallet = () => {
- const context = useContext(WalletContext);
- if (!context) throw new Error("useWallet must be used within a WalletProvider");
- return context;
-};