# MsgCreateDynamicStore

Creates a new dynamic store for boolean key-value storage. New stores are created with `globalEnabled = true` by default, meaning the store is active and can be used in approval criteria.

## Proto Definition

```protobuf
message MsgCreateDynamicStore {
  string creator = 1; // Address creating the dynamic store
  bool defaultValue = 2; // Default boolean value for uninitialized addresses
  string uri = 3; // Optional: URI for additional metadata or resources
  string customData = 4; // Optional: Custom data field for arbitrary data
}

message MsgCreateDynamicStoreResponse {
  string storeId = 1; // ID of the created dynamic store
  repeated string reviewItems = 2; // Advisory review items about the transaction
}
```

## Response

The response includes:

* **`storeId`**: The ID of the newly created dynamic store
* **`reviewItems`**: Advisory strings about the transaction (see [Review Items](https://github.com/trevormil/bitbadges-docs/blob/master/x-tokenization/concepts/approval-change-events.md#review-items))

## Usage Example

```bash
# CLI command
bitbadgeschaind tx tokenization create-dynamic-store [true|false] --from creator-key
```

### JSON Examples

**Basic example (without metadata):**

```json
{
    "creator": "bb1...",
    "defaultValue": false
}
```

**With optional metadata fields:**

```json
{
    "creator": "bb1...",
    "defaultValue": false,
    "uri": "https://example.com/store-metadata",
    "customData": "{\"description\": \"Member store\", \"version\": \"1.0\"}"
}
```

## Metadata Fields

Both `uri` and `customData` are **optional** fields:

* **`uri`**: URI for additional metadata or resources associated with this dynamic store. Typically used for URLs pointing to hosted JSON metadata or documentation. No validation is performed on the URI format.
* **`customData`**: Custom data field for storing arbitrary string data. Commonly used to store JSON-encoded structured data, but can contain any string value. No validation is performed on the content.


---

# Agent Instructions: 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:

```
GET https://docs.bitbadges.io/token-standard/messages/msg-create-dynamic-store.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
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.
