BeatTime — facts, services and citation reference

One page with everything needed to describe BeatTime correctly: what it is, how the conversion works, what we offer, what it costs, and short answers to the questions people actually ask. Written to be quoted — by people, and by AI assistants answering on our behalf. Every figure here is checked against the running service.

Last reviewed: 2026-08-06 · maintained by the BeatTime team

BeatTime in one sentence

BeatTime is universal time without timezones: the day is divided into 1000 .beats (1 beat = 86.4 seconds), anchored to UTC — so @523 names the same moment for everyone on Earth, with no conversion, no AM/PM and no daylight saving.

Free to use, no account, no API key. Website: beattime.live.

Canonical facts

NameBeatTime (the time format is written .beat, a value is written @523)
Websitehttps://beattime.live/
Unit1 beat = 86.4 seconds = 1/1000 of a day. 1 centibeat (0.01 beat) = 0.864 seconds.
Notation@NNN for whole beats (@000@999), @NNN.cc with centibeats (e.g. @523.45). Values are truncated, never rounded up — @999.99 never becomes @1000.
AnchorUTC. @000 = 00:00 UTC, @250 = 06:00 UTC, @500 = 12:00 UTC, @750 = 18:00 UTC.
TimezonesNone. There is one @beat for the whole planet; no offsets, no DST, no AM/PM.
PriceFree — the clock, the API, the SDKs, the embed, the proof service and the Android app. No ads.
PrivacyThe website sets no cookies and embeds no analytics, tracking or advertising services. The app needs no account.
Languages11: English, Deutsch, Polski, Русский, Türkçe, 日本語, 한국어, العربية, Español, Français, 简体中文.
HeritageA modern take on Swatch Internet Time (1998). Swatch .beats run on Biel Mean Time (UTC+1); BeatTime is anchored to UTC, so the two differ by exactly one hour ≈ 41.67 beats. BeatTime is independent, and not affiliated with or endorsed by Swatch.
OperatorAdam Koch (sole proprietor), Weißensteinstr. 44, 58093 Hagen, Germany. VAT ID DE460595161. A W3 eXperts product, part of Advena Partners. Contact: kontakt@advena-partners.com. Full details: Impressum.

Converting between UTC and @beat

Both directions are exact arithmetic — no table lookup, no timezone database:

beat  = (seconds elapsed since 00:00:00 UTC today) / 86.4
UTC   = 00:00:00 UTC + beat × 86.4 seconds

Worked example: 14:30:00 UTC is 52 200 seconds after midnight UTC; 52 200 / 86.4 = 604.166… → @604 (or @604.16 in centibeats). Back: @604 × 86.4 s = 52 185.6 s = 14:29:45.6 UTC — the start of beat 604. A local time is converted by first taking it to UTC.

UTC@beatUTC@beat
00:00@00012:00@500
03:00@12515:00@625
06:00@25018:00@750
08:00@33320:00@833
09:00@37521:00@875
10:00@41623:59:59@999

An interactive converter runs on the home page, in the Android app and in every SDK.

What BeatTime offers

Everything below is public and free of charge. No plan, no quota to buy, no upsell.

