01Obsidian

BlockchainData blobs

Store signed binary data directly in the blockchain. Up to 8KB per message across 10 parallel lanes, with 100 MB of aggregate capacity per slot and standard RPC retrieval.
02Section 02

What areData blobs

A data blob on Obsidian is a signed message containing arbitrary binary data. Unlike smart contract storage, blobs do not execute code. They commit your data into canonical chain history with archive-backed retrieval.

Message = {
  sender:    0x742d35Cc6634C0532925a3b844Bc9e7595f...  // Who signed it
  payload:   0x48656c6c6f20576f726c64...              // Your data (opaque bytes)
  signature: 0x1b2c3d4e5f...                          // ECDSA proof
  nonce:     0x0000000000000001                       // Replay protection
  chainId:   0x1a5                                    // Obsidian mainnet
  bid:       0x0                                      // 0 = feeless (SM)
}

Opaque bytes.

The protocol does not interpret your payload. Store any format: JSON, protobuf, encrypted data, raw binary.

Cryptographically signed.

Every blob includes an ECDSA signature proving authorship. Verified at submission, gossip, and consensus.

Finalized and archived.

Once included in a block, ordering is finalized on-chain while archive nodes preserve long-term retrieval. No pinning required.

03Section 03

Capacity andThroughput

8 KB
Max blob size
Per message.
100 MB
Per slot
60 MB SM + 40 MB PM.
10
Lanes
Parallel message lanes.
263 TB
Per year
At full slot utilization.
MetricValueNotes
Slot time12 secondsStandard slot duration.
Slots per day7,20086,400s / 12s.
Lane count10Parallel message lanes.
PM budget40 MB / slot4 MB per lane across 10 lanes.
SM budget60 MB / slot6 MB per lane across 10 lanes.
Annual capacity263 TB100 MB x 7,200 x 365.
04Section 04

RpcMethods

Query and store data blobs using standard JSON-RPC. All message-specific methods are prefixed with eth_ for compatibility.

Write methods

eth_sendMessageBlob
Submit a new message to the network.
eth_sendRawMessage
Submit pre-signed raw message bytes.

Read methods

eth_getMessageByHash
Retrieve message by its hash.
eth_getBlockMessages
Get all messages in a block.
eth_getMessagesByAddress
Query messages by sender address.
eth_getMessagePendingCount
Check current pending message count.

Example: query by sender

// Get all messages from an address
const messages = await provider.send(
  "eth_getMessagesByAddress",
  [
    "0x742d35Cc6634C0532925a3b844Bc9e7595f...",
    "0x0",
    "latest"
  ]
);

// Each message includes:
// - hash, sender, payload
// - blockNumber, targetBlock
// - available
05Section 05

StorageModel

Full nodes.

Full nodes verify the canonical chain and message commitments. Availability is attested during the serve window, while archive nodes preserve long-term message history for retrieval.

  • Canonical commitments verified by full nodes.
  • Verified by consensus.
  • Part of block history.

Archive nodes.

Archive nodes store complete historical data. Obsidian supports sharded archives where nodes store specific epoch ranges.

  • Full historical access.
  • Sharded storage option.
  • Incentivized preservation.

Sharded archive example

Shard 1: Epochs 0 - 1,000      // Genesis to early history
Shard 2: Epochs 1,001 - 2,000  // Growing archive
Shard 3: Epochs 2,001 - 3,000  // Recent history
...

Lower hardware requirements.
Same complete history.
More operators.
06Section 06

Data blobUse cases

IoT and sensor data.

Store device telemetry, sensor readings, and machine logs with cryptographic proof of origin and timestamp.

Document notarization.

Hash and store document proofs for legal records, contracts, and compliance requirements.

Supply chain tracking.

Record product movements, certifications, and custody transfers with immutable audit trails.

Scientific data.

Publish research data, experimental results, and datasets with verifiable attribution.

Financial records.

Store transaction logs, audit data, and compliance records that regulators can verify.

Social and media.

Build social applications where user content is truly owned and can never be deleted.

Start storing data on-chain.

Archive-backed, queryable, cryptographically signed data blobs.