Skip to main content
Profiles let you manage multiple TinyCloud identities and environments from a single machine. Each profile has its own keys, session, and configuration.

Directory Structure

Profiles are stored under ~/.tinycloud/:
~/.tinycloud/
  config.json            # Global config (active profile, etc.)
  profiles/
    default/             # Default profile
      keys.json          # Key pair
      session.json       # Session token
      config.json        # Profile-specific config
    staging/
      keys.json
      session.json
      config.json
    production/
      keys.json
      session.json
      config.json

Commands

tc profile list

List all configured profiles.
tc profile list
$ tc profile list
  Profiles:

    * default       https://node.tinycloud.xyz       0x1234...abcd
      staging       https://staging.tinycloud.xyz     0x5678...efgh
      production    https://node.tinycloud.xyz        0x1234...abcd

  3 profiles (* = active)

tc profile create

Create a new profile.
tc profile create <name>
$ tc profile create staging
  Profile "staging" created.
  Keys stored in ~/.tinycloud/profiles/staging/

  Run `tc auth login --profile staging` to sign in.

tc profile show

Show details about a profile.
tc profile show [name]
If no name is given, shows the active profile.
$ tc profile show staging
  Profile:   staging
  Host:      https://staging.tinycloud.xyz
  Address:   0x5678...efgh
  DID:       did:pkh:eip155:1:0x5678...efgh
  Session:   Active (expires in 11h 30m)
  Directory: ~/.tinycloud/profiles/staging/

tc profile switch

Switch the active profile.
tc profile switch <name>
$ tc profile switch staging
  Switched to profile "staging".
  Host:     https://staging.tinycloud.xyz
  Address:  0x5678...efgh
After switching, all commands use the new profile’s keys and session.

tc profile delete

Delete a profile and all its data.
tc profile delete <name>
$ tc profile delete staging
  Are you sure you want to delete profile "staging"? (y/N) y
  Profile "staging" deleted.
Deleting a profile removes its keys and session permanently. This cannot be undone. Make sure to back up any keys you need before deleting.

Multi-Environment Workflow

A common pattern is to maintain separate profiles for development, staging, and production:
1

Create profiles

tc init --name dev --host https://localhost:8000
tc init --name staging --host https://staging.tinycloud.xyz
tc init --name production --host https://node.tinycloud.xyz
2

Sign in to each

tc auth login --profile dev
tc auth login --profile staging
tc auth login --profile production
3

Use per-command or switch

# Per-command override
tc kv put feature/flags '{"newUI":true}' --profile staging

# Or switch globally
tc profile switch production
tc kv put feature/flags '{"newUI":false}'
Use the TC_PROFILE environment variable to set the default profile for a terminal session without permanently switching:
export TC_PROFILE=staging
tc kv list  # Uses staging profile