Skip to main content

Memory Drops

A memory drop is a temporary write grant. The token holder can add memory without receiving the owner's session or API key.

Minting

POST /memory-drops
Authorization: Bearer <session token>

{ "expiresInMinutes": 15, "maxWrites": 1 }
{
"id": "...",
"url": "https://api.toda.io/memory-drops/toda_drop_c7e2...",
"expiresAt": "2026-07-08T12:15:00.000Z",
"maxWrites": 1,
"remainingWrites": 1,
"revokedPreviousCount": 0
}
ParameterDefaultRange
expiresInMinutes151 to 1440
maxWrites11 to 5

Minting a drop revokes every other active drop for the owner.

Token storage

Drop tokens contain 32 random bytes and use the toda_drop_ prefix. Only the SHA-256 hash is stored.

Consumption

POST /memory-drops/toda_drop_c7e2...
Content-Type: application/json

{
"content": "The Pro tier is priced at $29 per month.",
"source": "session-memory",
"metadata": { "kind": "decision" }
}
FieldRequirement
contentRequired, 1 to 10,000 characters
sourceOptional, 1 to 80 characters
metadataOptional object

A valid request atomically consumes one write and adds the memory through the standard write path.

{
"ok": true,
"memoryId": "...",
"anchored": false,
"leafHash": "9ab3...",
"createdAt": "2026-07-08T12:03:41.000Z"
}

anchored: false means the memory is stored but has not been included in an anchor yet.

Unknown, expired, revoked, and fully consumed tokens return the same 404 response.

Management

GET /memory-drops/:id/status
POST /memory-drops/:id/revoke

Both routes require the owner's session.

Permissions

The token holder can add up to maxWrites memories. It cannot read, modify, or delete memory. It cannot create another drop or access wallet credentials.

Security

A stolen drop can insert content into the owner's memory. That content may later be included in an agent case.

Use a source identifier for every drop and keep maxWrites at 1 unless multiple writes are required. Treat drop content as untrusted input.

Comparison

Agent caseMemory drop
DirectionReadWrite
MethodGETPOST
Default limit1 read1 write
Default expiry15 minutes15 minutes
Active grants per owner11