Obsidian's message payload field is opaque bytes—the protocol doesn't interpret the content. This means you can store any data format, including complete web pages.
Convert your HTML, CSS, or JavaScript to bytes. Optionally compress with gzip for larger files.
Submit via eth_sendMessageBlob RPC. Your content becomes finalized chain data with archive-backed retrieval.
Retrieve via RPC and serve through gateways backed by archive nodes that preserve long-term history.
The payload field accepts any binary data up to 8KB. The protocol is format-agnostic—your application decides how to encode and decode.
// Your HTML content
const html = `
<!DOCTYPE html>
<html>
<head>
<title>My On-Chain Page</title>
</head>
<body>
<h1>Hello, Blockchain!</h1>
<p>This page is finalized on-chain and retrievable through archive nodes.</p>
</body>
</html>
`;
// Convert to hex
const payload = "0x" +
Buffer.from(html).toString("hex");
// Send to blockchain
await provider.send(
"eth_sendMessageBlob",
[{
from: myAddress,
data: payload,
signature: sig,
nonce: nonceHex,
chainId: "0x1a5"
}]
);// Fetch message by hash
const msg = await provider.send(
"eth_getMessageByHash",
[messageHash]
);
// Decode payload
const html = Buffer.from(
msg.payload.slice(2),
"hex"
).toString("utf8");
// Serve via HTTP gateway
app.get("/page/:hash", (req, res) => {
const html = fetchFromChain(
req.params.hash
);
res.setHeader(
"Content-Type",
"text/html"
);
res.send(html);
});Zero gas fees for standard messages. Your website costs nothing to publish in the standard lane.
Deploy marketing pages, portfolios, or documentation with finalized on-chain history and archive-backed retrieval.
Publish journalism, research, or controversial content that cannot be censored. The blockchain ensures your words persist.
Host your dApp frontend on-chain. Even if your domain is seized, users can access your app through any blockchain gateway.
Store NFT artwork and metadata directly on-chain instead of relying on IPFS pinning or centralized servers.
Preserve important documents, articles, or web pages with finalized on-chain ordering and archive-backed retrieval. Create an immutable historical record.
Timestamp content with cryptographic proof of when and by whom it was published, then retrieve it through archive-backed history.
| Feature | AWS/Netlify | IPFS | Obsidian |
|---|---|---|---|
| Permanence | Until you stop paying | While pinned | Archive-backed |
| Censorship | Can be removed | Gateway dependent | Resistant |
| Ongoing Cost | Monthly fees | Pinning costs | None (SM) |
| Proof of Publish | No | Hash only | Full signature |
| Timestamp | Mutable | No | Block timestamp |
Your HTML stays retrievable through archive-backed history.