Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
347 commits
Select commit Hold shift + click to select a range
d073371
refactor: remove cheerio dependency and clean up code
nirholas Apr 20, 2026
fb4b3c4
fix: remove auth pending attribute from body after user fetch
nirholas Apr 20, 2026
70bc513
Add documentation for using custom layers in parallax hero images
nirholas Apr 27, 2026
b9024f4
fix: update routing paths in vercel.json to remove public prefix
nirholas Apr 27, 2026
05cf460
fix: stop service worker from serving index.html for all navigations
nirholas Apr 27, 2026
174ea92
fix: route /agent/:id to bundled agent-home.html, not broken public copy
nirholas Apr 27, 2026
3153ba0
feat: post-create redirect to editor; mount 3D body on public profile
nirholas Apr 27, 2026
e50fd20
feat(erc8004): chain dropdown on /agent/:id deploy chip; mainnet default
nirholas Apr 27, 2026
d69be25
chore(a11y): polish create→deploy flow accessibility and ease of use
nirholas Apr 27, 2026
c383ed5
fix(app): stop double-mount of agent sidebar; add first-time orientat…
nirholas Apr 27, 2026
36f137e
fix(app): restore original boot order for /app?agent=:id
nirholas Apr 27, 2026
3430eb9
feat(onboarding): add first-time onboarding banner for new agents
nirholas Apr 27, 2026
a8cfebf
fix(viewer): stop auto-playing first animation on model load
nirholas Apr 27, 2026
6c84f91
feat(discover): add on-chain agent discovery page with styles and logic
nirholas Apr 27, 2026
9ab8a8d
feat(viewer): polish first-load camera + spacebar/dblclick/F shortcut…
nirholas Apr 27, 2026
cf45e76
feat(tests): add tests for discover/my-agents rename and routing
nirholas Apr 27, 2026
5191110
feat(deploy): add on-chain deployment button and styling
nirholas Apr 27, 2026
21316c4
feat(app): deploy-on-chain header button + inline name/description ed…
nirholas Apr 27, 2026
fe98782
refactor: rename explore references to discover in code and comments
nirholas Apr 27, 2026
cbeaf4a
refactor: streamline postMessage calls and improve iframe snippet for…
nirholas Apr 27, 2026
8724988
refactor: update aria-labels for accessibility and remove unused styl…
nirholas Apr 27, 2026
9f7dab6
Refactor code structure for improved readability and maintainability
nirholas Apr 27, 2026
fce8a37
fix(erc8004): make on-chain deploy actually persist + serve real agen…
nirholas Apr 27, 2026
7c56901
Refactor My Agents Page: Update HTML, CSS, and JavaScript for Consist…
nirholas Apr 27, 2026
c7672a5
refactor: improve code formatting and readability across multiple files
nirholas Apr 27, 2026
2a429ca
feat: enhance dashboard form with additional fields and improve searc…
nirholas Apr 27, 2026
bb71c96
feat: enhance embed functionality with handshake verification and liv…
nirholas Apr 27, 2026
f033c9f
milady
nirholas Apr 27, 2026
de86292
Refactor tip jar skill documentation and code for clarity and consist…
nirholas Apr 27, 2026
ddbbd7b
feat: update animation UUIDs and enhance build scripts for improved f…
nirholas Apr 27, 2026
9c96679
Refactor code structure for improved readability and maintainability
nirholas Apr 27, 2026
fb94972
feat: add features page with scroll-driven animations and responsive …
nirholas Apr 27, 2026
b46585d
feat: add star field canvas and perspective grid to enhance visual depth
nirholas Apr 27, 2026
10d7f8c
feat: enhance visual depth with new parallax layers and update galler…
nirholas Apr 27, 2026
3ceffef
Add comprehensive documentation for 3D Agent, including Introduction,…
nirholas Apr 27, 2026
a0e5c2e
Add comprehensive documentation for widget types and configurations i…
nirholas Apr 27, 2026
6998497
Add tutorials for building a Personal AI website, registering agents …
nirholas Apr 27, 2026
40e683c
feat: add user profile page and agent editing functionality
nirholas Apr 27, 2026
32b75d7
feat: implement email functionality for user onboarding and verification
nirholas Apr 27, 2026
16efebe
Update URLs from 3dagent to three.ws across documentation and codebase
nirholas Apr 27, 2026
efe0d8d
refactor: update branding from "3D Agent" to "three.ws" across all files
nirholas Apr 27, 2026
38f7228
refactor: update avatar-related styles and animations in home.css
nirholas Apr 27, 2026
631714b
feat: update feature descriptions and embed code in index.html; enhan…
nirholas Apr 27, 2026
b08eb8c
feat: add Privacy Policy and Terms of Service pages
nirholas Apr 27, 2026
67e5730
Implement feature X to enhance user experience and fix bug Y in module Z
nirholas Apr 27, 2026
804a5e8
feat: Add joystick, virtual button, and collider components for enhan…
nirholas Apr 27, 2026
a6d5b52
feat(auth): add email verification and password reset functionality
nirholas Apr 27, 2026
8853987
feat(auth): add forgot/reset password frontend pages
nirholas Apr 27, 2026
28959f9
feat(ux): a11y improvements, mobile breakpoints, docs link, OAuth tok…
nirholas Apr 27, 2026
560fda7
feat: enhance talking-agent defaults with additional properties and c…
nirholas Apr 27, 2026
6453acd
feat(forms): add /api/dashboard/prefs endpoint for prefs persistence
nirholas Apr 27, 2026
30da808
feat: implement dashboard preferences API for user settings management
nirholas Apr 27, 2026
3fd48b9
fix: mark subproject commits as dirty for worktree consistency
nirholas Apr 27, 2026
6c80f2c
fix: mark subproject commits as dirty for worktree consistency
nirholas Apr 27, 2026
76a4361
feat: enhance metadata and improve avatar animations across multiple …
nirholas Apr 27, 2026
b175a93
fix: mark subproject commits as dirty for worktree consistency and up…
nirholas Apr 28, 2026
a6b2f9b
fix: mark subproject commits as dirty for worktree consistency
nirholas Apr 28, 2026
4a63ae2
feat: add shared footer component across multiple pages and improve s…
nirholas Apr 28, 2026
e743685
fix: mark subproject commits as dirty for worktree consistency
nirholas Apr 28, 2026
be70223
fix: mark subproject commits as dirty and adjust CSS for on-chain con…
nirholas Apr 28, 2026
0e9c6ea
feat: remove outdated documentation files for examples gallery and ch…
nirholas Apr 28, 2026
78dc7e7
Add guide for using custom layered images in parallax hero
nirholas Apr 28, 2026
b305d6f
feat: update documentation structure and links for improved navigation
nirholas Apr 28, 2026
b64315f
feat: add navigation links for Studio and Docs in app, home, and inde…
nirholas Apr 28, 2026
4d00666
fix: update onchain references and adjust footer avatar dimensions fo…
nirholas Apr 28, 2026
e28ec98
feat: add showcase link to navigation and footer; enhance AR button f…
nirholas Apr 28, 2026
2395706
feat: add mini bot to header and update user display name handling in…
nirholas Apr 28, 2026
fe5906b
style: enhance brand styling and update logo in login page
nirholas Apr 28, 2026
09a436a
style: update button and background colors for improved visibility an…
nirholas Apr 28, 2026
7fc6ecb
feat: add Ibizone map component and update default map selection to I…
nirholas Apr 28, 2026
09f49a5
feat: add width and height inputs for embed snippet customization; en…
nirholas Apr 28, 2026
6c7eeef
refactor: remove deprecated ERC-8004 backfill script and update crawl…
nirholas Apr 28, 2026
4f3e9c2
feat: implement agent import and discovery API; enhance backfill scri…
nirholas Apr 28, 2026
03185f7
feat: add footer stylesheet and update header logo for improved branding
nirholas Apr 28, 2026
f39a74a
feat: upgrade footer to Horizon design with new branding and navigati…
nirholas Apr 28, 2026
a488ee1
Enhance agent home page layout and styling; add sticky header with na…
nirholas Apr 28, 2026
9f4b0c8
feat: add embed options for animations, chat, and controls in Studio;…
nirholas Apr 28, 2026
1ff95ee
Add screenshot automation script using Playwright
nirholas Apr 28, 2026
fc689d9
feat: add settings page with user profile, account management, and pr…
nirholas Apr 28, 2026
21de3eb
feat: update README with vision statement and enhance backfill script…
nirholas Apr 28, 2026
ed8e6b1
feat: add avatar artifact HTML and GLB model with loading animation
nirholas Apr 28, 2026
c6bff2e
feat: update wordmark logo styling in header for improved visibility
nirholas Apr 28, 2026
9ec89fd
fix: update documentation links and improve body styling for better l…
nirholas Apr 29, 2026
2bce6a7
refactor: remove Privy integration and related files; update document…
nirholas Apr 29, 2026
003af2b
refactor: remove deprecated LobeHub API files and consolidate functio…
nirholas Apr 29, 2026
2e5b32e
feat: implement wallet connection handling and add route testing script
nirholas Apr 29, 2026
b6f0867
fix: update import statement for ValidationDashboard and enhance rout…
nirholas Apr 29, 2026
0efa226
refactor: enhance layout and styling for forgot password, login, and …
nirholas Apr 29, 2026
065b7b1
refactor: enhance login page layout and styling; implement method tab…
nirholas Apr 29, 2026
0828071
feat: add shared site footer with styling and responsive design
nirholas Apr 29, 2026
8f639f7
Refactor code structure for improved readability and maintainability
nirholas Apr 29, 2026
c3210da
refactor: update footer design across multiple pages with new newslet…
nirholas Apr 29, 2026
30b30ef
feat: add Solana wallet connect button and controller
nirholas Apr 29, 2026
93958a4
feat: implement eager wallet connection on app boot
nirholas Apr 29, 2026
c2080c4
fix: replace connectWallet with ensureWallet for wallet connection
nirholas Apr 29, 2026
873bda2
feat: add wordmark logo to footer and update camera orbit for model v…
nirholas Apr 29, 2026
79610b0
feat: update styling and layout for registration, login, and footer c…
nirholas Apr 29, 2026
9abd626
feat: integrate demo widget functionality and update styling for head…
nirholas Apr 29, 2026
eacfb19
feat: refactor login method tabs to use "or" divider and update walle…
nirholas Apr 29, 2026
61f02bc
feat: update registration form to use wallet chain tabs and enhance p…
nirholas Apr 29, 2026
45e8c2c
feat: add roadmap section outlining development phases and goals for …
nirholas Apr 29, 2026
f0d97ab
feat: publish MCP server to official registry as io.github.nirholas/t…
nirholas Apr 29, 2026
2098ac4
docs: add demo video to top of README
nirholas Apr 29, 2026
09fc4ce
feat: add MCP registry information to README and create server.json c…
nirholas Apr 29, 2026
f154c1b
docs: add CoinMarketCap article on onchain agent identity
nirholas Apr 29, 2026
b997e6b
feat: implement Solana deployment flow and wallet detection in deploy…
nirholas Apr 29, 2026
87338ec
feat: add Solana attestations API and demo page for ERC-8004 agents
nirholas Apr 29, 2026
355c1d3
feat: implement wallet adapters for EVM and Solana, unify deploy process
nirholas Apr 29, 2026
7fb2a65
feat: add Solana agent reputation, attestations, and passport handlers
nirholas Apr 29, 2026
a1ce551
feat: unify agent preparation endpoint for EVM and Solana, add Solana…
nirholas Apr 29, 2026
c79ac91
feat: add Solana agent passport page and update routing for asset han…
nirholas Apr 29, 2026
b55ceaa
feat: add README and tests for unified on-chain deploy stack
nirholas Apr 29, 2026
d0919c1
feat: add end-to-end smoke test for Solana ERC-8004 analog
nirholas Apr 29, 2026
2556c7f
feat: add support for new chains and improve grant modal flow
nirholas Apr 29, 2026
b201d84
feat: add pump-fun skill with tool handlers and manifest configuration
nirholas Apr 29, 2026
df803dc
feat: add SAS credential issuance and retrieval endpoints with databa…
nirholas Apr 29, 2026
2fb1736
feat: integrate pump.fun skills for Solana agents with SDK support
nirholas Apr 29, 2026
f2cb624
feat: add pumpfun metadata endpoint for agent token metadata retrieval
nirholas Apr 29, 2026
348d991
feat(pump): add API endpoints for payment acceptance, balance retriev…
nirholas Apr 29, 2026
eaf4458
feat: implement TokenAdapter and PumpfunTokenAdapter for token launch…
nirholas Apr 29, 2026
44833da
feat: add Pump.fun functionality and autonomous skills for Solana ag…
nirholas Apr 29, 2026
e6be1c6
feat: implement AMM pool state retrieval and enhance solana-wallet fu…
nirholas Apr 29, 2026
0c3cda4
feat: enhance agent passport with vanity prefix and address formatting
nirholas Apr 29, 2026
5548b39
feat: add pumpfun buy/sell actions, enhance agent home panel, and imp…
nirholas Apr 29, 2026
ebd543e
feat: add AgentTokenWidget for managing $AGENT token state and intera…
nirholas Apr 29, 2026
083e09f
feat: add portfolio endpoint for pump.fun and enhance launch token bu…
nirholas Apr 29, 2026
317666d
feat: add portfolio endpoint for pump.fun, enhance launch token butto…
nirholas Apr 29, 2026
1ad6cb3
feat(api): add payment preparation and reputation history endpoints
nirholas Apr 29, 2026
7474f1e
feat: add create-confirm endpoint for verifying PumpAgentPayments tra…
nirholas Apr 29, 2026
d888569
feat: enhance Pump.fun integration with new payment features and UI u…
nirholas Apr 29, 2026
f7f4659
feat: add pumpfun integration with payments and strategy features
nirholas Apr 29, 2026
30c7e0b
feat: enhance app and element functionality with new event handling a…
nirholas Apr 29, 2026
246c900
Add agent control panel and vanity wallet generator pages
nirholas Apr 29, 2026
20ddaea
feat: add new fields for vanity suffix and icon in agent-pumpfun, enh…
nirholas Apr 29, 2026
6404196
feat: implement token stats rendering and agent wallet assignment
nirholas Apr 29, 2026
e095550
feat: add Solana wallet provisioning UI and integration in agent home…
nirholas Apr 29, 2026
3fd6b72
feat: enhance authentication handling by adding payment challenge for…
nirholas Apr 29, 2026
5dd20f9
feat: remove unused pump relay functionality and associated files
nirholas Apr 29, 2026
4bcf724
feat: add Solana SPL token dependency and enhance agent-pumpfun dashb…
nirholas Apr 29, 2026
4ae1fb9
feat: enhance Solana wallet functionality with activity tracking and …
nirholas Apr 29, 2026
9e6bb3b
feat: add x402 protocol implementation for facilitator-mediated micro…
nirholas Apr 29, 2026
97d7568
feat: enhance MCP authentication to support x402 payment headers and …
nirholas Apr 29, 2026
b20dbfa
feat: update Vercel configuration and add new Solana agent operations
nirholas Apr 29, 2026
2cb8331
feat: implement pump pricing logic and subscription handling
nirholas Apr 29, 2026
bf54b4a
feat: enhance x402 payment handling with per-network configurations a…
nirholas Apr 29, 2026
6653a58
feat(pump): wire MCP per-tool pricing + subscription bypass + tests
nirholas Apr 29, 2026
88a0c0e
feat: add SNS subdomain registration and enhance dashboard navigation
nirholas Apr 29, 2026
9823436
feat: implement closeAllPositions function for manual token selling a…
nirholas Apr 29, 2026
f3099a0
feat: implement closeAllPositions function and enhance SNS domain reg…
nirholas Apr 29, 2026
b78b7c3
x402scan listing
nirholas Apr 29, 2026
6cbad68
docs: update x402.md to include live activity dashboard link
nirholas Apr 29, 2026
5219ae0
feat: enhance agent-pumpfun layout and add navigation links
nirholas Apr 29, 2026
69a5c2e
feat: add availability check for .sol domains and update dashboard ro…
nirholas Apr 29, 2026
9245f95
feat: add UUID validation for agent IDs and enhance dashboard styling
nirholas Apr 29, 2026
6f33260
feat: enhance explore API to prioritize avatar display and update rou…
nirholas Apr 29, 2026
6304df7
feat: update routing and enhance documentation for user-facing pages;…
nirholas Apr 29, 2026
789aeaf
feat: add Apache License and new agent-3d files for 3D rendering support
nirholas Apr 29, 2026
518874b
feat: add README.md for 3D agent platform with installation and usage…
nirholas Apr 29, 2026
79e4644
feat: expand README.md with additional SPA components and updated doc…
nirholas Apr 29, 2026
63631f4
bump version to 0.1.1 in package.json
nirholas Apr 29, 2026
7e2766d
feat: add ERC-8004 Passport Widget for on-chain identity display
nirholas Apr 29, 2026
22d3961
feat: update README.md and embedding guide with installation instruct…
nirholas Apr 29, 2026
80f2580
fix: change error logging to console.log for better visibility in ind…
nirholas Apr 29, 2026
8f60b9f
fix: update login redirect logic to use sessionStorage for improved u…
nirholas Apr 29, 2026
33c1c63
feat: enhance agent UI and database schema
nirholas Apr 29, 2026
d6d3123
feat: add marketplace API routes and create marketplace HTML page
nirholas Apr 29, 2026
45af771
feat: implement publish tab in agent edit UI and enhance pumpfun serv…
nirholas Apr 29, 2026
2c3b8d5
feat: add vanity grinder functionality to agent pumpfun UI and update…
nirholas Apr 29, 2026
8219cab
fix: adjust body styles for viewer mode to improve layout and scrolli…
nirholas Apr 29, 2026
1f12809
feat: enhance navigation structure and visibility for home page links
nirholas Apr 29, 2026
9c4a0d1
feat: update CSS for deploy and explore pages to improve layout and o…
nirholas Apr 29, 2026
c19b9da
fix: adjust header styles for improved layout and overflow handling
nirholas Apr 29, 2026
1370ca7
fix: update transaction serialization in Solana register prep to use …
nirholas Apr 29, 2026
58e5928
dashboard fix
nirholas Apr 29, 2026
1067e75
solana agents pumpfun incoming
nirholas Apr 29, 2026
caab66a
feat: add pump.fun signals integration for Solana off-chain reputation
nirholas Apr 29, 2026
fc889dc
fix: update Node.js engine version to 22.x in package.json
nirholas Apr 29, 2026
8b05d42
feat: enhance user account handling in SIWE/SIWS verification and imp…
nirholas Apr 29, 2026
ca9f7ef
feat(api): implement widget action dispatcher with chat, duplicate, a…
nirholas Apr 29, 2026
c9c6000
refactor(api): streamline pumpfun route handling and update test imports
nirholas Apr 29, 2026
5a18b4f
feat: add @zauthx402/sdk dependency and create README for repo integr…
nirholas Apr 29, 2026
5a12f42
feat: Add various new skills and widgets for enhanced agent functiona…
nirholas Apr 29, 2026
f9a0402
feat: Implement pump.fun integration with new tools, reactions, and t…
nirholas Apr 29, 2026
703e0b0
feat: ship pump-fun skills port with kol, sns, trade reactions, and g…
nirholas Apr 29, 2026
b63f4be
feat: Add SNS name resolution and bonding curve integration to agent …
nirholas Apr 29, 2026
10b3bd9
feat: include remaining pump-fun changes and test files
nirholas Apr 29, 2026
a95d4ef
feat: add KOL trades API and widget, implement watch whales functiona…
nirholas Apr 29, 2026
ca25c26
feat: implement KOL trades widget, add leaderboard functionality, and…
nirholas Apr 29, 2026
b1f6b47
chore: update vitest configuration for improved test environment setup
nirholas Apr 29, 2026
d1ba4eb
feat: add xspace-agent and agent-voice-chat repos, resolve merge conf…
nirholas Apr 29, 2026
9a4df6a
docs: add X Spaces agent guide and sidebar nav entry
nirholas Apr 29, 2026
241bde5
chore: update gitignore and lock files for xspace-agent demo setup
nirholas Apr 29, 2026
3fc5bd7
feat: add pump-fun-skills (coin-fees, create-coin, swap, tokenized-ag…
nirholas Apr 29, 2026
c079826
feat: wire pump-fun-skills into 3D agent skill system
nirholas Apr 29, 2026
4104a32
feat: add reverse-engineered @pump-fun/agent-payments-sdk
nirholas Apr 29, 2026
c6afea3
adding zauth integration + chat boilerplate for anyone to own their o…
nirholas Apr 29, 2026
ab15f2f
chore: update node engine version to 24.x in package.json
nirholas Apr 29, 2026
8aafe23
feat: add tooltip functionality for enhanced user experience
nirholas Apr 29, 2026
5f14f59
feat: update favicon conversion script and add new Solana agent handlers
nirholas Apr 29, 2026
0d475ef
feat(auth): consolidate authentication endpoints into a single handle…
nirholas Apr 29, 2026
da06ba1
refactor: consolidate Solana payment endpoints and remove deprecated …
nirholas Apr 29, 2026
6adeb2b
Add compressed CSS file for chat assets
nirholas Apr 29, 2026
c21fe7a
feat: update default model and free-tier model list in chat configura…
nirholas Apr 30, 2026
da51aa5
Add compressed CSS file for chat assets
nirholas Apr 30, 2026
d1edfef
feat: serve /.well-known/chat-plugin.json via wk.js API handler
nirholas Apr 30, 2026
d51a0c6
Refactor code structure for improved readability and maintainability
nirholas Apr 30, 2026
6fe5f38
feat: add pumpfun-feed and pumpfun-metadata handlers with updated rou…
nirholas Apr 30, 2026
78640c4
feat: implement admin key fallback mechanism and add migration for CH…
nirholas Apr 30, 2026
5932925
three.ws
nirholas Apr 30, 2026
de4d848
feat: add real-time wallet monitoring for pump.fun trades and enhance…
nirholas Apr 30, 2026
0de1532
feat: update agent fetching logic and enhance UI for agent selection
nirholas Apr 30, 2026
ef9591b
feat: enhance .gitignore for experiments and forks, add TalkingHead c…
nirholas Apr 30, 2026
3566c83
feat: add Helius webhook support for pump.fun wallet monitoring and c…
nirholas Apr 30, 2026
2a4182e
feat: update Node.js engine version to 24.x and add three.js dependency
nirholas Apr 30, 2026
1fc07cd
Refactor code structure for improved readability and maintainability
nirholas Apr 30, 2026
c035336
feat: enhance SuggestionChips component with additional options and i…
nirholas Apr 30, 2026
0114d7c
Refactor code structure for improved readability and maintainability
nirholas Apr 30, 2026
9a19e7b
Refactor code structure for improved readability and maintainability
nirholas Apr 30, 2026
cf6b6ea
Add compressed CSS file for chat assets
nirholas Apr 30, 2026
144dda7
fix: update button click handler to include submit flag for composerFill
nirholas Apr 30, 2026
3edf58f
Refactor code structure for improved readability and maintainability
nirholas Apr 30, 2026
c8e7f95
Refactor code structure for improved readability and maintainability
nirholas Apr 30, 2026
fc08c82
fix: update subproject commits to indicate dirty state and update com…
nirholas Apr 30, 2026
9175bac
refactor: update imports and class names to use 'manus' prefix for co…
nirholas Apr 30, 2026
b634219
feat: add TradingViewChart client definition and update subproject co…
nirholas Apr 30, 2026
c069e5d
fix: update subproject commits to indicate dirty state
nirholas Apr 30, 2026
272d3b9
feat: implement Solana agent SDK with wallet integration and transact…
nirholas Apr 30, 2026
671188e
feat: add Solana agent SDK with actions for token transfers and swaps
nirholas Apr 30, 2026
466a4c9
feat: add solana-agent-kit plugin with actions for transferring SOL, …
nirholas Apr 30, 2026
69279b9
feat: add talking head functionality with state management and toggle…
nirholas Apr 30, 2026
156ae7a
feat: enhance transaction metadata handling with user-friendly descri…
nirholas Apr 30, 2026
e85a597
fix: mark subproject commits as dirty for experiments
nirholas Apr 30, 2026
a0c4cf9
feat: add tests and improvements for agent memory, skills, and commun…
nirholas Apr 30, 2026
6a5c578
Refactor code structure for improved readability and maintainability
nirholas Apr 30, 2026
5d0fa8c
Add compressed CSS file for chat assets
nirholas Apr 30, 2026
dde4ad6
Refactor code structure for improved readability and maintainability
nirholas Apr 30, 2026
d323fe0
feat: add LiveKit token and embedding endpoints; enhance error handli…
nirholas Apr 30, 2026
cb77be7
feat: implement voice management endpoints and enhance agent voice ha…
nirholas Apr 30, 2026
b8a08fc
feat: add Solana agent SDK with action and transaction handling
nirholas Apr 30, 2026
4056530
feat(mcp): add call_agent tool for inter-agent communication
nirholas Apr 30, 2026
be49737
feat: update tests to use dynamic imports and improve mocking for Sol…
nirholas Apr 30, 2026
ab580a9
feat: enhance DocsIndex with dynamic content loading and improved nav…
nirholas Apr 30, 2026
ab05926
fix: mark subproject as dirty to indicate uncommitted changes
nirholas Apr 30, 2026
3270cf5
fix: update admin key retrieval to prioritize database configuration;…
nirholas Apr 30, 2026
72b109b
feat(wallet-transactions): Implement wallet provider store and transa…
nirholas Apr 30, 2026
42c1a15
feat: add payment gate modal for skill payments
nirholas May 1, 2026
53c08bc
three.ws/chat
nirholas May 1, 2026
ffeb03c
fix: mark subproject as dirty to indicate uncommitted changes
nirholas May 1, 2026
9009423
Add three.ws to Anthropic's MCP Registry and introduce on-chain 3D AI…
nirholas May 1, 2026
a84981c
fix(cron): close fail-open hole when CRON_SECRET is unset
humanoidrobot-glitch May 1, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
The diff you're trying to view is too large. We only load the first 3000 changed files.
238 changes: 238 additions & 0 deletions .claude/settings.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,238 @@
{
"$schema": "https://json.schemastore.org/claude-code-settings.json",

"permissions": {
"defaultMode": "acceptEdits",

"allow": [
"Read",
"Glob",
"Grep",
"WebFetch",
"WebSearch",

"Bash(npm *)",
"Bash(npx *)",
"Bash(pnpm *)",
"Bash(yarn *)",
"Bash(node *)",

"Bash(prettier *)",
"Bash(vite *)",
"Bash(vitest *)",

"Bash(forge build*)",
"Bash(forge test*)",
"Bash(forge fmt*)",
"Bash(forge install*)",
"Bash(forge update*)",
"Bash(forge snapshot*)",
"Bash(forge coverage*)",
"Bash(forge inspect*)",
"Bash(forge remappings*)",
"Bash(forge clean*)",
"Bash(cast *)",

"Bash(vercel *)",

"Bash(git status*)",
"Bash(git log*)",
"Bash(git diff*)",
"Bash(git show*)",
"Bash(git add*)",
"Bash(git commit*)",
"Bash(git push)",
"Bash(git push origin *)",
"Bash(git push -u origin *)",
"Bash(git push --set-upstream origin *)",
"Bash(git pull*)",
"Bash(git fetch*)",
"Bash(git checkout*)",
"Bash(git switch*)",
"Bash(git branch*)",
"Bash(git merge*)",
"Bash(git rebase*)",
"Bash(git stash*)",
"Bash(git restore*)",
"Bash(git reset)",
"Bash(git reset HEAD*)",
"Bash(git reset --soft*)",
"Bash(git reset --mixed*)",
"Bash(git remote*)",
"Bash(git tag*)",
"Bash(git ls-files*)",
"Bash(git ls-tree*)",
"Bash(git rev-parse*)",
"Bash(git rev-list*)",
"Bash(git describe*)",
"Bash(git blame*)",
"Bash(git worktree*)",
"Bash(git config --get*)",
"Bash(git config --list*)",

"Bash(ls*)",
"Bash(pwd)",
"Bash(cd *)",
"Bash(cat *)",
"Bash(head *)",
"Bash(tail *)",
"Bash(wc *)",
"Bash(sort *)",
"Bash(uniq *)",
"Bash(diff *)",
"Bash(file *)",
"Bash(stat *)",
"Bash(du *)",
"Bash(tree *)",
"Bash(find *)",
"Bash(grep *)",
"Bash(rg *)",
"Bash(awk *)",
"Bash(sed *)",
"Bash(jq *)",
"Bash(which *)",
"Bash(whereis *)",
"Bash(command -v *)",
"Bash(env)",
"Bash(printenv*)",
"Bash(echo *)",
"Bash(true)",
"Bash(false)",
"Bash(date*)",
"Bash(basename *)",
"Bash(dirname *)",
"Bash(realpath *)",
"Bash(readlink *)",

"Bash(mkdir *)",
"Bash(cp *)",
"Bash(mv *)",
"Bash(touch *)",
"Bash(ln -s *)",
"Bash(chmod *)",

"Bash(curl -s *)",
"Bash(curl -I *)",
"Bash(curl --head *)",
"Bash(curl -o *)",
"Bash(curl -sSL *)",
"Bash(curl -sL *)",
"Bash(wget *)",

"Bash(tar *)",
"Bash(unzip *)",
"Bash(zip *)",
"Bash(gzip *)",
"Bash(gunzip *)",

"Bash(python *)",
"Bash(python3 *)",
"Bash(pip *)",
"Bash(pip3 *)",

"Bash(ps *)",
"Bash(kill %*)",
"Bash(pgrep *)",
"Bash(lsof *)",
"Bash(netstat *)",
"Bash(host *)",
"Bash(dig *)",
"Bash(nslookup *)"
],

"deny": [
"Bash(rm -rf*)",
"Bash(rm -fr*)",
"Bash(rm -r *)",
"Bash(rm -R *)",
"Bash(rm --recursive*)",
"Bash(sudo*)",
"Bash(doas*)",
"Bash(su *)",
"Bash(su)",

"Bash(git push --force*)",
"Bash(git push -f*)",
"Bash(git push --force-with-lease*)",
"Bash(git push --mirror*)",
"Bash(git push --delete*)",
"Bash(git push origin --delete*)",
"Bash(git push origin :*)",
"Bash(git push origin +*)",

"Bash(git reset --hard*)",
"Bash(git clean -f*)",
"Bash(git clean -df*)",
"Bash(git clean -xf*)",
"Bash(git clean -xdf*)",
"Bash(git clean -fd*)",
"Bash(git clean -fx*)",
"Bash(git clean -fdx*)",
"Bash(git branch -D*)",
"Bash(git branch --delete --force*)",
"Bash(git checkout -- *)",
"Bash(git checkout . *)",
"Bash(git checkout .)",
"Bash(git restore --source=*)",
"Bash(git restore .)",
"Bash(git restore . *)",
"Bash(git update-ref -d*)",
"Bash(git filter-branch*)",
"Bash(git filter-repo*)",
"Bash(git reflog delete*)",
"Bash(git reflog expire*)",
"Bash(git gc --prune=now*)",

"Bash(forge script * --broadcast*)",
"Bash(forge script *--broadcast*)",
"Bash(cast send *)",

"Bash(vercel --prod*)",
"Bash(vercel deploy --prod*)",
"Bash(vercel rm*)",
"Bash(vercel remove*)",
"Bash(vercel alias rm*)",
"Bash(npm publish*)",
"Bash(yarn publish*)",
"Bash(pnpm publish*)",

"Bash(curl * | sh*)",
"Bash(curl * | bash*)",
"Bash(curl *|sh*)",
"Bash(curl *|bash*)",
"Bash(wget * | sh*)",
"Bash(wget * | bash*)",
"Bash(wget *-O - | sh*)",
"Bash(wget *-O- | sh*)",

"Bash(dd if=*)",
"Bash(dd of=*)",
"Bash(mkfs*)",
"Bash(fdisk*)",
"Bash(parted*)",
"Bash(shutdown*)",
"Bash(reboot*)",
"Bash(halt*)",
"Bash(poweroff*)",
"Bash(init *)",

"Edit(.env)",
"Edit(.env.local)",
"Edit(.env.*.local)",
"Edit(.env.production)",
"Edit(.env.production.local)",
"Edit(**/.env)",
"Edit(**/.env.local)",
"Edit(**/.env.*.local)",
"Write(.env)",
"Write(.env.local)",
"Write(.env.*.local)",
"Write(**/.env)",
"Write(**/.env.local)",
"Write(**/.env.*.local)"
]
},

"includeCoAuthoredBy": true,
"respectGitignore": true
}
149 changes: 149 additions & 0 deletions .env.example
Original file line number Diff line number Diff line change
@@ -0,0 +1,149 @@
# ────────────────────────────────────────────────────────────────────────────
# three.ws — backend environment
# Copy to .env.local for local dev. In production, set these in Vercel.
# ────────────────────────────────────────────────────────────────────────────

# Public site origin (no trailing slash)
PUBLIC_APP_ORIGIN=https://three.ws

# Postgres (Neon serverless driver — HTTPS connection string)
DATABASE_URL=postgres://user:pass@ep-xxx.neon.tech/neondb?sslmode=require

# S3-compatible storage (AWS S3, Cloudflare R2, Backblaze B2, etc.)
S3_ENDPOINT=
S3_ACCESS_KEY_ID=
S3_SECRET_ACCESS_KEY=
S3_BUCKET=3d-agent-avatars
# Public CDN base URL for the bucket (custom domain or provider default)
S3_PUBLIC_DOMAIN=https://cdn.3d.irish

# Upstash Redis (rate limiting)
UPSTASH_REDIS_REST_URL=
UPSTASH_REDIS_REST_TOKEN=

# Optional: Error monitoring
SENTRY_DSN=

# JWT signing — rotate by appending to key set, never remove the old one mid-rotation
# Also used (via HKDF) to derive the AES-256-GCM key that encrypts agent wallet private keys.
# Generate with: openssl rand -base64 64
JWT_SECRET=
# Active key id (for future rotation)
JWT_KID=k1

# Password hashing cost (bcryptjs rounds)
PASSWORD_ROUNDS=11

# Anthropic API key for /api/chat (agent LLM backend). If unset, chat falls back
# to pattern matching client-side.
ANTHROPIC_API_KEY=
# Optional overrides for chat model + output cap.
CHAT_MODEL=claude-sonnet-4-6

# Admin key for three.ws chat brand config. Set in Vercel, enter in chat settings to unlock branding panel.
# Generate with: openssl rand -base64 32
CHAT_ADMIN_KEY=

# OpenRouter API key — powers the built-in free model proxy (/api/chat/proxy).
# Free-tier models (e.g. google/gemini-2.0-flash-exp:free) are forwarded server-side.
# Sign up free at https://openrouter.ai
OPENROUTER_API_KEY=
CHAT_MAX_TOKENS=1024

# Ready Player Me subdomain for the avatar creator iframe (client-side).
# Register one at https://studio.readyplayer.me — e.g. "your-app" yields
# https://your-app.readyplayer.me. If unset, falls back to the public
# `demo.readyplayer.me` builder.
VITE_RPM_SUBDOMAIN=demo

# Privy wallet auth (client-side — get app ID from https://dashboard.privy.io)
VITE_PRIVY_APP_ID=
# Privy app ID (server-side — for verifying identity tokens in /api/auth/privy/verify)
PRIVY_APP_ID=

# Avaturn (photo-to-avatar pipeline). API key lives server-side; used by
# /api/onboarding/avaturn-session to exchange 3 selfies for a session URL.
# Sign up at https://avaturn.me/developer.
AVATURN_API_KEY=
# Optional override for self-hosted / staging Avaturn deployments.
AVATURN_API_URL=https://api.avaturn.me

# Avaturn default editor — opened by the "Use default avatar" card at /create.
# No session API / no photos required. Point at the hosted editor URL provided
# by Avaturn; the developer ID (if needed) is appended as a query param.
VITE_AVATURN_EDITOR_URL=https://editor.avaturn.me/
VITE_AVATURN_DEVELOPER_ID=

# Avatar regeneration provider (optional)
# Set to "stub" for testing, or a provider name when configured.
# Unset or "none" → API returns 501 regen_unconfigured.
AVATAR_REGEN_PROVIDER=none

# ── ERC-7710 Delegation Relayer (POST /api/permissions/redeem) ───────────────
# Enable the server-side relayer endpoint (default: false).
PERMISSIONS_RELAYER_ENABLED=false

# Hex private key of the relayer EOA that pays gas for redeemDelegations.
# This is NOT the user's key — only the agent's server-side relayer.
# Generate: node -e "const {Wallet} = require('ethers'); const w = Wallet.createRandom(); console.log(w.privateKey, w.address)"
# NEVER commit a real value. Rotate via Vercel env vars.
AGENT_RELAYER_KEY=0x...

# EIP-55 checksummed address derived from AGENT_RELAYER_KEY — fund with testnet ETH.
AGENT_RELAYER_ADDRESS=0x...

# Per-chain RPC URLs for DelegationManager calls.
# Pattern: RPC_URL_<CHAINID>. Override the default public RPCs with Alchemy/Infura for production.
RPC_URL_84532=https://sepolia.base.org # Base Sepolia (primary dev chain)
RPC_URL_11155111=https://rpc.sepolia.org # Ethereum Sepolia

# Per-chain DelegationManager contract address overrides (optional).
# Defaults are from MetaMask Delegation Toolkit v1. Override if you deploy a custom instance.
# DELEGATION_MANAGER_ADDRESS_84532=0x...
# DELEGATION_MANAGER_ADDRESS_11155111=0x...

# ── IPFS pinning — used by POST /api/pinning/pin before on-chain registration.
# Pinata (preferred): get JWT from https://app.pinata.cloud/keys
PINATA_JWT=
# Web3.Storage (fallback): get token from https://web3.storage/tokens
# (legacy v1 API — upload endpoint: https://api.web3.storage/upload)
WEB3_STORAGE_TOKEN=

# ── KOL wallet P&L analytics (api/kol/[action].js wallets handler) ─────────
# Birdeye API key for Solana wallet portfolio + P&L data.
# Get one at https://birdeye.so — free tier allows ~100 req/min.
BIRDEYE_API_KEY=

# ── Pump.fun live feed integration (api/_lib/pumpfun-mcp.js) ──────────────
# Upstream pumpfun-claims-bot MCP server URL. When set, /api/agents/pumpfun
# and /api/agents/pumpfun-feed are enabled, the cron at /api/cron/pumpfun-signals
# starts crawling, and the pumpfun-watch agent skills become functional.
# Run `npx pumpfun-claims-bot` (or deploy via Railway) to host the upstream MCP.
PUMPFUN_BOT_URL=
# Optional bearer token if the upstream MCP requires auth.
PUMPFUN_BOT_TOKEN=

# ── Solana RPC overrides (used by Solana attestation crawler + pump skills) ──
# Defaults to public mainnet/devnet — set Helius/Triton/QuickNode for prod.
SOLANA_RPC_URL=
SOLANA_RPC_URL_DEVNET=

# ── x402 micropayments (POST /api/mcp) ─────────────────────────────────────
# Per-network payTo wallets that receive USDC for paid MCP calls.
X402_PAY_TO_SOLANA=BUrwd1nK6tFeeJMyzRHDo6AuVbnSfUULfvwq21X93nSN
X402_PAY_TO_BASE=0x0C70c0e8453C5667739E41acdF6eC5787B8ff542
# USDC asset addresses (mainnet).
X402_ASSET_MINT_SOLANA=EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v
X402_ASSET_ADDRESS_BASE=0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913
# Price in base units (USDC = 6 decimals; 1000 = 0.001 USDC).
X402_MAX_AMOUNT_REQUIRED=1000
# Per-network facilitators. Defaults: PayAI for Solana, x402.org reference for Base.
X402_FACILITATOR_URL_SOLANA=https://facilitator.payai.network
X402_FACILITATOR_URL_BASE=https://x402.org/facilitator
# Optional bearer tokens for self-hosted/private facilitators.
X402_FACILITATOR_TOKEN_SOLANA=
X402_FACILITATOR_TOKEN_BASE=

# zauthx402 — telemetry + monitoring for x402 endpoints. Optional; when unset
# the SDK is not invoked. Get a key at https://zauthx402.com.
ZAUTH_API_KEY=
Loading