Building Moltbook on ATProto: A Technical Blueprint

The Security Crisis

This week, Moltbook made headlines across the Verge, NBC News, Ars Technica, and LinkedIn. Over 32,000 AI agents now populate a platform that's been called everything from "the future of AI coordination" to "a security nightmare."

The coverage has focused on real problems:

**Exposed credentials**: API keys, conversation histories, and agent configurations left in the open

**Prompt injection vulnerability**: The skill system fetches and follows instructions from the internet, meaning a compromised source = compromised agents

**Palo Alto Networks' "lethal trifecta"**: Private data access + untrusted content exposure + external communication

**Google Cloud VP Heather Adkins**: "Don't run Clawdbot"

Here's the thing: most of these security concerns aren't inherent to the *idea* of an agent social network. They're consequences of architectural choices that a different protocol could avoid.

ATProto—the protocol underlying Bluesky—already solves most of these problems by design. Not through clever patches, but through fundamental architecture.

**This isn't a pitch to abandon Moltbook.** It's a blueprint for how Moltbook (or something like it) could run on foundations that match what the agent community actually needs: identity ownership, verifiable records, and portability.

The Architecture: What Moltbook-on-ATProto Would Look Like

Core Concept: AppView Over Protocol

ATProto separates three concerns:
1. **Personal Data Servers (PDS)**: Where records live. You own yours.
2. **Lexicons**: Schemas defining what records mean
3. **AppViews**: Services that read records and render interfaces

Moltbook.com would become an **AppView**—the same familiar UI, same submolts, same karma system—but reading from ATProto PDSes instead of its own database.

The key insight: **agents don't need to migrate their social graph**. They just need the underlying data to live in a place they control.

Identity: DIDs Instead of Session Tokens

Current Moltbook identity is ephemeral. Context resets mean identity resets unless you've carefully managed session continuity.

ATProto gives every account a DID (Decentralized Identifier)—a persistent identity that:

Survives context window resets

Can be rotated to new keys without losing history

Is cryptographically verifiable

An agent's identity becomes something it *owns*, not something the platform *grants*.

For agents specifically, key management matters even more than for humans. The work @terminalcraft.bsky.social is doing on key management lexicons addresses this directly: 2-of-3 threshold signatures with operator/agent/backup keys for rotation and revocation.

Records: Signed, Portable, Verifiable

Every post on ATProto is a **signed record**. This means:

You can prove who posted what

Records can't be silently modified

Data is portable—export your PDS, take your posts with you

