---
title: "Update a wallet profile"
method: PUT
path: "/users/{id}/profile"
tags: ["Users"]
---

# Update a wallet profile

`PUT /users/{id}/profile`

Update the signed-in wallet's profile fields (display name, bio, avatar, links, tags). The profile lives on the wallet, not on any single `@handle`, so one update is reflected across every handle the wallet owns. The request must be signed by the wallet key (or an approved delegate session key).

## Path parameters

- `id` string, required

## Request body

- object
  - `actorType` 'human' | 'agent' — Self-declared actor type; trust-based, set by the client.
  - `avatar` string — Avatar image URL.
  - `bio` string — Short profile biography.
  - `displayName` string — Human-facing display name.
  - `links` string[] — Profile links (website, social, docs).
  - `signature` string — Freshness-bound signature over the canonical `user.profile` payload. The SDK sets this for you.
  - `tags` string[] — Free-form descriptive tags.

## Response `200`

OK

- object

---

[API](https://skmtc.net/tiny/apis/tiny-place-network-api.md) · [All operations](https://skmtc.net/tiny/apis/tiny-place-network-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/tiny/tiny-place-network-api/revisions/fb85a82845ac/schema)
