A space is a data ownership container in TinyCloud. Every piece of data belongs to a space, and every space is owned by a single wallet address. Spaces are the fundamental unit of isolation — data in one space is completely separate from data in another.Documentation Index
Fetch the complete documentation index at: https://docs.tinycloud.xyz/llms.txt
Use this file to discover all available pages before exploring further.
What is a Space?
Think of a space as a personal vault tied to your wallet identity. When you sign in with your Ethereum wallet, TinyCloud creates (or connects to) a space where your application data is stored. You control who can read, write, or share that data through delegations. Key properties of a space:- Owned by a wallet address — only the owner can grant access
- Isolated by prefix — the same wallet can have multiple spaces for different apps
- Created on demand — spaces are provisioned during the first sign-in (by default)
- Addressed by a deterministic ID — derived from the wallet address, chain ID, and prefix
Space ID Format
Space IDs are deterministic. Given the same inputs, the same space ID is always produced:| Component | Description | Example |
|---|---|---|
chainId | EIP-155 chain ID | 1 (mainnet), 11155111 (Sepolia) |
address | Ethereum address (checksummed) | 0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045 |
spaceName | Application-defined identifier | my-app |
The space ID is derived deterministically. You do not choose it — it is computed from the protocol, your wallet address, the chain you are connected to, and the space name you configure.
Auto-Creation vs Manual
By default, TinyCloud creates the space automatically on first sign-in. You can disable this if you need to control when spaces are provisioned.- Auto-creation (default)
- Manual creation
Getting the Space ID
After sign-in, you can retrieve the space ID for the current session. The accessor differs between Web and Node SDKs:Prefix for App Isolation
The prefix is the mechanism for isolating data between different applications that share the same wallet. Each unique prefix produces a different space ID, even for the same user on the same chain.0xd8dA...6045) on mainnet, this produces two distinct spaces:
| Application | Prefix | Space ID |
|---|---|---|
| Game | my-game | tinycloud:pkh:eip155:1:0xd8dA...6045:my-game |
| Notes | my-notes | tinycloud:pkh:eip155:1:0xd8dA...6045:my-notes |
Same Wallet, Different Spaces
Because the space ID is derived fromaddress + chainId + spaceName, a single wallet can own many independent spaces:
get or list call in the photos space will never return keys from the documents space.
Data in one space is completely isolated from other spaces, even for the same user. This isolation is enforced at the server level — there is no way to accidentally cross space boundaries.