# W3DS Documentation > Documentation for Web 3 Data Spaces. W3DS lets users own their data in a personal eVault while platforms act as interchangeable frontends. This site is the authoritative source for the protocol, its services, and how to build on it. The eVault is the source of truth; anything a platform stores is a projection of it. Read Data Ownership Rules before designing a platform. ## Getting Started - [Getting Started with W3DS](https://docs.w3ds.metastate.foundation/docs/Getting%20Started/getting-started): Welcome to W3DS (Web 3.0 Data Spaces) — a decentralized data synchronization protocol that puts users in control of their data. For definitions of key terms (eVault, W3ID, MetaState, Post-Platform,… ## GitW3 - [GitW3 overview](https://docs.w3ds.metastate.foundation/docs/GitW3/overview): Start here to understand GitW3 repositories, W3DS identities, releases, certification, and deployment records. - [Sign in and manage your account](https://docs.w3ds.metastate.foundation/docs/GitW3/sign-in-and-account): Use an eID wallet to sign in to GitW3 and understand W3DS usernames and profile data. - [Create a new platform](https://docs.w3ds.metastate.foundation/docs/GitW3/create-a-platform): Create a repository, initial W3DS manifest, and permanent platform identity with GitW3. - [Port an existing application](https://docs.w3ds.metastate.foundation/docs/GitW3/port-an-existing-application): Move an existing Git application and, when present, its W3DS eName into GitW3 without an early public cutover. - [Work with repositories](https://docs.w3ds.metastate.foundation/docs/GitW3/work-with-repositories): Clone, push, collaborate, and publish releases in a GitW3 repository. - [Platform manifest and W3DS workspace](https://docs.w3ds.metastate.foundation/docs/GitW3/platform-manifest-and-workspace): Understand .w3ds/platform.json, asynchronous publication, visibility, and the repository W3DS tab. - [Releases and PPA certification](https://docs.w3ds.metastate.foundation/docs/GitW3/releases-and-ppa): Publish an exact semantic version, sign its PPA application, and follow version-scoped review decisions. - [Register a deployment](https://docs.w3ds.metastate.foundation/docs/GitW3/deploy-a-release): Create and sign a verifiable W3DS deployment record for a PPA-certified release. - [Troubleshooting GitW3](https://docs.w3ds.metastate.foundation/docs/GitW3/troubleshooting): Diagnose sign-in, Git authentication, manifest publication, porting, PPA, and deployment problems safely. ## W3DS Basics - [Glossary](https://docs.w3ds.metastate.foundation/docs/W3DS%20Basics/glossary): Definitions of key terms used across the W3DS and MetaState documentation. Where a concept is explained in more detail elsewhere, a link is provided. - [W3DS Basics](https://docs.w3ds.metastate.foundation/docs/W3DS%20Basics/getting-started): This document provides a deep dive into the core concepts of W3DS (Web 3 Data Spaces), including eVault ownership, data synchronization, and the webhook notification system. See the Glossary for… - [Data Ownership Rules](https://docs.w3ds.metastate.foundation/docs/W3DS%20Basics/Data-Ownership-Rules): This page is the rule set for anyone — human or coding agent — deciding where a piece of data lives. Everything else in the Post Platform Guide tells you how to move data. This tells you what belongs… - [W3ID](https://docs.w3ds.metastate.foundation/docs/W3DS%20Basics/W3ID): W3ID (Web 3 Identifier) is the main identifier for the whole W3DS ecosystem. W3IDs are UUID-based, persistent, and globally unique. When the term eName is used, it means a universally resolvable… - [eName](https://docs.w3ds.metastate.foundation/docs/W3DS%20Basics/eName): An eName is a globally unique identifier that is a subset of W3ID. It is registered in the Registry and can be resolved to access information about the identifier, its owner/controller, and the… - [Binding Documents](https://docs.w3ds.metastate.foundation/docs/W3DS%20Basics/Binding-Documents): Binding documents are a special type of MetaEnvelope that tie a user to their eName. They establish the relationship between a person's identity and their globally unique identifier in the W3DS… - [Access Policy](https://docs.w3ds.metastate.foundation/docs/W3DS%20Basics/Access-Policy): Certification tells you what a platform was found to be. It does not tell you whether you want to deal with it. That is the eVault owner's decision, and an access policy is where they write it down. - [Links](https://docs.w3ds.metastate.foundation/docs/W3DS%20Basics/Links): Production base URLs for core W3DS infrastructure services. ## Infrastructure - [eVault](https://docs.w3ds.metastate.foundation/docs/Infrastructure/eVault): eVault is the core storage system for W3DS. It provides a GraphQL API for storing and retrieving user data, manages access control, and delivers webhooks to platforms when data changes. - [eID Wallet](https://docs.w3ds.metastate.foundation/docs/Infrastructure/eID-Wallet): The eID Wallet is a mobile application that manages cryptographic keys, authenticates users with platforms, and provides the user interface for eVault creation and management. - [eVault Key Delegation](https://docs.w3ds.metastate.foundation/docs/Infrastructure/eVault-Key-Delegation): This document explains how the eVault system delegates cryptographic keys for signing. It covers key generation, syncing public keys to eVault, and key binding certificates. - [Registry](https://docs.w3ds.metastate.foundation/docs/Infrastructure/Registry): The Registry is a core W3DS service that provides W3ID-based service discovery, entropy generation for cryptographic operations, and—as a temporary shortcut—key binding certificates. In the future,… - [Web3 Adapter](https://docs.w3ds.metastate.foundation/docs/Infrastructure/Web3-Adapter): The Web3 Adapter is the bridge between a platform's local database and eVault. It enables "write once, sync everywhere": when data changes locally, the adapter converts it to the global schema and… - [Ontology](https://docs.w3ds.metastate.foundation/docs/Infrastructure/Ontology): The Ontology service is the schema registry for W3DS. It serves JSON Schema (draft-07) definitions identified by a W3ID (`schemaId`). eVault uses these schema IDs in MetaEnvelopes to indicate the… - [wallet-sdk](https://docs.w3ds.metastate.foundation/docs/Infrastructure/wallet-sdk): The wallet-sdk is a small TypeScript package that implements the high-level flows for eVault provisioning, platform authentication (signing), and public-key sync. It is crypto-agnostic: you supply a… ## W3DS Protocol - [Authentication](https://docs.w3ds.metastate.foundation/docs/W3DS%20Protocol/Authentication): W3DS uses cryptographic signature-based authentication. Users authenticate with platforms by signing a session ID with their private key, which platforms verify using public keys stored in eVaults. - [Signing](https://docs.w3ds.metastate.foundation/docs/W3DS%20Protocol/Signing): This document explains the `w3ds://sign` protocol for requesting arbitrary signatures from users. This protocol allows platforms to request users to sign custom data such as documents, votes,… - [Signature Formats](https://docs.w3ds.metastate.foundation/docs/W3DS%20Protocol/Signature-Formats): This document explains the signature formats used in the eID wallet and how to verify signatures using public keys from eVault. - [Awareness Protocol](https://docs.w3ds.metastate.foundation/docs/W3DS%20Protocol/Awareness-Protocol): The Awareness Protocol described here is prototype-level. The packet format, delivery behavior, and platform contract are subject to change in upcoming updates - [File URIs](https://docs.w3ds.metastate.foundation/docs/W3DS%20Protocol/File-URIs): This document explains the `w3ds://file` URI scheme — a standardised, human-readable way to reference and dereference files across the MetaState ecosystem. A file attached to or described by a Meta… - [Platform Authentication (PP Auth)](https://docs.w3ds.metastate.foundation/docs/W3DS%20Protocol/Platform-Authentication): An eVault has never been able to tell one platform from another. `POST /platforms/certification` mints a year-long token for any name a caller types in, and any registry-signed token bypasses access… - [Access Control](https://docs.w3ds.metastate.foundation/docs/W3DS%20Protocol/Access-Control): An eVault record carries its own access rules. They say which parties may read it, add to it, change it, or delete it — and, separately, what a platform must *be* before it may read at all. ## Post Platforms Guide - [Local Dev Quick Start](https://docs.w3ds.metastate.foundation/docs/Post%20Platform%20Guide/local-dev-quick-start): Run Postgres and Neo4j in Docker, then start the core services and dev-sandbox with one script. - [Using the Dev Sandbox](https://docs.w3ds.metastate.foundation/docs/Post%20Platform%20Guide/dev-sandbox): The W3DS Dev Sandbox is a minimal browser app that lets you test provisioning, authentication, and signing flows without the real eID wallet. It uses the wallet-sdk (`packages/wallet-sdk` in the… - [Getting Started with Platform Development](https://docs.w3ds.metastate.foundation/docs/Post%20Platform%20Guide/getting-started): This guide will help you get started building platforms in the metastate ecosystem. We'll cover the essential concepts and patterns you'll need to implement, using `@eCurrency-api` as a reference… - [Mapping Rules](https://docs.w3ds.metastate.foundation/docs/Post%20Platform%20Guide/mapping-rules): This document explains how to create mappings for the Web3 Adapter system, which enables data exchange between different platforms using the universal ontology. - [Webhook Controller Guide](https://docs.w3ds.metastate.foundation/docs/Post%20Platform%20Guide/webhook-controller): The webhook controller receives awareness protocol packets from the eVault system and saves them to your local database. - [Implementing Access Control](https://docs.w3ds.metastate.foundation/docs/Post%20Platform%20Guide/access-control): Your platform writes records into a user's eVault. By default those records are wide open — anything that syncs to a platform can be read by it. This page is how you narrow that. - [eCurrency: Accounts and Ledger MetaEnvelopes](https://docs.w3ds.metastate.foundation/docs/Post%20Platform%20Guide/ecurrency-accounts-and-ledger): This guide covers how eCurrency stores account and transaction data as MetaEnvelopes on user eVaults. If you are building a feature that reads balances, displays transaction history, or initiates… - [AI Agent Skill](https://docs.w3ds.metastate.foundation/docs/Post%20Platform%20Guide/ai-agent-skill): This repo ships a packaged W3DS knowledge skill under `skills/w3ds/` that you can load into your AI coding assistant so it stops guessing ontology UUIDs, mapping directives, and GraphQL field names.… - [Registering a Platform eVault](https://docs.w3ds.metastate.foundation/docs/Post%20Platform%20Guide/platform-evault-registration): A platform eVault is an eVault owned by the platform itself rather than by any end user. It gives the platform its own W3ID/eName so it can act as a first-class participant on the network — writing… - [PP Auth demonstrator](https://docs.w3ds.metastate.foundation/docs/Post%20Platform%20Guide/pp-auth-demonstrator): Shows platform authentication and domain separation against the live network: real platforms, real certificates from the association, real deployments, and your own eVault. - [Authenticating your platform](https://docs.w3ds.metastate.foundation/docs/Post%20Platform%20Guide/pp-auth): Your deployment proves which release it is running, and the eVault decides what that release may touch. This page is the integration. ## Services - [Awareness as a Service (AaaS)](https://docs.w3ds.metastate.foundation/docs/Services/Awareness-as-a-Service): Awareness as a Service is the single fanout point for MetaEnvelope awareness packets. It replaces the webhook fanout that previously lived inside evault-core, and adds a queryable history, granular… ## Agent skill The packaged W3DS skill, for coding agents. Fetch directly, or install with `npx skills add MetaState-Prototype-Project/prototype@w3ds`. - [SKILL.md](https://docs.w3ds.metastate.foundation/skill/SKILL.md) - [reference/dev-setup.md](https://docs.w3ds.metastate.foundation/skill/reference/dev-setup.md) - [reference/evault.md](https://docs.w3ds.metastate.foundation/skill/reference/evault.md) - [reference/gitw3.md](https://docs.w3ds.metastate.foundation/skill/reference/gitw3.md) - [reference/identity.md](https://docs.w3ds.metastate.foundation/skill/reference/identity.md) - [reference/platform.md](https://docs.w3ds.metastate.foundation/skill/reference/platform.md) - [reference/protocols.md](https://docs.w3ds.metastate.foundation/skill/reference/protocols.md) - [reference/registry.md](https://docs.w3ds.metastate.foundation/skill/reference/registry.md) - [reference/w3ds-native.md](https://docs.w3ds.metastate.foundation/skill/reference/w3ds-native.md) - [reference/wallet.md](https://docs.w3ds.metastate.foundation/skill/reference/wallet.md) - [w3ds-full.txt](https://docs.w3ds.metastate.foundation/skill/w3ds-full.txt): the whole skill in one file ## Optional - [llms-full.txt](https://docs.w3ds.metastate.foundation/llms-full.txt): every page on this site concatenated