Skip to content
ArcNS docs

ArcNS docs

ArcNS resolves @handle, .arc and .circle names on Arc testnet. Integration guides for wallets and explorers, the resolver API contract, the SDK and the contract set.

ArcNS is an independent name service built on Arc, operated by Fortiblox. It gives one address three kinds of name, resolved by one SDK, one read-only API and one set of contracts. Names are permanent registrations: no annual renewal, no expiry, no lapse to a stranger.

Arc name registry

@handle, .arc and .circle all resolve the same way

A name carries a record per chain — Arc, Ethereum, Bitcoin, Solana — never a guessed address on the wrong one. Nothing is registered on Arc testnet yet, so try the shape rules below: they're real and already enforced.

Resolve a name · demo
Not registered yet · Arc testnet deployment pending
ARCcoin 2152525650no record yet
ETHcoin 60no record yet
BTCcoin 0no record yet
SOLcoin 501no record yet

These are real requests against the ArcNS resolver, not invented examples — see the note in each tab. The full status contract and every field are on this page above; SDK usage and error codes are on the Quickstart.

cURL·GET /health
curl -s https://api.arcns.io/health
RESPONSE · 200 (live)
{  "ok": true,  "service": "api",  "version": "0.1.0"}
No RPC call — pure liveness. Captured live by running api/ locally (see note above).

Three shapes, three namespaces

InputNamespaceWhere it lives
@alice, pay.@alicehandleHandleRegistry (ERC-721, permanent, ASCII-only, reserved genesis)
alice.arc, pay.alice.arcarcverbatim ENS registry, .arc registrar pair
alice.circlecircleverbatim ENS registry, .circle registrar pair

@alice, alice.arc and alice.circle can belong to three different people, and alice.arc can exist in more than one registry on the same chain. Labels are ASCII only (a-z, 0-9, -; 1 to 32 bytes; no edge or double hyphen; not all digits), so there is no Unicode to normalise and no homograph to defend against.

The one rule

Rule

Every result names the namespace and the registry address it was read from. No SDK function and no API route returns a bare address. Show both before you let anyone send. A mixed shape such as @alice.arc is refused, never guessed; two registries that disagree are refused, never picked between.

The SDK enforces this structurally: Resolved.namespace and Resolved.registry are required fields, @alice.arc throws ambiguous, and two registries that disagree throw conflict with every candidate attached. The API maps those to 409. Your interface's job is to render what the SDK already refuses to hide.

Why ArcNS

Built to be namespace-safe, not just fast

Four things that are already true today, before a single name is registered on testnet.

Three namespaces, one rule

@handle, .arc and .circle are three independent namespaces with three different registries — never merged, never guessed between.

Never guessed, never mixed

Every result names its namespace and registry address. A mixed shape like @alice.arc is refused, not resolved — see the one rule above.

Permanent registrations

No annual renewal, no expiry, no lapse to a stranger because a payment was missed — a name is registered once.

Open source, MIT

The .arc / .circle registry, resolver profiles, and reverse registrar reuse ENS contracts verbatim.

Start hereInstall the SDK and resolve your first nameOne resolver, three namespaces: resolve @nike, nike.arc and nike.circle, read records with verification, reverse an address, and call the same thing over the API with curl.Read the quickstart

Start here

Status

  • Testnet only. Everything here targets Arc testnet (chain id 5042002, RPC https://rpc.testnet.arc.io, explorer testnet.arcscan.app). Nothing on testnet has monetary value and the deployment may be reset. Mainnet is a separate, gated milestone.
  • SDK. @arcns/resolve ships as 0.1.0-testnet.N on the npm dist-tag testnet (pre-releases never move latest). As of 2026-09-07 the first testnet release has not been pushed to the registry yet; until it is, build the package from sdk/ in the repository. This line changes when the release lands.
  • API. https://api.arcns.io holds no keys and no database (see API); /health answers without touching the chain and the data routes answer once the contracts are on testnet.
  • Contracts. The testnet deployment is pending; the Contracts page says so and carries no address until the deployment file is published.
  • App. app.arcns.io is not live yet. Pages that mention it say "when it launches".

Source and licence

The whole project is open source under the MIT licence: fortiblox/fortiblox-arcns. The .arc / .circle registry, resolver profiles, reverse registrar and universal resolver reuse ENS contracts verbatim, so ENS-aware wallets and libraries resolve ArcNS names with the registry address swapped.

Questions

Questions: [email protected].