Skip to main content
The Move Standard Library provides fundamental data structures and utilities used across Move programs. These modules are published at 0x1.

Core Modules

vector.move

Provides operations on vectors (dynamic arrays). Key Functions:
Example:

option.move

Provides optional value handling. Key Types:
  • Option<T> - Either Some(T) or None
Key Functions:
Example:

string.move

Provides UTF-8 string handling. Key Types:
  • String - UTF-8 encoded string
Key Functions:
Example:

ascii.move

Provides ASCII string handling. Key Types:
  • String - ASCII-only string
Key Functions:

type_name.move

Provides runtime type information. Key Types:
  • TypeName - Runtime type representation
Key Functions:
Example:

bcs.move

Provides Binary Canonical Serialization. Key Functions:
Example:

fixed_point32.move

Provides fixed-point arithmetic with 32-bit precision. Key Types:
  • FixedPoint32 - Fixed-point number
Key Functions:

hash.move

Provides cryptographic hash functions. Key Functions:

Integer Modules

Provide utilities for different integer sizes:

u8, u16, u32, u64, u128, u256


Boolean Module

bool.move


Common Patterns

Working with Vectors

Optional Values

String Building

Full Module List

The Move Standard Library at 0x1 includes:
  • vector - Dynamic arrays
  • option - Optional values
  • string - UTF-8 strings
  • ascii - ASCII strings
  • type_name - Runtime types
  • bcs - Serialization
  • fixed_point32 - Fixed-point math
  • hash - Hash functions
  • u8, u16, u32, u64, u128, u256 - Integer utilities
  • bool - Boolean utilities
  • bit_vector - Bit vectors
  • uq32_32 - Unsigned Q32.32 fixed-point
  • uq64_64 - Unsigned Q64.64 fixed-point
  • debug - Debugging utilities
  • unit_test - Testing framework