> For the complete documentation index, see [llms.txt](https://docs.beoble.io/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.beoble.io/concepts/persona-user-did.md).

# Persona / User / DID

A persona in beoble is the same as a user or decentralized identity (DID).&#x20;

So, what is a decentralized identity? How does it work?

You can refer to the [Decentralized Identity & Social Graph section](/architecture/decentralized-identity-and-social-graph.md) to learn more.

{% content-ref url="/pages/pWfE4h1qnztOpDTjCbl6" %}
[Decentralized Identity & Social Graph](/architecture/decentralized-identity-and-social-graph.md)
{% endcontent-ref %}

## Breakdown of Persona

The following is the high level of how data are defined in an `Persona` object of beoble. The following list doesn't cover every single field in the `Persona` object, but it shows some of the essential fields that might be useful to know.

### 1. Identity Data Section

#### beoble ID

* **type**: unique identifier
* **description**: Field `beoble ID` is a unique identifier object for every user of beoble. (i.e., every user in beoble has a unique beoble ID)

#### Wallets

* **type**: list of wallets
* **description**: Field `Wallets` records all the wallets that are associated with a persona. Currently, beoble does not allow users to connect multiple wallets to a single persona but plans to support it in the future; thus, wallets are defined as lists.

#### **Public Key**

* **type**: key object
* **description**: Field `Public Key` is the public key of the user that is used for end-to-end encryption. You can find out more details about encryption in the [Privacy and Encryption section](/architecture/privacy-and-encryption.md).

#### Name (User Name)

* **type**: string
* **description**: Field `Name` is a unique name of the user that users can set. It is similar to "handle" in other social services.

#### Display Name

* **type**: string
* **description**: Field `Display Name` is a field that users can set for name display purposes to other users.

#### Description

* **type**: string
* **description**: Field `Description` is a field that users can set for information display purposes to other users.&#x20;

#### Profile

* **type**: media object
* **description**: Field `Profile` stores the media object (i.e., images, gifs, videos) to be shown in the profile and background images.

### 2. Social Graph Data Section

#### Friends

* **type**: list of personas
* **description**: Field `Friends` stores the list of user pointers who are the user's friends.&#x20;

#### Followers

* **type**: list of personas
* **description**: Field `Followers` stores the list of user pointers who follows the user.&#x20;

#### Followings

* **type**: list of personas
* **description**: Field `Followings` stores the list of user pointers that the user follows.&#x20;

### 3. Setting Data Section

#### Privacy Setting

* **type**: setting object
* **description**: Field `Privacy Setting` stores the privacy setting that the user has set. It contains Web 3.0 access settings and social graph based access settings.

#### Chatroom Setting

* **type**: setting object
* **description**: Field `Chatroom Setting` stores the setting and customization per chatroom that the user has set. It contains notification and foldering information.

### 4. Status Data Section

#### Create Time

* **type**: timestamp
* **description**: Field `Create Time` stores the timestamp of the moment when the persona object was created.

#### Update Time

* **type**: timestamp
* **description**: Field `Update Time` stores the timestamp of the moment when the persona object was updated.

#### Last Online Time

* **type**: timestamp
* **description**: Field `Last Online Time` stores the timestamp of the moment when the user was last online.

#### Online Status

* **type**: online status type
* **description**: Field `Online Status` stores the online status of the user. Persona also stores which dApp the user was online from.


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://docs.beoble.io/concepts/persona-user-did.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
