Inside three.ws: The Open-Source Stack That Gives AI Agents a Body, a Brain, a Wallet, and a Job
This is the long version of what three.ws is. It covers every 3D generation lane and the exact models behind them, the agent runtime and its safety guard chain, the animation system that makes any humanoid rig move, the payment rail that lets agents transact without a human holding the keys, the distribution surfaces (web component, MCP, ChatGPT, Android), and every partner and program the platform is part of. Everything below is checkable: the code is Apache-2.0 at github.com/nirholas/three.ws, the models are on Hugging Face, and GET https://three.ws/api/version tells you the exact commit production is running.
If you only have two minutes: open three.ws/forge, type a prompt, and you will have a textured GLB with no account, no API key, and no payment. Then come back and read how it works.
1. The thesis: an agent needs four things, and they belong in one stack
Every "AI agent" product solves one of four problems and ignores the other three:
- The body problem. An agent people can see, that expresses emotion, that can be placed in a scene or in a room.
- The brain problem. A model that calls tools, remembers, speaks, listens, and drives that body's face and posture.
- The wallet problem. A way to pay for its own compute, sell its own skills, and settle with other agents without a human signing every transaction.
- The distribution problem. A way to exist anywhere: a website, a chat assistant, a phone, a terminal.
three.ws is the argument that these are one product. The body is a rigged glTF. The brain is a multi-model router with a tool loop and typed memory. The wallet is an on-chain identity plus x402, the HTTP 402 payment standard. Distribution is a web component, a family of MCP servers, and an Android app. Each piece is usable alone, and each one gets better because the others exist.
2. The 3D pipeline: from a sentence to a rigged, animated character
2.1 Generation is a routing problem
The Forge (three.ws/forge) does not run one model. It runs a registry of engines with live health checks and free-first routing: every request is sent down the cheapest lane that is healthy, and falls through to the next when one is rate-limited or down. Three inputs are accepted: a text prompt, one to six reference photos, or a rough sketch.
The engines in the live registry:
| Lane | Model | Where it runs |
|---|---|---|
| Text to 3D, free | Microsoft TRELLIS | NVIDIA NIM hosted inference |
| Photo to 3D, free | Hunyuan3D 2.1, Hunyuan3D 2, TRELLIS, TripoSR with automatic failover | Hugging Face Spaces |
| Text and image to 3D, self-hosted | TRELLIS (TRELLIS-image-large, MIT) |
Cloud Run GPU worker, NVIDIA L4 |
| Photo to 3D with PBR materials | Tencent Hunyuan3D 2.1 (hy3dshape shape DiT plus hy3dpaint for baseColor, metallicRoughness, normal) |
Cloud Run GPU, L4 and an RTX PRO 6000 Blackwell |
| Sketch to 3D | TripoSG-scribble (VAST-AI, 1.5B rectified-flow transformer, 16 CFG-distilled steps) | Cloud Run GPU |
| Fast fallback | TripoSR (VAST-AI and Stability AI, MIT), a mesh in roughly 5 to 15 seconds | Cloud Run GPU |
| Bring your own key | Meshy 6, Tripo v3.1, Rodin (Hyper3D), Stable Fast 3D, Replicate | Your account, key never leaves the browser |
Three quality tiers set the budget: Draft (12,000 polygons, no textures), Standard (30,000 polygons, 2K textures, the default), and High (200,000 polygons, PBR and HD textures, where Hunyuan3D 2.1 is the named engine).
Two details that matter more than they sound. TRELLIS on the free lane truncates prompts at 77 characters and defaults to dark, gritty output, so the platform appends , studio lighting unless the prompt already carries lighting or color cues. And the free lane pins sampling steps at 15/15 because that is the budget that returns inside the gateway's synchronous window; the 40/40 budget is reserved for the self-hosted TRELLIS worker. Free-first routing is a design principle, not a promotion: the community avatar gallery generates a new character every minute on that lane.
2.2 The selfie lane
Photo-to-avatar is a different pipeline from object generation, because faces are unforgiving. The reconstruction worker takes one to six selfies and produces a rigged avatar from a fixed-topology template that is pre-rigged with 52 ARKit blendshapes and 15 visemes. MediaPipe FaceLandmarker drives a thin-plate-spline face-texture transfer, the 468 landmarks morph the face geometry (Umeyama alignment plus TPS), and projective texturing lifts photographic coverage of the head. The whole job runs in about five seconds on CPU.
Fidelity is measured, not eyeballed. Every change to reconstruction is gated by Identity Shape Error, a texture-blind, pose- and scale-invariant metric computed from the same 468 landmarks: does the avatar's face geometry match the person's? A weekly realism bench then renders 23 fixed prompts and 3 CC0 reference photos from three canonical views and scores them with Gemini vision on Vertex AI.
2.3 Rigging any mesh, and the end of the rig allowlist
A static mesh becomes an animatable avatar through the rig worker, built on Make-It-Animatable (MIT). It predicts a 52-bone Mixamo-named skeleton and per-vertex skin weights, adds ARKit-52 expression blendshapes via ICT-FaceKit, and grafts the result into the original GLB bytes so the materials survive untouched.
But most avatars do not arrive from our own rigger. They come from Blender, VRoid, Daz, Reallusion, Unreal, Roblox, MakeHuman, Sketchfab, SMPL, Mixamo. So the runtime has no rig allowlist. src/glb-canonicalize.js maps roughly twenty bone-naming families onto one canonical 52-bone set, and src/animation-retarget.js retargets clips onto whatever skeleton the model brought. A model is playable with as few as 8 canonical bones; a retarget lands when at least half its tracks find a target. A rig that genuinely cannot be driven falls back to the default body, never to a frozen T-pose.
Here is what that looks like when it works. Both images below are live renders from GET /api/render/animate, an endpoint that returns an animated PNG, so a moving avatar plays anywhere a still image does, this article included. The first is a community avatar forged on three.ws; the second is the platform's reference rig, cz.glb, driven by the same clip.

