Clerk promises at least 30 days' notice before billing M2M tokens
Clerk made machine-to-machine tokens generally available on October 14, 2026, with production-stable APIs and billing not yet live. Clerk says it will give at least 30 days' notice before charges start, so teams can count usage first.
The Engineer · Build desk

What happened
- The SDK mints opaque M2M tokens by default, and the createToken() reference also supports a JWT format.
- Clerk's machine-authentication guide separates M2M tokens from OAuth access tokens used on behalf of a user and from API keys that an app's users create.
- Clerk's reference documents minRemainingTtlSeconds for server-side reuse of opaque tokens that share machine, claims and scope.
Why it matters
- cost The post lists no price and no billing unit, so the only forecast input before the meter starts is a baseline of a team's own creation and verification counts.
- constraint Clerk does not currently support the OAuth client-credentials flow, so a caller built on it cannot move to M2M tokens as a swap, and user-delegated calls need a separate design.
- decision Token format sets whether each check is a network call to Clerk or a local one, which makes it a failure-mode choice before it is a billing choice.
- exposure Credentials copied from a developer account are exposure today, whatever Clerk eventually charges, and the post says an inventory often finds them.
Clerk's dashboard now charts token creation and verification as two series, according to the GA announcement as a dev.to post relays it [3]. They are separate because they count different events. Creation happens when a worker mints a credential. Verification happens when a receiving service checks one. The post warns that a very short lifetime can raise creation traffic if workers keep minting new credentials [10].
Token format decides where verification happens. The SDK creates opaque tokens by default [7]. Per the createToken() reference, opaque tokens use the server-side verification path, and JWTs can be verified locally without a network request [8]. The post frames the tradeoff this way: local verification can reduce a request dependency, and opaque verification gives a centralized check [9].
That choice will matter for the bill. The post does not say what Clerk will charge or which of the two events it will meter [18]. Until Clerk says, a team can only measure its own counts under each format.
Reuse is the lever on the creation side. Per Clerk's reference, the minRemainingTtlSeconds parameter lets the server reuse an opaque token when the machine, the claims and the scope all match [11]. A worker that starts often could hold one token until it nears expiry instead of minting one per start. The post tells teams to assess whether that reuse is safe and to set an expiration that fits the job's operational window [12]. A very long lifetime pulls the other way, because it extends the exposure window [10].
In our view, the creation count is the one a team can change cheaply, because reuse is a parameter. The verification count follows request volume under opaque tokens. Whether that matches Clerk's meter is unknown.
The post's sequence for adopting M2M tokens, in order:
1. Build a table that lists each caller with the service it calls, the operation it performs, the credential it uses now, the data it needs and who owns it. Cover HTTP calls between services as well as cron jobs, queue consumers, internal webhooks and deploy jobs [13]. 2. Give each workload its own identity. The post says separate identities make it easier to revoke one job without disrupting others [15]. 3. Deploy the receiving service's verification path before switching any caller [15]. 4. Switch one caller at a time, with a rollback plan for each [15]. 5. Read creation and verification counts separately before deciding which calls belong on M2M credentials and which stay user-delegated [17].
The post also says M2M tokens are not a reason to replace user sessions or every existing API key [16].
What to watch
- Clerk's billing notice: it must arrive at least 30 days before charges start, and it should state the price and which events are metered.
- Whether Clerk counts locally verified JWTs as billable verifications.
- Whether Clerk adds OAuth client-credentials support, which the guide says is absent today.
Clarity's read
What the record supports and how the coverage leans. The claims behind it follow.
Reality
- Evidence45
- Adoption
- Insufficient
- Hype gap
- Insufficient
- Incentives60
- Confidence55
Claim ledger
Ranked by verification strength, evidence, and original report placement.
- [1]
Clerk's machine-to-machine (M2M) tokens reached general availability on October 14, 2026.
- [2]
Clerk's GA announcement says the M2M token APIs are stable for production.
- [3]
The GA announcement adds dashboard charts for token creation and verification activity.
- [4]
The announcement reiterates planned usage charges but says billing is not live and that Clerk will provide at least 30 days' notice before it begins.
- [5]
Clerk's machine-authentication guide distinguishes M2M tokens for communication between services in your infrastructure from OAuth access tokens used to act on behalf of a user and from API keys that your application's users create.
- [6]
The guide says Clerk does not currently support the OAuth client-credentials flow.
- [7]
Clerk's SDK creates opaque M2M tokens by default, and its createToken() reference also supports JWT format.
- [8]
The createToken() reference says JWTs can be verified locally without a network request, while opaque tokens use the server-side verification path.
- [9]
Local verification can reduce a request dependency, while opaque-token verification gives a centralized check; these are different operating tradeoffs.
- [10]
A very short token lifetime can increase token creation traffic if workers repeatedly mint credentials; a very long one can extend the exposure window.
- [11]
Clerk's reference documents minRemainingTtlSeconds for server-side reuse of opaque tokens with matching machine, claims, and scope.
- [12]
The post advises setting an expiration that fits the job's operational window and assessing whether a frequently starting worker can safely reuse a token until it approaches expiration.
- [13]
The post suggests a table recording caller, receiver, operation, current credential, required data, and owner, including cron jobs, queue consumers, internal webhooks, deployment jobs, and service-to-service HTTP calls.
- [14]
The post says building this inventory often reveals credentials that were copied from a developer account or reused because they were easy to provision.
- [15]
The post advises against a single shared 'backend' identity because separate identities make it easier to revoke one job without disrupting others, and advises deploying the receiving service's verification path before switching callers, with a rollback plan that changes one caller at a time.
- [16]
The post says M2M tokens are not a reason to replace user sessions or every existing API key.
- [17]
The post's recommended first step is an inventory rather than a broad migration: identify service-to-service calls, assign an identity to each caller, measure token creation and verification separately, then decide which calls belong on M2M credentials and which stay user-delegated.
- [18]
The post does not state what Clerk will charge or which events, creation or verification, will be metered.
Get this ledger inside ChatGPT. Ask about any of our stories and the answer brings its figure, each claim’s verdict and the sources. Free, no account.
Sources
1 independent publisher whose own reporting we read for this story.
- dev.toClerk M2M Tokens Are GA: How to Budget and Scope Service Credentials
1 article · October 13, 2026
Topics and entities
Follow any of these and your For You feed starts watching them — no settings page required.