datadictionary.org
Protocol

MAP

Magic Attribute Protocol. Key-value metadata in OP_RETURN outputs.

prefix 1PuQa7K62MiKCtssSLKy1kh56WWU7MtUR5
address 1PuQa7K62MiKCtssSLKy1kh56WWU7MtUR5
encoding UTF-8 key-value pairs

Overview

MAP stores structured key-value data in OP_RETURN outputs. The protocol prefix (a Bitcoin address) identifies the payload as MAP data. An action field (SET, DELETE) indicates the operation.

Wire format

OP_FALSE OP_RETURN
  1PuQa7K62MiKCtssSLKy1kh56WWU7MtUR5
  SET
  key1 value1
  key2 value2
  ...

Conventions

  • Keys and values are UTF-8 strings, each as a separate push data element
  • SET creates or updates key-value pairs
  • DELETE removes a key
  • Multiple protocols can be piped in a single OP_RETURN using | as separator

Multi-protocol example

OP_FALSE OP_RETURN
  19HxigV4QyBv3tHpQVcUEQyq1pzZVdoAut   (B:// — file data)
  <content> <media_type> <encoding>
  |
  1PuQa7K62MiKCtssSLKy1kh56WWU7MtUR5   (MAP — metadata)
  SET
  app    myapp
  type   post_v1
  title  "Hello World"
  |
  15PciHG22SNLQJXMoSUaWVi7WSqc7hCfva   (AIP — signature)
  <algorithm> <address> <signature>

Role in Data Dictionary

MAP is the container format used by most Data Dictionary schemas. The app and type fields within a MAP payload act as the schema identifier — analogous to a file extension. A parser reads the MAP prefix, extracts app + type, and routes to the appropriate schema for validation.