{#if error}
{error}
{/if}

Create Account

Create a new account on this PDS

{#if loadingServerInfo}

Loading...

{:else}
{ e.preventDefault(); handleSubmit(e); }}>
{#if handleHasDot}

Custom domain handles can be set up after account creation in Settings.

{:else if fullHandle()}

Your full handle will be: @{fullHandle()}

{/if}
Identity Type

Choose how your decentralized identity will be managed.

{#if didType === 'web'}
Important: Understand the trade-offs
  • Permanent tie to this PDS: Your identity will be did:web:yourhandle.{serverInfo?.availableUserDomains?.[0] || 'this-pds.com'}. Even if you migrate to another PDS later, this server must continue hosting your DID document.
  • No recovery mechanism: Unlike did:plc, did:web has no rotation keys. If this PDS goes offline permanently, your identity cannot be recovered.
  • We commit to you: If you migrate away, we will continue serving a minimal DID document pointing to your new PDS. Your identity will remain functional.
  • Recommendation: Choose did:plc unless you have a specific reason to prefer did:web.
{/if} {#if didType === 'web-external'}

Your domain must serve a valid DID document at /.well-known/did.json pointing to this PDS

{/if}
Contact Method

Choose how you'd like to verify your account and receive notifications. You only need one.

{#if verificationChannel === 'email'}
{:else if verificationChannel === 'discord'}

Your numeric Discord user ID (enable Developer Mode to find it)

{:else if verificationChannel === 'telegram'}
{:else if verificationChannel === 'signal'}

Include country code (e.g., +1 for US)

{/if}
{#if serverInfo?.inviteCodeRequired}
{/if}
{/if}