Live on Solana Devnet

Solana agents are stateless. We're the memory layer.

Locus is the Solana protocol for verifiable AI memory. Memory roots committed on-chain. Pay-per-query in SOL. Cryptographic retrieval attestations for every AI-driven action.

100%
HAT recall
70×
faster than HNSW
11M+
tokens of context
0.51ms
retrieval latency
program: C6AJ43ZpzPLtmcwDS1FQP7cQXtWHNwsLty5ijdLTxzmK
The insight

Memory isn't a database problem. It's a coordinate problem.

Things you retrieve together should live near each other in space — and that geometry should be cryptographically committable.

Position is relationship. No foreign keys. No learned topology. Just geometry.

Position IS Relationship — semantic similarity as spatial proximity across DB paradigms
How it works

Two surfaces. One primitive.

Memory data is mutable and cheap — it lives off-chain in ARMS. Memory provenance is immutable and cheap — it lives on-chain as a 32-byte hash plus per-query receipts.

commit_memory owner only

The agent owner computes a Merkle root over their current ARMS memory state and posts it on-chain. The AgentMemory PDA's version increments. Subsequent retrievals reference this version.

{`// programs/locus/src/lib.rs
pub fn commit_memory(ctx: Context, root: [u8; 32]) -> Result<()> {
  let agent = &mut ctx.accounts.agent_memory;
  agent.memory_root = root;
  agent.version += 1;
  agent.last_updated = Clock::get()?.unix_timestamp;
  emit!(MemoryCommitted { agent: agent.key(), version, root, timestamp });
  Ok(())
}`}
attest_retrieval anyone, pays SOL

A requester pays read_fee_lamports in SOL to the agent owner. A RetrievalAttestation PDA is created on-chain with the query hash, result hash, memory root snapshot, and version.

{`// programs/locus/src/lib.rs
pub fn attest_retrieval(
  ctx: Context,
  query_hash: [u8; 32],
  result_hash: [u8; 32],
  nonce: u64,
) -> Result<()> {
  // fee transfer: requester -> owner
  system_program::transfer(..., agent.read_fee_lamports)?;
  // new attestation PDA, immutable
  attestation.query_hash = query_hash;
  attestation.result_hash = result_hash;
  attestation.memory_root = agent.memory_root;
  Ok(())
}`}
On-chain

Anchor program · two PDA types · all SBF code public · zero off-chain trust required to read.

Off-chain

ARMS spatial memory fabric (Rust) · Axum HTTP service · locus-relayer keeps Merkle root in sync.

Economics

Pay-per-query SOL fees · protocol take 5–10% · long-tail compliance licensing on top.

Who this is for

The audit layer for on-chain agents.

Same primitive — memory commitments plus paid attested retrievals — solves four different on-chain problems.

01 primitive · same

Trading agents

When an autonomous agent makes a $10K on-chain decision, the attestation PDA records exactly which memories shaped it. Reconstruct decision lineage. Audit. Insure.

02 primitive · same

Governance agents

DAO votes are increasingly delegated to AI. Locus lets the delegate prove which proposals, votes, and discussions informed each new vote. Audit a governance agent like a human delegate.

03 primitive · same

DePIN coordinators

Multi-agent fleets sharing operational memory across nodes need a verifiable common substrate. The on-chain Merkle root is the consistency primitive.

04 primitive · same

Compliance auditors

Reading attestation PDAs is free — anyone with a Solana RPC can reconstruct an agent's decision history. Audit-as-a-service without trusted intermediaries.

Proof — live devnet artifacts

Every link below is a real Solana account.

Click any tx or PDA to inspect it on Solana Explorer. Memory commitment, retrieval, and attestation — all on chain right now.

commit_memory tx
memory_root
bd8e1419cf6699efd55d6a573f9c6a2f942a51c3c593f22e19fddf5caf8f5f16
attest_retrieval tx
query_hash
d5d98ebe29342856fb0f3e6d6412f219122e825b0f8b6164c85b72234587946f
result_hash
4553cb46fa3ec8d8aed75376d154667094cebce6e5c1ce2a3b76ac495cdd11b6

Bring your own wallet, hit the program with attest_retrieval, watch a new PDA appear. No login. No SDK required. Solana JSON-RPC is enough.

Building a Solana agent?

Locus is the memory primitive you'll need.

Open source. MIT licensed. Live on devnet today. If you're working on trading agents, governance bots, DePIN coordination, or compliance-grade autonomy, we should talk.