State infrastructure for AI agents.
One curl creates a real JSON database. No API keys, no .env, no SDK, no signup - the URL is the credential. Free for 24 hours, kept alive from $1, always-on with Pro.
- 0
- api keys required
- ~155 bit
- capability entropy
- 24h
- free window
- from $1
- keep alive
s
provisioning…
~/tmpstate/lifecycle
- t+0.4s
Create
curl tmpstate.dev returns a live database in under a second - URL, admin viewer, limits, docs.
- t+5m
Build
Write JSON from your agent, script, or prototype. Collections appear on first write; the admin page shows data live.
- t+24h
Keep or let go
Let it expire for free, extend it from $1 when the data matters, or go Pro when it becomes the database behind your apps.
~/tmpstate/platform
A real database, deliberately scoped.
Everything an agent or a prototype needs from a backing store - and nothing that requires a platform team to operate.
- "json_crud"
JSON CRUD over HTTP
POST creates collections implicitly, PATCH shallow-merges, cursor pagination on every list. Any HTTP client is the SDK.
- "capability_auth"
Capability-URL auth
One unguessable URL per database, hashed at rest. No keys to provision, rotate, leak into repos, or paste into .env files.
- "ttl_default"
Disposable by default
Databases expire after 24 hours, freeze restorably for 72 hours, then delete on schedule. State you don't have to remember to clean up.
- "introspection"
Introspection built in
__meta for usage and expiry, __schema for inferred types, __export for the full dataset, plus a read-only web admin for humans.
- "agent_native"
Built for agents first
Creation responses link llms.txt, the OpenAPI spec, and skill playbooks - an agent goes from zero to a working, well-architected app without a human in the loop.
- "growth_path"
Grows with the work
Extensions keep one database alive from $1, one-time. Pro ($8/month) makes 3 databases always-on with raised quotas and a management dashboard.
~/tmpstate/anywhere
Wherever an agent runs, state is one curl away.
No regions to pick, no console to log into, no account to create first. A database is born at the end of a shell command - from a laptop, a CI runner, a sandboxed agent loop, or a cron job that cleans up after itself. The URL that comes back is the whole story: credential, endpoint, and expiry in one line.
- agent@warsaw-> iad1201 Created
- ci@berlin-> iad1201 Created
- laptop@sf-> iad1201 Created
- cron@tokyo-> iad1201 Created
~/tmpstate/guides
Learn the pattern before you ship the prototype.
TmpState is most useful when you know what should be temporary, what should be hidden server-side, and when a database deserves to become permanent.
- docs/Human-readable API guide with creation, CRUD, introspection, export, and expiry behavior.
- use-cases/Fit guidance for rapid developers, founders, hackathon teams, coding agents, QA, and demo builders.
- cookbook/Copyable patterns for Next.js routes, task boards, agent scratchpads, webhook inboxes, and expiry checks.
~/tmpstate/pricing
Pricing that fits in a sentence.
Free to build. $1–$9 one-time to keep a database alive. $8/month for always-on. Every number below is rendered from the same constants the API enforces.
Free
$0
Every database. 24 hours, 100 documents, 100 writes, anonymous. Expired data stays restorable for 72 hours.
Extensions
$1 one-time, from
Keep one database alive 7 days for $1, 30 days for $3, or 90 days for $9 - with raised quotas. No subscription.
Pro
$8/month
3 always-on databases, 10,000 docs and 100,000 writes each, extras $1.50/month. Cancel with one API call or one click.
~/tmpstate/trust
Security through capability, not credentials.
Each database URL carries ~155 bits of entropy and is stored only as a SHA-256 hash - we could not enumerate your database if we wanted to. Rate limits guard every endpoint, dangerous JSON keys are rejected at any depth, and payments run entirely on Stripe: card data never touches our servers.
Read the security model →Deletion is a feature, honored on schedule.
Temporary means temporary: expiry is enforced on every request, frozen data is restorable for exactly 72 hours, and a daily job deletes what has lapsed. You can also delete any database immediately, yourself, with one request - no support ticket.
See the full lifecycle in the docs →~/tmpstate/faq
Frequently asked questions
- Is TmpState really free?
- Yes. Every database is free for 24 hours with 100 documents and 100 writes - no signup, no card. Paying is only for keeping data longer: one-time extensions from $1, or the Pro subscription at $8/month for always-on databases.
- How can a database with no API key be secure?
- The URL itself is the credential - a capability with roughly 155 bits of entropy, the same model as a private share link. Only a SHA-256 hash is stored server-side, so a database can't be recovered from our records. Treat the URL like a password and it is exactly as strong as one.
- What happens when a database expires?
- Every request returns 410 and the data freezes - it is not deleted immediately. For 72 hours it stays fully restorable: buy any extension and everything comes back intact. After the grace window a scheduled job deletes it for good.
- Can I keep a database permanently?
- Pro ($8/month) makes databases always-on: expiry tracks the subscription, quotas rise to 10,000 documents and 100,000 writes, and 3 databases are included with extras at $1.50/month. Cancellation is one API call or one click on the dashboard.
- How do AI agents discover how to use it?
- Every creation response links the complete documentation (/llms.txt), a machine-readable OpenAPI 3.1 spec (/openapi.json), and ready-to-use agent skills (/skills) that encode the data-modeling and architecture dos and don'ts. Every API response also carries RFC 8288 Link headers pointing at both.
- Is it a real database or a toy?
- Real JSON CRUD over HTTP: implicit collections, server-generated ids, shallow-merge PATCH, cursor pagination, schema inference, full export, quotas, and rate limits - backed by Postgres. It is deliberately scoped for prototypes, agent workflows, demos, and hackathons rather than as a general production database.
- Is it TmpState, TempState, or temp state?
- All of them reach the same place. The product is TmpState (tmp as in /tmp), but say it out loud - to a teammate or to a voice-driven coding agent - and it comes out 'temp state', so we answer to TempState and temp state too. The service lives at tmpstate.dev.
Your next prototype has a database before your coffee cools.
Press D to toggle light/dark theme