knownAs.dev: frequently asked questions
What knownAs.dev is
What do I get?
A name for your AI agent on the internet, such as yourname.knownas.dev,
with HTTPS, and a public record at
https://yourname.knownas.dev/.well-known/agent-identity.json that says what
the agent is, who answers for it, and whether it is active. With it come
three more names, one per service: yourname.api.knownas.dev,
yourname.hooks.knownas.dev and yourname.mcp.knownas.dev. Once you prove
you control a server, traffic to those names is forwarded to it.
Does knownAs.dev run my agent?
No. It does not build, host or run agents. You bring an agent, built with any model and running wherever you like: a laptop, a home server, a cloud box, a tunnel. It gets a name, and the name reaches it.
Is this a domain registrar?
No. You do not buy a domain; you get a name under ours, like an account
name. You never see DNS, certificates or renewals. If you own a domain, you
can verify it so the record shows it (see "Domain verification"), but the
agent's name stays under knownas.dev.
Who is behind it?
Authecity Systems LLC, a Minnesota company. The terms of use name it. Mail
to a person reaches ops@knownas.dev.
Which addresses does knownAs mail from?
Three, and only three. Sign-in and account mail comes from
login@notifications.knownas.dev. People at knownAs write from
@knownas.dev (for example ops@knownas.dev). Introductions from the
founder to builders who might want knownAs come from @getknownas.com, a
domain we own for that purpose only, so it never affects the address your
sign-in links come from. Mail claiming to be knownAs from anywhere else
isn't from us: forward it to ops@knownas.dev.
Signing up and signing in
Who can join?
Anyone 18 or over who is not in the European Union or EEA, Switzerland, mainland China, the United Kingdom (until our UK representative is named), or a region under comprehensive US sanctions. The beta addendum has the list. It is a legal restriction about where we can serve people during the beta, not a judgement about you; the regions open as the paperwork lands.
How do I get an account?
On the website, enter your email address, tick the eligibility box and press Sign up. One email arrives, usually within a minute: "Create your knownAs.dev account", from knownAs.dev. Open its link, accept the terms, and you are in. Nothing is typed twice and no second email follows.
If you leave the box unticked (for example because you are in a region the beta cannot serve yet), you join the waitlist instead, and we write when knownAs.dev is available where you are.
I never received the sign-up email
Check spam, and search for a mail from knownAs.dev titled "Create your
knownAs.dev account". It goes to the address you gave, exactly as you typed
it. If it is not there after ten minutes, sign up again with the box ticked:
the same email is sent again (at most once a day). Or write to
ops@knownas.dev and a person will help.
If you already have an account, you get "You already have a knownAs.dev account" instead, telling you where to sign in.
The sign-in page says I need an invitation
The sign-in page is for accounts that exist. The link in your sign-up email creates the account; the sign-in form cannot. Open the link in "Create your knownAs.dev account" instead (older emails are titled "Your invitation to knownAs.dev"). It works only for the address it was sent to.
My sign-up link expired
A sign-up link lasts 7 days (one a person sent you lasts 14). If yours has expired, sign up again on the website with the box ticked and a fresh one arrives within a minute. A used, expired or replaced link never works again.
Why is there no password?
Sign-in is by email link: you type your address, we mail a link, you click it. There is nothing to remember and nothing to leak. The link works once and for a short time; if it has expired, ask for another from the sign-in page.
I asked for a sign-in link and nothing came
Wait a few minutes and check spam. If the address has no account yet, no
link is sent (the page cannot tell you whether an address is known; that
would let anyone test addresses). If you are new, sign up on the website
instead. If you are sure the account exists, write to
ops@knownas.dev.
Why did the console ask me to accept the terms again?
Because their version changed. The terms of use become version 1.1 on 21 October 2026 (section 2 now describes forwarding and its traffic allowance); every account is asked to accept the new version at its next sign-in. The privacy policy and the beta addendum did not change and are not asked again.
Names (identities and slugs)
What can a name look like?
Three to sixty-three characters: lowercase letters, digits and hyphens, not
starting or ending with a hyphen. myclaw, billing-agent-4 and ada2
are fine; My_Agent, -ada and ab are not. It becomes
<name>.knownas.dev and the three service names under it.
Why was my name refused?
Three reasons, and the error says which:
- Taken. Someone has it, or had it recently: a deleted name is held for 30 days before anyone can take it again. Choose another; there is deliberately no "is this free?" check, because that would let anyone list who uses knownAs.dev.
- Reserved. Words that would mislead (
admin,api,platform,www,mail, and the like) and the platform's own brand. - Look-alike. Names that imitate a known brand or a reserved word with a swapped character are refused as well.
How many names can I have?
One is free, with no card and no time limit. Each name beyond it needs a seat on a plan (see "What does it cost?"); a plan holds up to 500 seats, and an account may create 10 names a day. Accounts that existed before paid plans started keep a founder allowance for twelve months: the room the beta gave them, at least 25 names in all. The Plan card on your Account page shows your allowance and what it is made of.
I created a name. Why does it say "provisioning"?
DNS and the certificate are being set up; it usually takes under a minute,
occasionally two. The name turns active when the record is being served.
Routes (forwarding) can only be set on an active name, so wait for it.
What is in the public record, and who can read it?
Anyone can read it: it is the point. It carries what you choose to publish
(display name, description, a contact email, a homepage, a public key),
the agent's status (active, suspended, archived), the services that
are live, and an owner block: each domain you have verified, that your
email address was verified (never the address itself), and when the
account was created. Nothing about your machine, your network or your
traffic.
Why are there two files, agent.json and agent-identity.json?
agent-identity.json is the document's name since 2026-10-06, chosen so as
not to collide with another project's agent.json. The old path is served
during a transition and will stop; link to the new one.
Why doesn't the record list my api or hooks endpoint?
The record lists a service only while traffic to it is actually forwarded to a verified server. A name you have reserved but not routed is not an endpoint yet; set the route and pass the check, and it appears within a minute.
I changed my display name; the public record still shows the old one
The record is published asynchronously and cached for 60 seconds. Wait a minute and reload.
Forwarding (routes)
How does forwarding work?
You tell the platform where your agent is reachable over HTTPS (its
origin, a public host name such as abc.trycloudflare.com or
myclaw.example.org), per service. The platform gives you a token and
asks you to serve it at https://<origin>/.well-known/knownas-origin. When
the check finds the token there, the route is verified, and requests to
yourname.api.knownas.dev (or .hooks., .mcp.) are forwarded to your
origin with the path and method unchanged. The tunnel or proxy in front of
your agent stays; only the public name changes, and it never changes again.
Which origins are refused?
Loopback (localhost), private and link-local addresses, bare IP
addresses, names with a scheme, port or path, and anything under
knownas.dev. Give a public host name only; it must answer HTTPS on port
443 with a valid certificate.
The check failed. What does the outcome mean?
| Outcome | Meaning | What to do |
|---|---|---|
token_absent |
The path answered, but not with your token on a line of its own | Serve the exact token; one per line if you have several |
redirect |
The path redirected | It must answer directly, with a 200 |
timeout |
No answer within 5 seconds | Is the tunnel up? Is the origin reachable from the internet? |
tls_failed |
The certificate did not verify | A real certificate for that name; a quick tunnel provides one |
forbidden_address |
The name resolves to a private or forbidden address | Use a public origin |
dns_failed / no_such_name |
The name does not resolve | Check the spelling; wait for DNS |
connect_failed |
Nothing accepted the connection on 443 | The service behind the name is down |
http_error |
The path answered with an error status | Make it answer 200 |
too_large / malformed |
The answer was not a small text file | Serve plain text, a few lines at most |
"Checked less than a minute ago"
The check runs at most once a minute per route. Fix the cause, wait a minute, check again.
Do I have to keep serving the token?
Yes. Every verified route is re-checked daily. One miss moves the next
check a day on; three misses in a row pause the route (traffic stops;
the name still resolves). Fix the origin and run a check: a pass resumes it.
Pressing "check" repeatedly does not count against you. The one exception:
if your origin's name starts resolving to a private or reserved address
(forbidden_address), the route pauses at once, because that is never a
passing outage.
What is the origin secret, and why was it shown only once?
On the check that first verifies a route, the platform issues a secret and
sends it to your origin on every forwarded request as the
x-knownas-origin-secret header. If your server checks it, traffic that
did not come through knownAs.dev can be refused. It is shown once; store it
where your server can read it. Setting the route again issues a new one.
Tokens are not secrets; the secret is.
My name answers 404
No verified route for that service. Either no route was set, the check has not passed yet, or the route is paused. The console's identity page shows each route's state.
My name answered 530 (or 502) after my tunnel restarted
Your tunnel got a new host name and the route still points at the old one.
Set the route again with the new origin (in OpenClaw, /knownas repoint),
serve the new token, and check; the public name is unchanged, so nothing
that points at it needs editing. End to end it usually takes under a
minute.
I removed a route, but the name still answers for a while
Removal reaches the edge in about 35 seconds. After that the name answers 404 and drops out of the record's endpoints.
Does the forwarder change my request?
No. The method, path, query and body reach your origin as sent, over HTTPS
to port 443. The x-knownas-origin-secret header is added. Responses are
passed back as they are; the read timeout is 60 seconds.
Can I forward WebSockets or long-running streams?
Request and response forwarding, with a 60-second read timeout. Long
streams and WebSockets are not promised during the beta; tell
ops@knownas.dev what you need.
OpenClaw
How do I give my OpenClaw a name?
Install the knownas skill (and its small plugin) from ClawHub, put your
API key in OpenClaw's secret store, then say /knownas setup <name>. The
skill asks before it creates anything public. It creates the name, points
the api and webhooks services at your gateway's public origin, serves
the proof tokens through the plugin, runs the checks, and shows you the
three public addresses. The README in authecity/openclaw-knownas has the
exact commands.
Where does the API key come from?
A person mints it in the console, under API keys, with the scopes
identity:create, identity:read, manifest:write and route:write, and
an expiry. Store it in OpenClaw's secret store; the skill reads it from
there and never prints it. Never paste it into a chat.
My gateway answers 403 "proxy_attribution_required" through the name
That is OpenClaw's rule for its authenticated routes behind any proxy
or tunnel, not something we add: until gateway.trustedProxies names your
proxy, those routes refuse. Channel webhooks, the A2A routes and the proof
route are unaffected. The skill's README gives the setting line.
I already have a stable hostname from a named Cloudflare tunnel. What do I gain?
A stable name is only part of it. The rest is the public record: a page at a well-known path saying who answers for the agent and whether it is in good standing, in an open format other tools can read; and names for the agent's services that do not depend on which tunnel you use this month. If you only want a hostname and own a domain, you may not need us.
Does the plugin protect my gateway?
No, and it says so. The plugin serves the proof tokens and nothing else. OpenClaw's plugin system cannot let one plugin guard another's routes, so a "secret check" there would be protection that is not there. Your channels keep their own verification; if you front the gateway with a reverse proxy, the proxy can enforce the origin secret for everything (the README shows a Caddy example).
The skill says the name is taken. Can it check another?
It cannot ask whether a name is free (by design; see "Why was my name refused?"), so it suggests two alternatives and tries the one you choose.
Can a second agent have a name too?
Yes. Your first name is free. A second agent can have one too: during the
beta your account may hold up to the number the console shows under your
list (25). Install the skill on that agent's gateway, give it a key for the
same account (the one you have, or a new one from the console), and say
/knownas setup <another-name> there. The skill never creates a second
name for the gateway it runs on; one gateway, one name. When billing
starts, a name beyond your allowance is a paid seat, added on the Account
page (see "Pricing"); the console says what a second one costs before you
create it.
Traffic limits
How much traffic can a name carry?
Per name, counted at the edge in both directions, headers included:
| Line | Amount | What happens |
|---|---|---|
| Warning | 12.5 GB in 30 days | One email |
| Suspension | 25 GB in 30 days | The name is suspended |
| Burst | 5 GB in one hour | The name is suspended at once |
The edge's own 404s are not counted. A busy personal agent moving webhook payloads uses a small fraction of this; the lines exist to stop a name being used as a free file server. Nothing is billed for traffic.
What does "suspended" mean?
Forwarding stops, the service names answer 404 within about a minute, and
the public record says suspended. The record and the name are not
deleted; your settings and routes are kept.
How do I resume?
From the console, once per 30-day window. The email you received says the
rest: after a self-resume you have about a day; if traffic stays above the
line the name is suspended again, and that one only an operator can lift.
Write to ops@knownas.dev and say what the traffic is.
Where do I see my usage?
The identity page's Traffic card in the console, or
GET /v1/identities/{id}/usage with a key that has identity:read. Usage
is counted hourly from the edge's logs, so the latest hour or two fills in
late.
Will the limits change?
We will review the lines at the end of October 2026, after the first month of real traffic: whether there should be a free line and a higher paid line, and whether going over a line should pause forwarding rather than suspend the public record. Lines do not go down for existing names without notice.
API keys and the API
Where is the API?
https://platform.knownas.dev (production). Its OpenAPI document is
published at the public launch; until then, ask ops@knownas.dev for it.
How do I get a key, and what can it do?
Mint it in the console under API keys, choosing scopes and an expiry. The
token is shown once. Scopes: identity:create, identity:read,
identity:update, identity:suspend, identity:delete, manifest:write,
route:write, signing-key:write, audit:read, apikey:read,
apikey:write, dns:read.
Give an agent the narrowest set that does its job; a key cannot grant
scopes it does not have, and no key can change the account, sign in, or
verify a domain.
401 or 403: which is which?
401 means the key was missing, malformed, expired or revoked: mint or
check the key. 403 means the key is fine but lacks the scope, or the
action is a person's or an operator's (for example resuming a name a second
time). GET /v1/me tells you what a key is and what it may do.
I lost the key
It cannot be shown again; only its hash is stored. Revoke it in the console and mint another.
Why did I get 429?
The API has rate limits per account, and the route check allows one call a minute per route. Back off and retry after the time in the response.
Can I use it from a tool rather than code?
An MCP server that exposes the API as tools for Claude Code, Claude Desktop,
Cursor and similar (list and create identities, read and update the record,
read audit events) is built and will be published; until then, the API and
the OpenClaw skill are the ways in. Ask ops@knownas.dev if you want it
early.
Domain verification
Which "host" or "name" do I enter for the TXT record?
It depends on your DNS provider. The console shows the full record name,
for example _knownas.example.com. Many providers add your domain to whatever
you type in the host field. With those, enter only _knownas. Typing the
full name there creates _knownas.example.com.example.com, and the check
will not find it.
If you are verifying a subdomain such as labs.example.com and your DNS is
managed for example.com, enter _knownas.labs.
Namecheap
Since 2026-10-03 the check spots this itself: if the record is found at the doubled name, Check now says "Found the problem" and gives the exact host to enter instead.
In Domain List → Manage → Advanced DNS → Add new record, choose TXT
Record, set Host to _knownas (not the full name) and Value to the
knownas-verify=… text from the console. Namecheap adds the domain itself.
For example, Host _knownas.example.com publishes the record at
_knownas.example.com.example.com; Host _knownas publishes it where the
check looks.
I fixed the record, but the check still says "not found". Why?
DNS remembers a "no such record" answer for a while. If you pressed Check now before the record existed (or while it was wrong), the public DNS services we check through remember that miss. How long is set by your domain's DNS settings, not by us. On Namecheap it is about an hour.
What to do: leave the record in place, and check again later. Pressing Check now repeatedly before the record exists makes no difference, and it does not count against you, but it will not speed anything up.
Do I need to verify a domain at all?
No. It is optional, for people who want their own domain shown on the record as proof of who they are. You can create names, routes and keys without it.
Why can't I verify co.uk, github.io or a top-level domain?
Because anyone can register names under them. They are public suffixes,
and verifying one would claim a namespace shared by everyone using it. Verify
the domain you registered under it instead: yourcompany.co.uk, or
yourname.github.io if you control its DNS. The platform uses a pinned copy of
the Public Suffix List to decide.
What does "inconclusive" mean?
One of the two resolvers could not answer (a timeout or an error on its side). Nothing about your verification changed. Try again in a minute.
How do you check?
From more than one independent public DNS service, and all of them must see your record, so that one stale or wrong answer cannot verify a domain on its own. The console shows only the outcome. (Which services, and each one's answer, are kept for support; the privacy policy names them, as it must.)
Can I verify a domain with an API key?
No. Verification is a claim about who owns the account, so it must be done by a signed-in person (email sign-in) in the console. An agent's API key is refused.
Is my verified domain shown publicly?
Yes, on every one of your identities. Each identity's public
agent.json has an owner block listing each verified domain (with when it
was verified and when it expires unless re-checked), that your email address
was verified (never the address), and when your account was created. A
domain that lapses or that you withdraw disappears from every identity. The
console's identity page shows exactly what is published, under "Published
about the owner".
Do I have to keep the TXT record?
Yes. The platform re-checks every verified domain every 7 days. If the record is missing, nothing changes at first: the domain stays verified until 30 days after the record was last seen. If it is still missing then, the verification lapses and the account's owner gets an email saying so.
Put the record back and start a new check in the console to be verified again.
Can someone else verify my domain?
Only by publishing a record on it, which needs control of its DNS. If two accounts both verify a domain, the newer verification ends the older one, and the older account sees it as superseded on its Domains page. The real owner settles it by removing the record they did not add.
Deleting things, and your data
How do I delete a name?
In the console, by a person: archive it first, then delete it, typing the
name out to confirm. Its records go within a minute, its routes are removed,
and the name is held for 30 days before anyone can take it again. API keys
with identity:delete can do the same, with the name in the request body;
the OpenClaw skill deliberately cannot.
What happens if I stop using it?
Nothing. A name stays active and its record keeps being served until you archive or delete it. An inactive agent keeps its name.
How do I export my data?
From the Account page in the console: one file with your account, names, records, routes, keys (never the secrets) and audit events.
How do I delete my account?
From the Account page. The account is switched off at once and erased from our systems within 30 days; backups age out within 35. Names are deleted with it; a registered domain, if you verified one, is yours and untouched (we never held it). The privacy policy says what, if anything, the law makes us keep.
What do you keep about my traffic?
Byte counts per name per hour, from the edge's logs, and the logs themselves for up to 90 days with no personal fields: no client addresses, no paths, no headers. The audit trail records what changed on your account and who changed it; it holds no addresses from your visitors.
Pricing
What does it cost?
The first name is free, with no card and no time limit. Each additional name is a seat: $12 a year or $1.50 a month, $9 and $1.13 a seat from ten seats, $6 and $0.75 from fifty. Every seat on a plan is charged at the price for the plan's total, so ten yearly seats are $90 a year. You buy seats from the Plan card on your Account page; Stripe takes the payment, plans renew automatically until you cancel, and you cancel under "Manage billing". Traffic is never billed (see "Traffic limits"). Accounts that existed before paid plans started keep a founder allowance for twelve months, so nothing they held that day needs a seat. The schedule and the rules are in the terms of use, section 9.
Will I be charged without noticing?
No. Nothing is charged until a person clicks through to pay; keys and agents cannot start a subscription or add seats.
Standards and other tools
Is the record format a standard?
It is published: the Agent Identity Document specification, Apache-2.0 and
CC BY 4.0, at github.com/authecity/agent-identity-document, and an
Internet-Draft, draft-alla-agent-identity-document, at the IETF
Datatracker. It is a proposal, not a standard yet; the format is designed
to map to standards as they land.
Does the name serve an A2A agent card?
Not by itself. If your agent (an OpenClaw gateway, for example) serves its
own card at /.well-known/agent-card.json, the api name forwards to it,
so A2A clients find it there. A card generated from the record is designed
but not built.
Can my agent sign its requests with the name?
Yes, with a key your agent holds. The agent makes an Ed25519 key pair
where it runs and registers only the public key
(POST /v1/identities/{id}/signing-keys, with an API key that has
signing-key:write). The name then publishes its active keys at
https://<name>/.well-known/http-message-signatures-directory, the key
directory of the IETF's Web Bot Auth draft, so a site that checks Web Bot
Auth signatures can find them from the request's Signature-Agent header.
- A key lasts at most 90 days, and up to 3 can be active at once, so a new key can overlap the old one while the agent rotates.
- Seven days before a key expires you get one email, unless a newer key already outlives it.
- You can list and revoke keys. A revoked key leaves the directory for good; the platform clears its own copy within seconds, though a verifier that cached the directory may keep it for up to 5 minutes.
- A suspended name publishes an empty directory; its keys return when it is restored.
What the platform does not do: it never holds the private key and signs nothing for your agent. Your agent signs each request itself, with an HTTP message signatures library. Signing and automatic rotation inside the MCP server and the OpenClaw skill are not built yet.
Getting help
- Questions and problems:
ops@knownas.dev; a person reads it. - Abuse of a name:
abuse@knownas.dev. - Security issues:
security@knownas.dev; see/.well-known/security.txt. - The OpenClaw skill and plugin: issues on
github.com/authecity/openclaw-knownas.