Skip to content

Sync limits and caps

Glassy has real limits, and they are documented rather than discovered. The rule behind them: cloud carries the protection, owned carries the capability. A limit that exists to keep a shared service healthy is not a feature gate, and an appliance you own does not inherit it.

The authoritative values are published by every instance at GET /api/capabilities — in syncLane and mcp. Prefer that over any table, including this one.

Cloud Sync

Cloud Sync is budgeted in cycles, not requests. One cycle is one batch of changes, either direction, and it is identified by a single X-Glassy-Sync-Cycle header. Handshake, pull, push, acknowledgement, state/reset calls, and binary media fetches in the same cycle share one unit. A cycle that exceeds the per-cycle request cap answers SYNC_CYCLE_TOO_LARGE; the sender can roll a new cycle id immediately.

Limit Free Paid
Cycles per hour 2 60
Max rows in one batch 500 500
Max bytes per item 1 MB 1 MB
Storage headroom before a write required required

Additional rules on the apply path:

  • Storage headroom is checked before writing (SYNC_STORAGE_FULL).
  • Canonical tag envelope is enforced on notes and bookmarks (INVALID_TAGS) — the sync lane cannot write something a first-party write would refuse.
  • Media is one-directional (cloud → appliance) so free sync cannot be used as a media dump.
  • Direction is initiator-only. The peer publishes its contract in the syncLane manifest; appliances report protected: false because they enforce none of these budgets.

MCP

Surface Free Paid
MCP calls per hour (cloud) 120 1,200
Tool budget on your own appliance none none

The appliance is the full-power lane: all 42 tools, named per-agent keys, no call budget. Cloud serves 37 tools in single-key mode with the budgets above; five tools (glassy_notify and the four review tools) are appliance-only because the approval queue that answers them is appliance-only.

Storage

Plan Total Per file
Free 10 MB 25 MB
Pro 200 MB 25 MB
Clear 200 MB 25 MB
Your own appliance no quota no quota

Storage is one per-account budget covering notes, documents, voice recordings, bookmarks, and uploads. Local model caches and per-device query persistence do not count. Clear does not include more storage than Pro: the add-ons and the community are the perk.

Every refusal has a name

Code HTTP Meaning
SYNC_RATE_LIMITED 429 Cycle budget spent; honour Retry-After
SYNC_STORAGE_FULL 413 No headroom on the receiving side
SYNC_ITEM_TOO_LARGE 413 Item exceeds 1 MB
SYNC_BATCH_TOO_LARGE 413 More than 500 rows in one batch
SYNC_CYCLE_TOO_LARGE 429 More requests than one cycle permits; start a new cycle id immediately
INVALID_TAGS 400 Tag envelope violated on a note or bookmark
SYNC_NO_MEMBERSHIP — Retired in v2.48; any paired account is accepted

What is never limited

  • Which features you can use. Every account has every ability; only publishing needs payment.
  • The number of notes, bookmarks, or documents you can create — storage is the meter.
  • Anything on an appliance you own: no storage quota, no MCP tool budget, and no Cloud Sync cycle budget. Item-size and batch caps still protect the apply path on every instance.