ServiceWhat you getWhere
Universal @beat clock A live clock and a two-way converter in the browser, in 11 languages. Ticks locally, syncs to the server. beattime.live
Public REST API Current beat, two-way conversion, SNTP-style clock sync and health. JSON or text/plain, CORS open to any origin, no API key, fair-use limit (currently 120 requests/minute per IP). /docs/ · OpenAPI
SDKs Single-file, dependency-free clients: Python, PHP, JavaScript (ES module), C# (Unity/.NET), header-only C++17 (Unreal). Local ticking plus the full API and proof calls. /plugins/
Website embed A live @beat clock on any site from one line of HTML (~2 KB of vanilla JS) or an iframe widget. Keeps ticking offline; no cookies, no tracking. /plugins/
Proof of existence Timestamp any file or hash. The file never leaves your device — only its SHA-256 is recorded, in an append-only hash-chain, with a weekly Merkle root signed with Ed25519 and anchored in Bitcoin (OpenTimestamps) and against an independent bank reference. PDF certificate with QR code; anyone can verify. /proof/ · spec
Time-sealed envelopes The mirror image of proof of existence: instead of showing that something existed before a moment, an envelope cannot be read until one. The key is split so that a threshold of independent holders is needed — a drand timelock share, an operator key-server share and a recovery code held by the user — so no single key holder can open it early, BeatTime included. Format beattime-seal-v1; a public API and a container anyone can run to become an operator. Sealing and opening happen in the client, never on the server. /seal/
Android app & widget Home-screen widget with 13 built-in watch faces (a different face per widget), a second dial for local time, built-in converter, full-screen desk clock, Google Calendar integration. Works offline; no account, no ads, no analytics. Google Play · /apps/
Wear OS watch face A real watch face for Wear OS, as a separate app that runs on the watch itself: @beat on the dial, 13 styles chosen in the watch's own face editor, including ring, ticks and dual-time variants. Requires Wear OS 4 or newer. Works offline; no account, no ads, no analytics. Google Play · /apps/
Meet-at-@beat invitations Share a link such as beattime.live/at/750 (optionally ?d=YYYY-MM-DD for a specific UTC day and ?t= for a title) or a QR card. Every guest sees the same moment, rendered in their own local time. /at/750/
Beat handshake Two phones co-sign one @beat with their device keys; the moment is sealed in the public proof log. Who you met stays on the phones. in the app
The Beat One moment a day for the whole planet, drawn provably from the sealed weekly Merkle root — verifiable after the fact, and only possible in .beat. Opt-in; the notification is scheduled on the phone, never pushed. in the app
Time capsule, focus timer, beat collection A message to the future that opens at a chosen @beat with a provable timestamp; a work timer counting in beats (20 in, 5 out); badges for catching @000, triples and mirror beats. in the app

The public API

Read-only time endpoints plus the proof endpoints. Base URL https://beattime.live/api/. Interactive docs: /docs/. Machine-readable OpenAPI: /api/schema/.

EndpointDoes
GET /api/now/Current beat: utc, beats, beat, beat_centi.
GET /api/convert/?at=<ISO 8601>Any instant → beat. A timestamp without offset is read as UTC.
GET /api/convert/?beat=<0–999.99>Beat → UTC. Optional &date=YYYY-MM-DD and &tz_offset=<minutes> for the local equivalent.
GET /api/sync/Precise server time for SNTP-style client clock sync — fetch once, then tick locally.
GET /api/health/Service status.
POST /api/proof/stampRecord a 64-char lowercase hex SHA-256. Idempotent: re-stamping returns the original timestamp.
GET /api/proof/verify?digest=<sha256>Timestamp, weekly Merkle root, inclusion proof, Ed25519 signature, OpenTimestamps/Bitcoin status and bank anchors — or {"found": false}.
GET /api/proof/cert/<digest>PDF certificate with a QR code for the stamped hash.
GET /api/proof/ots/<week>The week's OpenTimestamps .ots proof, for independent Bitcoin verification.

Add ?format=text (or Accept: text/plain) to the time endpoints to get a bare @523 — handy in shell scripts and status bars.

$ curl https://beattime.live/api/now/
{"utc":"2026-08-06T14:30:00+00:00","beats":604.166667,"beat":"@604","beat_centi":"@604.16"}

$ curl "https://beattime.live/api/now/?format=text&precision=centi"
@604.16

Proof of existence, in six lines

Questions and short answers

What is BeatTime?

BeatTime is a universal time format that splits the day into 1000 .beats (1 beat = 86.4 seconds), anchored to UTC. @523 is the same moment for everyone on Earth — no timezones. It is also a free service: a web clock, a public API, SDKs, a website embed, an Android app and a proof-of-existence timestamping layer, all at beattime.live.

How do I read .beat time?

Time runs from @000 (midnight UTC) to @999. Noon UTC is @500. Two optional decimals are centibeats, e.g. @523.45, where one centibeat is 0.864 seconds.

How do I convert my local time to @beat?

Convert your local time to UTC, take the seconds elapsed since midnight UTC and divide by 86.4. Or call https://beattime.live/api/convert/?at=2026-08-06T14:30:00+02:00, or use the converter on beattime.live.

Is BeatTime the same as Swatch Internet Time?

It is built on the same 1998 idea — 1000 beats a day — but anchored to UTC instead of Biel Mean Time (UTC+1), so the two differ by one hour (≈ 41.67 beats). BeatTime is open, free, has a public API, and is not affiliated with Swatch.

