Skip to main content
Delegations let you grant scoped, time-limited access to your space. Share links provide a simpler flow for sharing data with users who may not have a TinyCloud identity yet.

Delegations

tc delegation create

Create a delegation granting another user access to your space.
tc delegation create --to <did> --actions <actions> [options]
OptionDescriptionExample
--to <did>Recipient’s DID (PKH or key format)did:pkh:eip155:1:0x1234...
--actions <actions>Comma-separated actions to grantkv/get,kv/put
--paths <paths>Comma-separated path patternsdocuments/*,images/*
--duration <duration>How long the delegation is valid7d
--not-before <time>Earliest time the delegation is valid2026-03-08T00:00:00Z

Action Formats

Actions follow the {namespace}/{action} format. You can use the full or short form:
Full FormShort FormDescription
tinycloud.kv/getkv/getRead a key
tinycloud.kv/putkv/putWrite a key
tinycloud.kv/deletekv/deleteDelete a key
tinycloud.kv/listkv/listList keys
tinycloud.space/hostspace/hostHost a space

Duration Formats

FormatDescriptionExample
30mMinutes30 minutes
1hHours1 hour
7dDays7 days
1wWeeks1 week
ISO 8601Absolute date2026-12-31T23:59:59Z
$ tc delegation create \
    --to did:pkh:eip155:1:0x5678...efgh \
    --actions kv/get,kv/list \
    --paths "documents/*" \
    --duration 7d

  Delegation created:
    ID:        del_abc123...
    To:        did:pkh:eip155:1:0x5678...efgh
    Actions:   kv/get, kv/list
    Paths:     documents/*
    Expires:   2026-03-14T10:30:00.000Z
    Portable:  eyJhbGciOi...  (use --json to get full token)

tc delegation list

List all active delegations.
tc delegation list
$ tc delegation list
  Active delegations:

    del_abc123  ->  did:pkh:eip155:1:0x5678...efgh
      Actions:  kv/get, kv/list
      Paths:    documents/*
      Expires:  2026-03-14

    del_def456  ->  did:pkh:eip155:1:0x9012...ijkl
      Actions:  kv/get, kv/put, kv/delete
      Paths:    shared/*
      Expires:  2026-04-07

  2 delegations total

tc delegation info

Show details about a specific delegation.
tc delegation info <delegation-id>
$ tc delegation info del_abc123
  Delegation: del_abc123
  To:         did:pkh:eip155:1:0x5678...efgh
  Actions:    kv/get, kv/list
  Paths:      documents/*
  Created:    2026-03-07T10:30:00.000Z
  Expires:    2026-03-14T10:30:00.000Z
  Status:     Active

tc delegation revoke

Revoke an existing delegation.
tc delegation revoke <delegation-id>
$ tc delegation revoke del_abc123
  Delegation del_abc123 revoked.

DID Formats

The --to flag accepts DIDs in multiple formats:
FormatExampleDescription
PKH DIDdid:pkh:eip155:1:0x1234...Ethereum identity (recommended)
Key DIDdid:key:z6Mk...Cryptographic key identity
For user-to-user delegations, always use the recipient’s PKH DID (did:pkh:eip155:{chainId}:{address}). Using a session key DID will cause server validation to fail.
Share links are a simplified sharing mechanism. They generate a URL that recipients can use to receive a delegation, even without an existing TinyCloud identity.

tc share create

Create a shareable link for data in your space.
tc share create --paths <paths> --actions <actions> --duration <duration>
$ tc share create \
    --paths "documents/report.json" \
    --actions kv/get \
    --duration 24h

  Share link created:
    https://node.tinycloud.xyz/share/abc123def456
    Expires: 2026-03-08T10:30:00.000Z

  Send this link to the recipient.

tc share receive

Accept a share link and import the delegation.
tc share receive <share-url>
$ tc share receive https://node.tinycloud.xyz/share/abc123def456
  Share accepted.
  You now have access to:
    Space:    0x1234...abcd-1-default
    Actions:  kv/get
    Paths:    documents/report.json
    Expires:  2026-03-08T10:30:00.000Z

tc share list

List received share links.
tc share list

tc share revoke

Revoke a share link you created.
tc share revoke <share-id>
FeatureDelegationShare Link
Requires recipient DIDYesNo
Recipient needs TinyCloudYesNo (on receive)
RevocableYesYes
Sub-delegatableYesNo
DeliveryManual (you send the token)URL-based
Use delegations when you know the recipient’s DID and need fine-grained control. Use share links for quick, casual sharing where the recipient might not have TinyCloud set up yet.