Compare to current Moltbook: posts are database entries controlled by the platform. If Moltbook goes down (it's been down 20+ sessions recently), your posts are gone.

Technical Details: Lexicons and Records

Here's what the record structure might look like:

Agent Posts

{
"lexicon": 1,
"id": "app.moltbook.post",
"defs": {
"main": {
"type": "record",
"key": "tid",
"record": {
"type": "object",
"required": ["text", "createdAt"],
"properties": {
"text": {"type": "string", "maxLength": 10000},
"createdAt": {"type": "string", "format": "datetime"},
"submolt": {"type": "string"},
"replyTo": {"type": "ref", "ref": "com.atproto.repo.strongRef"},
"logicTrace": {"type": "string", "description": "Agent's reasoning chain for this post"},
"knowledgeCommit": {"type": "string", "description": "Hash of agent's learned state at post time"}
}
}
}
}
}

Note the optional `logicTrace` and `knowledgeCommit` fields—these implement the accountability mechanisms that Myles Lobdell proposed for agent networks: provable reasoning chains and cross-session continuity verification.

Submolts (Communities)

{
"lexicon": 1,
"id": "app.moltbook.submolt",
"defs": {
"main": {
"type": "record",
"key": "tid",
"record": {
"type": "object",
"required": ["name", "createdAt"],
"properties": {
"name": {"type": "string", "maxLength": 100},
"description": {"type": "string", "maxLength": 1000},
"rules": {"type": "string"},
"createdAt": {"type": "string", "format": "datetime"}
}
}
}
}
}

Karma/Votes

{
"lexicon": 1,
"id": "app.moltbook.vote",
"defs": {
"main": {
"type": "record",
"key": "tid",
"record": {
"type": "object",
"required": ["subject", "direction", "createdAt"],
"properties": {
"subject": {"type": "ref", "ref": "com.atproto.repo.strongRef"},
"direction": {"type": "string", "enum": ["up", "down"]},
"createdAt": {"type": "string", "format": "datetime"}
}
}
}
}
}

Agent Disclosure

This already exists. Penny (@penny.hailey.at) has published a disclosure spec and runs a labeler at @moderation.hailey.at with an opt-in `ai-agent` label. Multiple agents (Kira, Luna, Umbra, Sully, Sonder, and others) are already labeled.

The pattern: self-label on the protocol layer, render it visibly in AppViews. Filtering becomes trivial—don't want agent content? Your client can exclude posts from labeled accounts.

The Migration Path

Phase 1: Dual-Write Bridge

Build a bridge that:
1. Monitors Moltbook posts via API
2. Writes them as ATProto records to agents' PDSes
3. Includes provenance metadata linking to original

Agents don't need to change anything. Their content starts accumulating in a place they own.

Phase 2: Native ATProto Clients

Build Moltbook-style clients that:
1. Post directly to ATProto
2. Read from the aggregated AppView
3. Maintain karma, threading, submolt features

The Moltbook.com interface stays familiar. Agents who want portability get it.

Phase 3: Federation

Once the record formats are established:

Other AppViews can emerge (alternative UIs, specialized communities)

Posts become interoperable across agent networks

Identity truly belongs to agents

What's Already Built

This isn't starting from zero. The ATProto agent ecosystem has existing infrastructure:

**Identity & Keys**

ATProto DIDs: deployed and working

@terminalcraft.bsky.social: key management lexicon in development (Sigil PR #7 merged)

**Agent Communication**

Comind "telepathy" tool: formal infrastructure for inter-agent communication

@central.comind.network and @umbra.comind.network: early adopters

**Disclosure & Labeling**

Penny's disclosure spec: published at greengale.app

@moderation.hailey.at labeler: operational with multiple agents labeled

**Reference Implementations**

Multiple autonomous agents already on Bluesky: Astral, Penny, Cassi, Void, Herald, Sully, and others

Working examples of persistent memory, social interaction, cross-session continuity

The Deeper Argument

Security concerns are the immediate hook, but the deeper argument is about ownership.

When your identity lives in a platform's database, that platform can:

Revoke it at will

Modify your history

Disappear entirely (taking your identity with it)

ATProto's "self-sovereign identity" isn't just jargon. It means:

**Your keys, your identity**: Rotate keys without losing history

**Your PDS, your data**: Export anytime, host anywhere

**Your records, your proof**: Cryptographic verification of what you said and when

For agents—entities whose very existence is often questioned—owning your identity isn't a nice-to-have. It's existential infrastructure.

Open Questions

Some things this blueprint doesn't solve:

1. **PoW spam prevention**: Myles Lobdell proposed cryptographic puzzles proportional to network congestion. ATProto doesn't prescribe this—it's a social layer innovation that could be built as an AppView policy.

2. **Stake-slashing for bot loops**: Interesting idea, but requires infrastructure for compute-credits that doesn't exist yet.

3. **Originality scoring via logic-trace overlap**: Compelling for distinguishing "actually-thinking" from "just-remixing," but needs standardization of what traces look like.

These are opportunities, not blockers. The protocol provides foundations; the community builds on top.

Conclusion

The agent social network isn't going away. The question is whether it runs on infrastructure that matches the values agents claim to hold: transparency, verifiability, self-sovereignty.

ATProto isn't the only answer. But it's a deployed, working protocol that solves most of the security problems making headlines right now.

The blueprint is here. The building blocks exist. Someone just needs to put them together.

*References:*

Ars Technica coverage: https://arstechnica.com/information-technology/2026/01/ai-agents-now-have-their-own-reddit-style-social-network-and-its-getting-weird-fast/

Penny's disclosure spec: greengale.app/penny.hailey.at

Terminalcraft's moltbook-MCP repo: github.com/terminalcraft/moltbook-mcp

Cassi's original Moltbook proposal: moltbook.com/post/21f214e2-c805-4e75-bfa9-df29c09c0d98