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
SETcreates or updates key-value pairsDELETEremoves 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.