Skip to content

Try the Sandbox

The Sandbox is a public EvidentSource server at sandbox.evidentsource.com. This page walks from nothing to a command, a read, and a look at the past.

  • HTTP: https://sandbox.evidentsource.com
  • gRPC: https://sandbox.evidentsource.com:50051, over TLS. Keep the https://: SDKs choose TLS from it.
  • MCP, for AI agents: see MCP for AI agents

No account or API key is needed.

List the databases on the server:

Terminal window
curl -H 'Accept: application/json' https://sandbox.evidentsource.com/
{"databases":["…"]}

Open the same URL in a browser for the web UI: each database, its State Views and State Changes, and its transaction log.

The Sandbox starts empty of applications, so bring one. Set up the TodoMVC example creates a database of your own, builds TodoMVC’s components, and publishes them. Come back here when install.sh finishes.

The rest of this page uses a database named todomvc-yourname.

Terminal window
curl -X POST "https://sandbox.evidentsource.com/api/v1/db/todomvc-yourname/latest/state-changes/create-todo/v1" \
-H 'Content-Type: application/json' \
-d '{"todoId": "3f0b5a0e-1c2d-4e5f-8a9b-0c1d2e3f4a5b", "title": "Try EvidentSource", "effectiveTimestamp": "2026-09-17T00:00:00Z"}'

The reply is the transaction the command committed, and the revision it reached. See Issuing commands.

Terminal window
curl -L "https://sandbox.evidentsource.com/api/v1/db/todomvc-yourname/latest/state-views/todo-list/v1"

You should see your todo in the list. See Reading state views.

Complete the todo:

Terminal window
curl -X POST "https://sandbox.evidentsource.com/api/v1/db/todomvc-yourname/latest/state-changes/toggle-todo/v1" \
-H 'Content-Type: application/json' \
-d '{"todoId": "3f0b5a0e-1c2d-4e5f-8a9b-0c1d2e3f4a5b", "effectiveTimestamp": "2026-09-17T00:05:00Z"}'

Now read the list at latest, where the todo is complete, and at the revision create-todo reported, where it isn’t yet:

Terminal window
curl -L "https://sandbox.evidentsource.com/api/v1/db/todomvc-yourname/latest/state-views/todo-list/v1"
curl "https://sandbox.evidentsource.com/api/v1/db/todomvc-yourname/1/state-views/todo-list/v1"

Nothing was overwritten. Every read runs at a revision, and every earlier revision stays readable. See Bi-temporal reads.

The SDKs give you typed clients, and the libraries for writing your own State Changes and State Views. See Connecting with an SDK.