> For the complete documentation index, see [llms.txt](https://docs.spaceoperator.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.spaceoperator.com/visual-builder/nodes/native-nodes/valueset.md).

# ValueSet

Values for flow inputs and outputs are stored as JSONB in the database.

Values are always JSON objects with exactly 1 key. The key describes that value’s data type.

Schema: <https://assets.spaceoperator.com/json-schemas/value.json>

## Null

```jsx
{
	"N": 0
}
```

## String

```jsx
{
	"S": "<content of string>"
}
```

## Boolean

```jsx
{
	// `true` or `false`
	"B": true
}
```

## Numbers

There are many types of numbers. All numbers are encoded as JSON string to avoid losing precision when reading in JavaScript.

### U64

Unsigned 64-bit integer.

```jsx
{
	"U": "1234"
}
```

### I64

Signed 64-bit integer.

```jsx
{
	"I": "-123456"
}
```

### U128

Unsigned 128-bit integer.

```jsx
{
	"U1": "340282366920938463463374607431768211455"
}
```

### I128

Signed 128-bit integer.

```jsx
{
	"I1": "-170141183460469231731687303715884105728"
}
```

### F64

64-bit floating-point value. Support writing with scientific notation (e.g. 1e10).

```jsx
{
	"F": "1e-10"
}
```

### Decimal

A Decimal in [rust\_decimal](https://docs.rs/rust_decimal/latest/rust_decimal/) library.

```jsx
{
	"D": "3.1415926535897932384626433832"
}
```

## Binary data

Binary values containing 32 or 64 bytes are encoded as base-58 string, because they are usually Solana’s pubkey or keypair. Other lengths are encoded with base-64.

### 32-bytes binary

A binary sequence, exactly 32-bytes long. Encoded as a base-58 string.

```jsx
{
	"B3": "4pLoLKNMFNLebHQ91vHm9YqspPzpCughUfooGPPzUA6d"
}
```

### 64-bytes binary

A binary sequence, exactly 64-bytes long. Encoded as a base-58 string.

```jsx
{
	"B6": "2FEonhUn96e31GtW2DNRnoeGSUfozrEVTT7JwGfQfXmDYkNSXgGSBCAzb4BPLnQXZ4y1oL4qxAa825LVtd9nyZLk"
}
```

### Other length

Binary values with other length are encoded as base-64 strings.

```jsx
{
	"BY": "U3Vubnk="
}
```

## Array

Array contains zero or more elements, each element is another value.

e.g. an array contains an integer 10 and a string "Hello":

```json
{
	"A": [
		{ "I": "10" },
		{ "S": "Hello" }
	]
}
```

## Map

```json
{
	"M": {
		"pubkey": { "B3": "4pLoLKNMFNLebHQ91vHm9YqspPzpCughUfooGPPzUA6d" },
		"memo": { "S": "Hello" }
	}
}
```