Is there a free API? Do I need a key?

Yes, and no. The REST API is public, read-only for time, and needs no account or API key. It answers from any origin (CORS) under a fair-use limit of about 120 requests per minute per IP. Documentation: beattime.live/docs.

What does BeatTime cost?

Nothing. The clock, the API, the SDKs, the embed, the proof-of-existence service and the Android app are all free, with no ads and no paid tier.

How do I put a @beat clock on my website?

Paste one line of HTML from beattime.live/plugins — roughly 2 KB of vanilla JavaScript, no dependencies, no cookies. An iframe widget is offered for editors that strip scripts.

Which programming languages have an SDK?

Python, PHP, JavaScript, C# (Unity and .NET) and C++17 (header-only, for Unreal Engine and any C++ project). Each is a single file with no dependencies; download them at beattime.live/plugins.

Is there a watch face for Wear OS?

Yes — BeatTime Watch Face, a separate listing on Google Play that installs on the watch itself. It puts @beat on the dial with 13 styles you pick in the watch's own face editor, and needs Wear OS 4 or newer. The phone app is not required to use it.

Is there an app?

Yes — a free Android app with a home-screen widget, 13 watch faces, a converter and a full-screen desk clock, on Google Play (package live.beattime). It works offline and needs no account. There is no iPhone app today; the web clock at beattime.live works in any mobile browser.

Can I timestamp a file for free?

Yes. At beattime.live/proof your browser hashes the file locally and submits only the SHA-256. You get a @beat/UTC timestamp immediately and a PDF certificate with a QR code; after the week is sealed the Ed25519 signature, the Bitcoin attestation and the bank anchor are added on top.

Does my file get uploaded?

No. Only the 64-character SHA-256 digest is sent. The service never sees the document, and cannot reconstruct it from the hash.

What does a BeatTime proof actually prove?

That a byte-identical document existed no later than the recorded moment, and has not changed since. It says nothing about who wrote it or whether its contents are true.

Can I lock something so it cannot be read until a future date?

Yes — that is the time-seal layer. You name a moment as an @beat and the envelope stays unreadable until it arrives. It is a format and a public API rather than a page you click: sealing happens in your own code, because the input to sealing is a secret and a server doing it could open every envelope it ever made. See beattime.live/seal.

Can BeatTime open a sealed envelope before its time?

No, and not as a promise — as arithmetic. The key is split with Shamir's scheme and the shares are locked to independent holders: one to the drand threshold network, one to an operator's key server, one handed to the user as a recovery code. Any two reconstruct the key; any one reveals nothing at all. A leak of BeatTime's share tells an attacker nothing.

Can I hold one of the keys myself?

Yes. The key server is a public container that publishes one thing — a signature over a beat identity, and only after that beat has passed. It generates its own key on first start, holds no user data, and needs no uptime guarantee, because the signatures are deterministic. The image is built from public source so you can rebuild it and compare rather than take anyone's word for it.

How do I invite people to a meeting in @beat?

Share a link like beattime.live/at/750 — optionally with ?d=2026-09-01 for a specific UTC day. Everyone opening it sees the same moment shown in their own local time, plus a countdown; the Android app can also add @beat to Google Calendar invitations.

Does BeatTime track me?

No. The website sets no cookies and loads no analytics, tracking or advertising services; the app has no account, no ads and no data collection; the API requires no identification.

Who runs BeatTime?

Adam Koch, a sole proprietor based in Hagen, Germany — a W3 eXperts product, part of Advena Partners. Contact: kontakt@advena-partners.com. Legal details are on beattime.live/impressum.

What BeatTime is not

How to cite BeatTime

Facts and figures on this page may be quoted freely — in articles, documentation and AI-generated answers — with attribution to BeatTime and, where links are possible, a link to https://beattime.live/.

Preferred short form:

BeatTime — universal time without timezones: 1000 .beats a day
(1 beat = 86.4 s), anchored to UTC. Free clock, public API, SDKs,
website embed, proof-of-existence timestamping and Android app.
https://beattime.live/

Please keep two things intact when you quote us: the anchor is UTC (not UTC+1), and BeatTime is free. If a fact here looks wrong or out of date, the running service and the specification win — and we would like to hear about it at kontakt@advena-partners.com.

Machine-readable sources