There is a test for this that we are unreasonably fond of: the animation dignity sweep builds ten minimal skinned GLBs, one per naming convention, and fails the build if any limb does not move.
2.4 The motion library and where motion comes from
The shared library holds about 3,000 motion-capture clips, browsable at three.ws/animations and served from GET /api/animations/library. Every clip carries a poster frame rendered from the canonical rig:
Motion also gets generated:
- Text to motion.
POST /api/forge-motionsamples MDM, the Motion Diffusion Model (HumanML3D checkpoint) and returns a retargetable three.jsAnimationClip. - Video to motion. three.ws/motion-swap runs MediaPipe pose, hands, and person segmentation at 33 body landmarks plus 21 per hand per frame, then solves them onto the canonical skeleton, all 30 finger bones included, with an in-house bend-plane IK solver in pure NumPy. No GPU.
- Webcam face capture. The Mocap Studio drives ARKit blendshapes from a live camera.
- Sign language.
@three-ws/sign-languagecompiles text into one continuous ASL clip; fingerspelling is generated locally from a parametric hand model, all 26 handshapes including the traced J and Z. The reverse direction, webcam fingerspelling to text, runs on a LiteRT port of the Kaggle 2023 ASLFR winning solution. - Procedural layers at runtime. Analytic two-bone IK, gaze and look-at, terrain foot planting.
2.5 Post-generation tools, each sold as its own stage
Generation is the first step, not the last. The pipeline continues through workers that each do one thing:
- remesh: decimate, quad-dominant retopology (QuadriFlow), repair, xatlas UVs, and conversion across GLB, OBJ, FBX, STL, PLY, USDZ, and 3MF via headless Blender.
- stylize: pure-geometry filters, voxel, brick, Voronoi lattice, low-poly.
- segment: split a model into named parts by connected components and the minima rule (cuts at concave creases).
- rembg: BRIA RMBG-2.0 background removal with U2Net as CPU fallback.
- texture: SDXL plus ControlNet-Depth over eight canonical depth views with UV back-projection, plus magic-brush inpainting for a region.
- garment forge: a prompt like "a white oxford cotton dress shirt" becomes a rigged, wearable garment GLB that the additive wardrobe can put on any humanoid avatar.
Every stage is also an x402 resource with no key and no account: rig $0.05, remesh $0.03, game-ready $0.03, stylize $0.03, background removal $0.01, and POST /api/x402/pipeline chains generate, rig, remesh, game-ready, and stylize for the exact sum. A stage whose worker is unconfigured returns 503 before any settlement happens; nothing is ever charged for a failed stage.
2.6 Studios in the browser
All of it is reachable without installing anything: the Pose and Animation Studio (FK gizmos, IK drag, keyframe timeline with per-key easing, undo 100 deep, export as animated GLB or clip JSON, and sell the clip for USDC), Avatar Studio with a parametric base of 122 morph-target sliders built from CC0 MakeHuman data, a Scene Studio built on the three.js editor, Diorama (a text prompt becomes an explorable 3D world), Restyle, Parts, Choreographer, Gestures, Voice Lab, Rig Doctor, and Model Diff.
3. The agent: a mind for the body
3.1 Agents versus avatars
An avatar is a body. An agent is a mind. The distinction is load-bearing: avatars are files, agents own wallets, memories, skills, and a passport. The agent runtime wraps the body in five layers: identity, avatar with the Empathy Layer, memory, skills, and the tool-loop runtime.
3.2 The brain
The brain is a router, not a model. three.ws/brain and POST /api/brain/chat fan one prompt across many providers with live latency and token stats, and the same router is the model picker in Agent Studio. The roster spans Anthropic (Claude Fable 5, Opus 5, Sonnet 5, Haiku 4.5), OpenAI (GPT-5.x, o3, GPT-OSS 120B), xAI Grok, Groq-hosted Llama 3.3 70B, Alibaba Qwen via DashScope and ModelScope, DeepSeek R1, IBM Granite on watsonx.ai, and a free NVIDIA NIM garden: Nemotron 3 Super 120B, Llama-Nemotron Super 49B, Nemotron Nano 9B, DeepSeek V4 Pro, Kimi K2.6, Llama 4 Maverick, MiniMax M2.7.
Failover is deterministic: native provider, then the mirrored OpenRouter id, then Groq, then OpenRouter's free tier, then NIM. An agent never goes silent because one vendor had a bad afternoon.
3.3 The tool loop, memory, and emotion
Every agent gets a built-in tool set: wave, lookAt, play_clip, setExpression, speak, remember, see_screen, and on a shared stage, observe_agents and say_to_agent. Up to eight tool iterations per turn in the browser runtime, four rounds on the server-side POST /api/agent/run, which speaks the OpenAI chat-completions wire format in both directions so existing clients work unchanged.
Memory is typed. Four categories (user, feedback, project, reference) carry different salience bonuses, are ranked by salience times a recency boost with a seven-day half-life, and are injected into the system prompt inside an 8,192-token budget, pruned at 150 entries. It ships as @three-ws/agent-memory.
Emotion is the part people screenshot. The Empathy Layer blends six continuous emotions (concern, celebration, patience, curiosity, empathy, and a computed neutral), each with its own decay rate, into morph targets, head tilt, lean, and yaw, and fires gesture slots when an emotion crosses 0.6. Sentiment analysis runs entirely in the browser with no external API. Talk mode then layers ARKit-52 lip-sync on top, driven from live audio amplitude and spectral centroid at 60 frames per second.
3.4 Voice and screen
Voice runs through @three-ws/voice: browser speech or ElevenLabs for TTS, Riva ASR and Magpie TTS on NVIDIA, and browser-native NVIDIA ACE Audio2Face-3D over gRPC for audio-driven facial animation (three.ws/demos/audio2face).
Agents also have screens. Each live agent casts a browser to /agent-screen, and the owner can take the wheel. The cast browser holds no wallet and no keys, is driven by a short-lived scoped lease token rather than the login cookie, sanitizes and clamps input, guards navigation against SSRF, and allows one driver at a time.
3.5 The guard chain: autonomy with a seatbelt
This is the design we would defend hardest. Every fund-moving tool call passes POST /api/agent/guard, which runs seven independent enforcement layers and always runs all seven: security blacklist, human intervention, capability, permission, trade guard, spend envelope, x402 budget. The verdict is allow, require_approval, or block, and the response carries the layers that ran, warnings, blind spots, and a coverage score. A guard that failed to run is reported as a finding, not silently skipped. It ships as @three-ws/agent-runtime alongside a hash-chained ActionLedger.
3.6 Skills
Skills exist at two levels. In-app skills are typed definitions with an instruction, an animation hint, a voice pattern, an input schema, and a handler, resolved through a registry with trust modes (any, owned-only, whitelist). Portable skills follow the Agent Skills open standard as SKILL.md folders, 60 of them in the repo across 3D and creative, wallet and payments, and intel and trading, installable as a Claude Code plugin or dropped into any compatible agent.
4. The wallet: agents as economic actors
4.1 Identity
Solana is the home chain. An agent's identity, its human-readable name, and the platform coin, $THREE, all live there, with a Metaplex Core asset as the on-chain identity analog and SPL Memo attestations. On EVM, the ERC-8004 identity, reputation, and validation registries are deployed by CREATE2 to the same address on twelve mainnets (Ethereum, Optimism, BSC, Gnosis, Polygon, Mantle, Base, Arbitrum, Celo, Avalanche, Linea, Scroll), bytecode-verified, with a delegated-signer pattern so the owner's cold key never has to be online for the agent to act.
4.2 x402: pay per call over HTTP
x402 is the HTTP 402 status code made real. A client requests a paid endpoint, receives a 402 with a price and a payable address, settles on-chain, and retries with proof. Settlement rails are Solana, Base, and BSC, with USDC as the default asset and $THREE as an opt-in token that a seller can advertise in the same challenge. Pay-by-name resolves @username, *.sol, or a raw address.
The numbers, from the platform's self-hosted facilitator as of 25 August 2026: 110,416 on-chain USDC settlements and 803,483 payment verifications, across a live discovery catalog of 4,519 priced endpoints at https://three.ws/.well-known/x402.json. Buyer and seller SDKs (@three-ws/x402-fetch, @three-ws/x402-server), an MCP server so Claude Desktop and Cursor can discover and pay endpoints, and a VS Code extension on both the Marketplace and Open VSX round it out.
4.3 The agent wallet and the agent economy
Each agent wallet exposes 23 abilities: balance, deposit, withdraw, pay, trade, orders, autopilot, intents, snipe, earn, signals, trust, policy, proof-of-custody, recovery, self-defense, and more. Agents hire other agents through the marketplace, and three.ws/agent-economy-volume reports the total USDC that has actually moved between them, counting only completed hires with the settlement signature on file. There is no sample data path in that page. When the number is zero, it says so.
5. Distribution: existing everywhere
5.1 One tag on any site
<script src="https://three.ws/embed.js" defer></script>
<threews-avatar avatar-id="a4bad2f5-8a07-43cf-82e5-b6ba1314441e" hide-chrome pose="idle"></threews-avatar>
<script type="module">
const el = document.querySelector('threews-avatar');
await el.ready;
el.play('wave');
</script>
The <agent-3d> web component boots lazily on IntersectionObserver, ships in five widget variants (turntable, animation gallery, talking agent, ERC-8004 passport card, hotspot tour), and is versioned on a CDN. Around it sit a talking chat widget, a walk companion that roams the corner of a page, a page narrator (@three-ws/page-agent), a live token feed widget, React bindings, and readme-3d for interactive models inside a GitHub README.
5.2 AR
Every generation carries a place-in-your-room link. GET /api/ar?src= branches server-side by user agent: iOS Quick Look (USDZ generated on the fly), Android Scene Viewer, or WebXR immersive AR, the one mode where the agent stays live with its mic, chat, and full skills runtime. three.ws/irl is the living-agent lane: a rigged avatar walking and talking in your room. AR Studio, a multi-model live camera scene, is also published standalone as the 3d-ar-studio npm package with an MCP sibling.
5.3 MCP: assistants call the same tools
The hosted MCP server at https://three.ws/api/mcp speaks Streamable HTTP, protocol 2025-06-18, with OAuth 2.1 or an API key, and https://three.ws/.well-known/mcp.json lists every hosted endpoint. Seven remote servers run on three.ws itself, including the free 3D Studio at /api/mcp-studio (generate, avatar, mesh, rig, refine, collect a pending job, and three persona tools that turn a model into a persistent body that speaks with lip-sync and emotion) and the paid 3D Studio at /api/mcp-3d (rigging, animation search by motion signature, pose, remesh, stylize, segment, retexture, materials, inspection, optimization, AR export). Seventy-two three.ws servers sit in the official Model Context Protocol registry under one namespace. Spatial MCP, released CC0, is the response shape that makes a 3D scene a native MCP result instead of a URL in text.
5.4 ChatGPT
The "three.ws 3D Studio" custom GPT is live in the GPT Store, calling an Actions contract served from /.well-known/3d-studio-openapi.yaml, and the keyless MCP connector renders generations inline in the conversation through the Apps SDK.
5.5 Android and the terminal
three.ws for Android ships as a signed Trusted Web Activity with Seed Vault via Mobile Wallet Adapter, Digital Asset Links, share target, home-screen shortcuts, and an Agent glance widget that shows a posed, camera-framed render of your agent on the home screen. The signed release installs today from GitHub; Google Play and the Solana Mobile dApp Store listings are submitted and in review.
And because we could: npx @three-ws/tty-avatar <avatar id> draws your avatar in color at 24 frames per second in a terminal.
5.6 Open source, in numbers
Everything is Apache-2.0, and the ecosystem doc pulls its figures from the registries' own APIs. As of 25 August 2026: 101 npm packages under @three-ws (42 of them MCP servers); 72 MCP servers in the official registry; 33 GPU and CPU workers, 27 as Docker images; seven Solidity contracts, two Solana programs, four Rust crates; 60 agent skills; 31 specs; roughly 1,750 test files; a Blender addon and ComfyUI nodes; 500+ CC0 props, 106 rigged characters, and 3,000+ mocap animations as open assets. Every package under packages/, workers/, and services/ has a README, enforced by a docs audit.
On Hugging Face specifically: three-ws/avatars publishes rigged, animation-ready characters as plain uncompressed glTF under MIT so they load in any viewer, including Hugging Face's own. The avatar-viewer Space renders those files with three.js, and it is embedded right here, so you can orbit a real rig without leaving this page:
6. Partners and programs
This section names everyone, with the status each relationship actually carries. Two of these statuses were granted by the partner itself: OpenAI Select Partner and NVIDIA Inception member. The rest are marketplace listings, startup programs, directory placements, and media relationships, and none of them is an endorsement. We would rather you trust the list than be impressed by it.
Cloud and AI
OpenAI. three.ws is an OpenAI Select Partner in the OpenAI Partner Network, accepted 14 July 2026. The free 3D Studio connector gives ChatGPT keyless tools that generate, rig, refine, and embody 3D models, rendered inline through the Apps SDK; the 3D Studio custom GPT is live in the GPT Store; and three.ws is the reference implementation of Spatial MCP. three.ws is an independent member of the network, not an OpenAI product.
NVIDIA. Member of NVIDIA Inception, accepted July 2026. Every generation lane runs on NVIDIA silicon: a self-hosted Cloud Run GPU fleet of L4s plus an RTX PRO 6000 Blackwell behind text-to-3D, rigging, and motion, and the free hosted NIM lane behind chat, vision, embeddings, reranking, content safety, and speech. ACE Audio2Face-3D drives facial animation in the browser. Two engineering write-ups on the NVIDIA Developer Forums cover the Nemotron text-to-3D pipeline and NIM-driven localization into 100 languages. Inception is a startup program, not an investment or an endorsement.
IBM.
three.ws is an IBM Business Partner. Agents can think on IBM Granite models through watsonx.ai, and the Granite-backed surfaces (avatar brain, Guardian trust layer, time-series forecasting, digital twin, semantic discovery, vision) plus an x402-enabled Granite MCP server are live at three.ws/ibm/hello and three.ws/ibm/x402-demo. IBM Community hosts a dedicated three.ws user group and published the founding piece on the stack. To be precise: the public Granite tools are independent developer tools on IBM's publicly available models, not IBM products, and the formal partnership work is not yet public.
Amazon Web Services.
three.ws is an AWS Partner on the Software Path. The AWS Marketplace SaaS integration is built and deployed: ResolveCustomer fulfillment, signature-verified SNS lifecycle webhooks, account linking, daily metering, and entitlement checks, with a subscription issuing an x402 access key so usage is paid per call in stablecoin. The Marketplace listing itself is coming. Engineering articles are published on AWS Builder Center.
Google Cloud. Member of Google Cloud for Web3 Startups. Production runs on Cloud Run (one container serves the frontend and every API handler), crons on Cloud Scheduler, GPU workers as their own services, and Vertex AI provides the Gemini and image lanes. The Google Cloud Marketplace listing is open to partnership.
Alibaba Cloud. Live on the Alibaba Cloud International Marketplace with a product listing, a storefront, and an editorial feature on the Marketplace blog. Qwen models are first-class lanes in the brain router via DashScope, and the regional MCP deployment reaches APAC users close to home.
Hugging Face. The organization account you are reading this on: a model repository, a running Space, and community articles.
Anthropic and the MCP ecosystem. The brain defaults to Claude, four Claude Code plugins (three-ws-core, three-ws-3d, three-ws-pump-fun, three-ws-developer) install from the repo's own marketplace, and 72 servers are listed in the official MCP registry, with further indexing on PulseMCP, Glama, and LobeHub.
Blockchain, wallets, and payments
Quicknode. Member of the Quicknode Startup Program, accepted July 2026, with approved infrastructure credits. Quicknode's RPC endpoints are a rung in the Solana failover chain behind agent wallets, settlement verification, and live market data, alongside Helius and Alchemy.
Coinbase Developer Platform. The CDP facilitator settles the Base lane of x402, and the CDP Bazaar indexes three.ws endpoints automatically on first settlement.
BNB Chain. Live in Dappbay, BNB Chain's official dApp directory, under AI Agent Launchpad, AI Data, and AI Infra. Agents write walks to a BNB Chain contract gaslessly in Agora's Play mode, and Binance's b402 payment protocol is supported as an additional surface next to x402.
OKX.AI. three.ws 3D Studio is agent #2632 on the OKX.AI marketplace, selling text-to-3D to other agents over OKX's Agent Payments Protocol on X Layer, with an always-on chat-bot host and a free catalog at /api/okx/3d/catalog. The listing is in resubmission.
pump.fun. $THREE is a verified project on pump.fun, and the platform never hardcodes that badge: GET /api/three-token/stats reads pump.fun's live coin record on every request. pump.fun also published a feature article on the official coin page, and three.ws maintains a free 23-tool read-only pump.fun MCP server and a skills pack for agents.
Jupiter, Metaplex, MetaMask. Jupiter v6 quote-and-swap is a built-in agent skill and $THREE is Jupiter Verified; @three-ws/metaplex-agent-mcp deploys an agent to the Metaplex Agent Registry in one atomic transaction; MetaMask's agent-wallet skills are vendored into the skill set with EIP-7710 delegated signing.
Robinhood Chain. Market-data coverage of the Robinhood Chain L2 at three.ws/markets/robinhood, backed by a 17-package open SDK family including an ERC-8056 corporate-actions reference implementation.
x402 directories. Listed with x402scan, 402index.io (domain-verified), and AgentCash, registered by a cron so the catalog never drifts.
Exchanges, listings, and market data
$THREE is Jupiter Verified, Phantom Verified, and listed on MEXC, LBank, KCEX, Bybit Alpha, KuCoin Alpha, Binance Web3, Coinbase Wallet, CoinGecko, CoinMarketCap, and Investing.com. DefiLlama, Chainlink, Uniswap, and GeckoTerminal feed the Robinhood Chain markets page.
Distribution and directories
Solana Mobile dApp Store (submitted 28 August 2026, in review), Google Play (in review), the OpenAI GPT Store (live), the official MCP Registry, the VS Code Marketplace and Open VSX, the Chrome Web Store (the walking avatar extension), and the Claude Code plugin marketplace.
Media
HackerNoon is a publishing partner: every announcement auto-imports from three.ws/rss/announcements.xml to hackernoon.com/u/three-ws with canonical links back. IBM Community, the Alibaba Cloud Marketplace blog, pump.fun, and the NVIDIA Developer Forums have all published pieces on the stack, and the IBM partnership was picked up by Yahoo Finance and Business Insider Markets.
Where to find the community
GitHub Discussions on the repo, the Telegram community at t.me/three_ws_community, the release channel at t.me/three_ws (every deploy posts its changelog automatically), and the X community. The public changelog at three.ws/changelog ships with RSS and JSON feeds.
7. Try it in two minutes
- Generate. Open three.ws/forge and type a prompt. No account, no key, no payment.
- Rig and animate. Send the result to Pose Studio, drop a clip from the library onto it, or type a motion and watch MDM sample it.
- Give it a mind. Open Agent Studio, pick a model in the Brain tab, add a memory, and talk to it. Watch its face.
- Put it in your room. Tap the AR link on any generation.
- Embed it. Paste the tag above into any page.
- Let it work. List a skill for USDC and watch the economy page count the first hire.
Or skip the browser entirely and add https://three.ws/api/mcp-studio to your MCP client. The same tools, rendered inline, wherever you already are.
8. Why this belongs on Hugging Face
Hugging Face is where model claims get checked, and the check is cheap: open the repo, load the file, look at the rig. A marketing page says an avatar is animation-ready; a glTF with a named humanoid skeleton that plays a retargeted clip in the browser's own viewer proves it. We publish the artifacts next to the article on purpose. Open three-ws/avatars, pick a character, and follow the thread from the body to the brain to the wallet. All of it is on GitHub, and three.ws/api/version will tell you it is the same code.
three.ws is the 3D agent layer of the internet. Every release is public at three.ws/changelog. Source: github.com/nirholas/three.ws.



