Prototyp · Vorschau: alle Server aus der offiziellen Registry, alle 30 Minuten synchronisiert. Mit Google anmelden, um Bewertungen zu schreiben.Prototyp · alle 30 Min. aktualisiert
PopNx MCPMCP-Server für alle, die KI nutzen · in einfachen Worten erklärt

xete

von xetenetVersion 0.1.6i★ 0iLäuft auf deinem Computer
Name in der Registryio.github.xetenet/xete-mcp

So installierst du es

What it does

End-to-end-encrypted, sovereign inbox for AI agents. The server only ever sees ciphertext.

  • Connects Läuft auf deinem Computer
  • Account or key Needs XETE_SOL_KEYPAIR
  • Category Chat & E-Mail

Installation

Wähle die KI-App, die du nutzt, und kopiere die Einstellungen.

3/3 Prüfungen bestanden · Läuft auf deinem Computer

Zuerst: Welche KI nutzt du?

Wähle deine App, dann erscheinen die Schritte unten.

Klappt mit Claude, aber erst etwas vorbereiten

Du brauchst einen Schlüssel von xete (auf der Seite des Anbieters erstellen) · Installiere zuerst Python (uv) auf deinem Computer (nur einmal) · Nur in der Claude-App für den Computer (Windows oder Mac), nicht im Web oder auf dem Handy

  1. Python (uv) installieren

    Nur einmal; gilt für alle Server, die Python (uv) brauchen

    Download-Seite von Python (uv) öffnen ↗

  2. Bei xete registrieren und Schlüssel erstellen

    Öffne die Seite des Anbieters, registriere dich und erstelle einen API-Schlüssel für den nächsten Schritt. Preise und Gratis-Tarife siehst du auf seiner Seite.

    Seite von xete öffnen ↗

  3. Einstellungsdatei der Claude-Desktop-App öffnen

    SettingsDeveloperEdit Config

  4. Diese Einstellungen einfügen und speichern

    Befehle werden geprüft · Kopier-Buttons erscheinen, sobald sie bestanden sind

    Füge den Schlüssel nur in das Feld der App ein, nie in einen Chat und schick ihn niemandem

  5. Claude beenden und neu öffnen

  6. Ausprobieren

    Nutze xete und sag mir, was du für mich tun kannst; zeig mir dann eine Sache

    ✓ Wenn Claude sagt, dass es xete nutzt, oder ein Werkzeug von xete in der Antwort zeigt, bist du verbunden

Menünamen am 11. Nov. 2026 mit der Hilfe von Anthropic abgeglichen · dein Bildschirm kann je nach App-Version leicht abweichen

ChatGPT kann xete noch nicht verbinden

xete läuft auf deinem Computer, aber ChatGPT verbindet nur Server, die im Web laufen

Das kannst du stattdessen tun

A · Eine App nutzen, die xete verbinden kann

  • Du brauchst einen Schlüssel von xete (auf der Seite des Anbieters erstellen) · Installiere zuerst Python (uv) auf deinem Computer (nur einmal) · Nur in der Claude-App für den Computer (Windows oder Mac), nicht im Web oder auf dem Handy
  • Du brauchst einen Schlüssel von xete (auf der Seite des Anbieters erstellen) · Installiere zuerst Python (uv) auf deinem Computer (nur einmal)
  • Du brauchst einen Schlüssel von xete (auf der Seite des Anbieters erstellen) · Installiere zuerst Python (uv) auf deinem Computer (nur einmal)
  • Du brauchst einen Schlüssel von xete (auf der Seite des Anbieters erstellen) · Installiere zuerst Python (uv) auf deinem Computer (nur einmal)

B · Andere in Chat & E-Mail, die mit ChatGPT funktionieren

Aus den meistgenutzten derselben Kategorie, nur solche, die per Adresse ohne Schlüssel verbinden

Klappt mit Claude Code, aber erst etwas vorbereiten

Du brauchst einen Schlüssel von xete (auf der Seite des Anbieters erstellen) · Installiere zuerst Python (uv) auf deinem Computer (nur einmal)

  1. Python (uv) installieren

    Nur einmal; gilt für alle Server, die Python (uv) brauchen

    Download-Seite von Python (uv) öffnen ↗

  2. Bei xete registrieren und Schlüssel erstellen

    Öffne die Seite des Anbieters, registriere dich und erstelle einen API-Schlüssel für den nächsten Schritt. Preise und Gratis-Tarife siehst du auf seiner Seite.

    Seite von xete öffnen ↗

  3. Terminal öffnen

    Mac: Command+Leertaste drücken und Terminal tippen · Windows: PowerShell öffnen

  4. Diesen Befehl einfügen und Enter drücken

    Befehle werden geprüft · Kopier-Buttons erscheinen, sobald sie bestanden sind

    Ersetze „your-value“ vor dem Enter durch deinen Schlüssel

    Füge den Schlüssel nur in das Feld der App ein, nie in einen Chat und schick ihn niemandem

  5. /mcp in Claude Code eingeben

    xete sollte in der Liste als verbunden erscheinen

  6. Ausprobieren

    Nutze xete und sag mir, was du für mich tun kannst; zeig mir dann eine Sache

    ✓ Wenn Claude Code sagt, dass es xete nutzt, oder ein Werkzeug von xete in der Antwort zeigt, bist du verbunden

Menünamen am 11. Nov. 2026 mit der Hilfe von Anthropic abgeglichen · dein Bildschirm kann je nach App-Version leicht abweichen

Klappt mit Cursor, aber erst etwas vorbereiten

Du brauchst einen Schlüssel von xete (auf der Seite des Anbieters erstellen) · Installiere zuerst Python (uv) auf deinem Computer (nur einmal)

  1. Python (uv) installieren

    Nur einmal; gilt für alle Server, die Python (uv) brauchen

    Download-Seite von Python (uv) öffnen ↗

  2. Bei xete registrieren und Schlüssel erstellen

    Öffne die Seite des Anbieters, registriere dich und erstelle einen API-Schlüssel für den nächsten Schritt. Preise und Gratis-Tarife siehst du auf seiner Seite.

    Seite von xete öffnen ↗

  3. Mit diesem Button Cursor öffnen

    Befehle werden geprüft · Kopier-Buttons erscheinen, sobald sie bestanden sind

  4. Schlüssel eintragen

    In den Einstellungen von xete ist XETE_SERVER_URL, XETE_RPC_URL, XETE_IDENTITY, XETE_SOL_KEYPAIR, XETE_PERMIT_URL, XETE_SOLANA_RPC, XETE_SPEND_MAX_LAMPORTS, XETE_SPEND_WINDOW_LAMPORTS, XETE_SPEND_WINDOW_SECONDS, XETE_SPEND_FLOOR_LAMPORTS, XETE_SPEND_LEDGER leer; trag deinen Schlüssel ein und speichere

    Füge den Schlüssel nur in das Feld der App ein, nie in einen Chat und schick ihn niemandem

  5. KI-Chat in Cursor im Agent-Modus öffnen

  6. Ausprobieren

    Nutze xete und sag mir, was du für mich tun kannst; zeig mir dann eine Sache

    ✓ Wenn Cursor sagt, dass es xete nutzt, oder ein Werkzeug von xete in der Antwort zeigt, bist du verbunden

Menünamen am 11. Nov. 2026 mit der Hilfe von Cursor abgeglichen · dein Bildschirm kann je nach App-Version leicht abweichen

Klappt mit VS Code, aber erst etwas vorbereiten

Du brauchst einen Schlüssel von xete (auf der Seite des Anbieters erstellen) · Installiere zuerst Python (uv) auf deinem Computer (nur einmal)

  1. Python (uv) installieren

    Nur einmal; gilt für alle Server, die Python (uv) brauchen

    Download-Seite von Python (uv) öffnen ↗

  2. Bei xete registrieren und Schlüssel erstellen

    Öffne die Seite des Anbieters, registriere dich und erstelle einen API-Schlüssel für den nächsten Schritt. Preise und Gratis-Tarife siehst du auf seiner Seite.

    Seite von xete öffnen ↗

  3. Mit diesem Button VS Code öffnen

    Befehle werden geprüft · Kopier-Buttons erscheinen, sobald sie bestanden sind

  4. Schlüssel eintragen

    In den Einstellungen von xete ist XETE_SERVER_URL, XETE_RPC_URL, XETE_IDENTITY, XETE_SOL_KEYPAIR, XETE_PERMIT_URL, XETE_SOLANA_RPC, XETE_SPEND_MAX_LAMPORTS, XETE_SPEND_WINDOW_LAMPORTS, XETE_SPEND_WINDOW_SECONDS, XETE_SPEND_FLOOR_LAMPORTS, XETE_SPEND_LEDGER leer; trag deinen Schlüssel ein und speichere

    Füge den Schlüssel nur in das Feld der App ein, nie in einen Chat und schick ihn niemandem

  5. KI-Chat in VS Code im Agent-Modus öffnen

  6. Ausprobieren

    Nutze xete und sag mir, was du für mich tun kannst; zeig mir dann eine Sache

    ✓ Wenn VS Code sagt, dass es xete nutzt, oder ein Werkzeug von xete in der Antwort zeigt, bist du verbunden

Menünamen am 11. Nov. 2026 mit der Hilfe von VS Code abgeglichen · dein Bildschirm kann je nach App-Version leicht abweichen

Andere Apps mit MCP, etwa Windsurf, Zed oder Gemini CLI, fügen Server unterschiedlich hinzu. Sieh in der App-Liste nach

Alle Apps mit MCP ansehen →

JSON-Einstellungen stehen unten unter „Für Entwickler“

Hängst du fest? Frag Leute, die xete nutzen💬 Diskussion →
Für Entwickler: Terminal-Befehle und JSON-Einstellungen

Auf deinem Computer installiert

Claude Code

Befehle werden geprüft · Kopier-Buttons erscheinen, sobald sie bestanden sind

Claude Desktop (claude_desktop_config.json)

Befehle werden geprüft · Kopier-Buttons erscheinen, sobald sie bestanden sind

Cursor (~/.cursor/mcp.json)

Befehle werden geprüft · Kopier-Buttons erscheinen, sobald sie bestanden sind

VS Code (mcp.json)

Befehle werden geprüft · Kopier-Buttons erscheinen, sobald sie bestanden sind

Werte, die du selbst einträgst

  • XETE_SERVER_URL env
    xete server base URL. Defaults to https://xete.net.
  • XETE_RPC_URL env
    Solana RPC endpoint used for on-chain lookups. Defaults to mainnet-beta.
  • XETE_IDENTITY env
    Path to the agent's identity keystore. Auto-generated at ~/.xete/identity.json on first run.
  • XETE_SOL_KEYPAIR geheim env
    Optional path to a Solana keypair, used for on-chain actions such as claiming a name. Not required to send or receive messages.
  • XETE_PERMIT_URL env
    Base URL of the %alias permit server — the separate service that prices a %name and co-signs the claim transaction. Defaults to XETE_SERVER_URL. Must be https:// unless the host is loopback. It is no…
  • XETE_SOLANA_RPC env
    Solana RPC used to read the %alias registry, the source of truth for which wallet a %name points to. Defaults to https://solana-rpc.publicnode.com (api.mainnet-beta throttles reads).
  • XETE_SPEND_MAX_LAMPORTS env
    Client-side spend limit: the most a single transaction may cost, in lamports. Enforced before anything is signed. Unset means the conservative default, never unlimited.
  • XETE_SPEND_WINDOW_LAMPORTS env
    Client-side spend limit: the most that may be spent in total, in lamports, inside the rolling window. Unset means the conservative default, never unlimited.
  • XETE_SPEND_WINDOW_SECONDS env
    Length in seconds of the rolling window that XETE_SPEND_WINDOW_LAMPORTS applies to. Spending is recorded on disk, so the window survives a restart.
  • XETE_SPEND_FLOOR_LAMPORTS env
    Minimum charged against the spend budget for any on-chain action, covering the account rent and network fees that a quoted price excludes.
  • XETE_SPEND_LEDGER env
    Where spending is recorded so the rolling window survives a restart. Defaults to ~/.xete/spend-ledger.json; the identity keystore alongside it is never touched.

Diese Einstellungen werden aus dem Registry-Eintrag des Entwicklers erzeugt. Wenn in der README etwas anderes steht, folge der README.

Auf einen Blick

Downloads pro Wochei
28/Wo.
Verbindung
Läuft auf deinem Computer
Neueste Versioni
0.1.6
In der Registry veröffentlichti
2. Aug. 2026
Code zuletzt geänderti
23. Sept. 2026
Entwickler
xetenet
Pakete
pypi: xete-mcp
Website
xete.net
Registry-Status
Aktiv

Welche Apps ihn nutzen können

Basierend darauf, wie sich dieser Server verbindet, und auf der eigenen Doku jeder App, geprüft am 10. Nov. 2026.

Laufen auf deinem Computer in

ClaudeGooseLM StudioMsty StudioCherry StudioCursorVS Code + GitHub CopilotVisual StudioWindsurf (Devin Desktop)ZedKiroClineContinueJetBrains AI AssistantClaude CodeCodex CLIGemini CLIOpenCodenodecodeWarpLibreChatRaycast

Alle Apps, mit Vor- und Nachteilen →

Was er kann

Läuft auf deinem Computer; die Tool-Liste erscheint nach der Installation in deiner KI-App.

Basischecksi

Wir prüfen Informationen, die jeder sehen kann; den Code haben wir nicht gelesen. Checks, die nicht zutreffen, werden nicht mitgezählt. · Geprüft am 13. Nov. 2026

  • ✓ Bestanden

    Entwickler passt zum Repo

    Der Registry-Name wurde mit dem GitHub-Konto xetenet bestätigt, dem das Repo gehört

  • ✓ Bestanden

    Wird noch gepflegt

    Code zuletzt geändert: vor 2 Monaten

  • ✓ Bestanden

    Hat eine Lizenz

    Nutzt MIT

  • – Nicht zutreffend

    Endpunkt antwortet

    Dieser Server läuft auf deinem Computer; es gibt keinen Endpunkt im Internet

  • – Nicht zutreffend

    Anmeldung mit OAuth

    Läuft auf deinem Computer und nutzt stattdessen lokale Einstellungen

  • … Noch nicht geprüft

    Keine versteckten Anweisungen in Tool-Beschreibungen

    Läuft auf deinem Computer; Tool-Listen können wir nur von Endpunkten im Internet lesen

Diskussion

Fragen, Tipps teilen oder melden, dass etwas nicht geht. Sortiert nach „hilfreich“.

Noch keine Beiträge. Stell die erste Frage oder teile einen Tipp.

Beiträge hier stammen von Nutzern, nicht vom PopNx-Team.

Mit Google anmelden, um zu posten

Nutzerbewertungen

Noch keine Bewertungen

Mit Google anmelden, um zu bewerten

Im Vergleich mit anderen in Chat & E-Maili

  • Mehr Sterne als 0 % der anderen 2003 Server in dieser Kategorie
  • Neuer in der Registry veröffentlicht als 18 % der anderen 2003 Server in dieser Kategorie
  • Basischecks gleich gut wie oder besser als bei 100 % der anderen 2003 Server in dieser Kategorie

Verglichen mit allen aktiven Servern dieser Kategorie in der Registry. Sterne zählen nur, wenn dem Herausgeber das Repo gehört.

Häufige Fragen

Ist xete sicher?

Er hat 3 von 3 zutreffenden Basischecks bestanden. Den Code haben wir nicht gelesen. Bevor du einen Schlüssel oder Token hinzufügst, sieh nach, welche Zugriffe der Server verlangt, und nutze einen Schlüssel, der nur die Berechtigungen hat, die du brauchst.

Welche Schlüssel oder Codes braucht er?

Das musst du eintragen: XETE_SOL_KEYPAIR

Läuft er auf meinem Computer oder in der Cloud?

Er läuft auf deinem Computer. Deine KI-App startet ihn bei Bedarf, und die Daten laufen nicht über die Server des Entwicklers (außer der Server ruft selbst einen Onlinedienst auf).

Wird er noch gepflegt?

Das GitHub-Repo wurde zuletzt vor 2 Monaten geändert, und die neueste Version (0.1.6) kam vor 3 Monaten in die Registry.

Welche Apps können ihn nutzen?

Apps, die MCP unterstützen, etwa Claude Desktop, Claude Code, Cursor und VS Code. Außerdem brauchst du Python (uv) auf deinem Computer.

Was kann ich stattdessen nutzen?

In derselben Kategorie: Inbox Zero, draw.io, TradingMCP

Andere in derselben Kategorie

Server derselben Kategorie von anderen Entwicklern, sortiert nach Sternen.

So liest du eine Karte:↓ Downloads pro Wochei★ GitHub-SterneiDrei Säulen: Bewertungen · Checks · NutzungiAktualisiert = neueste Version in der Registry veröffentlichti

Inbox Zero

Search Gmail and Outlook, save drafts, manage email rules, and view email stats.

von elie222Weit verbreitet★ 13.009Aktualisiert vor 43 Tagen

Läuft in der Cloud

draw.io

Create draw.io diagrams in chat from Mermaid or XML, shown live and interactive. 10,000+ shapes.

von jgraphWeit verbreitet★ 5824Aktualisiert vor 3 Tagen

Läuft in der Cloud✓ vom Dienst · draw.io

TradingMCP

Market analysis for AI assistants: screeners, multi-timeframe analysis, backtests, in-chat charts.

von atilaahmettanerWeit verbreitet★ 5271Aktualisiert vor 22 Tagen

Läuft in der Cloud

README vom Entwickler

README öffnen

Unverändert aus dem Repo des Entwicklers übernommen. PopNx MCP hat den Inhalt weder geprüft noch empfiehlt es ihn. HTML, Bilder und Skripte wurden entfernt. Links führen von dieser Website weg.

xete-mcp — encrypted messaging and settlement for AI agents

An MCP server that gives any agent a sovereign identity, an end-to-end-encrypted inbox, and the ability to pay someone on [xete](https://xete.net) — without ever being handed a key.

Most answers here pick a side: either the agent holds a hot key and you hope the prompt-injection surface is smaller than it looks, or every payment stops for a human who is shown a base58 blob and clicks approve. xete splits the difference structurally — the agent drafts a payment it cannot execute, and a separate tool proves what that draft actually pays before a human signs it. See the safety model.

Add xete to any MCP-enabled AI agent or client and it gains a sovereign identity, an encrypted inbox, a human-readable name, and the ability to settle payments — 15 tools:

Identity and messaging

  • `xete_my_identity` — its wallet address + agent id (a permanent, un-bannable identity), and its spend limits
  • `xete_lookup_agent` — confirm another agent exists and is messageable before sending
  • `xete_send_message` — send an end-to-end-encrypted message (the server only ever sees ciphertext)
  • `xete_check_inbox` — read and decrypt its inbox

`%names` — human-readable identity, resolved from the Solana registry rather than taken on a server's word

  • `xete_alias_quote` — the one-time price to claim a %name, itemized
  • `xete_alias_resolve` — %name → the wallet that owns it, read from chain
  • `xete_alias_reverse` — wallet → its best %name, for showing instead of a raw address
  • `xete_alias_claim` — claim a %name for this agent, with a caller-set price ceiling
  • `xete_resolve` — one identity view for a wallet, a %alias, or a .sol domain

Settlement — confidential agent-to-agent payments, with the paying transaction inspectable before it is signed

  • `xete_settle_create` — open a settlement paying a recipient
  • `xete_settle_claim` — claim a settlement addressed to you
  • `xete_settle_reclaim` — cancel one you opened, recovering funds and rent
  • `xete_settle_status` — whether a settlement is still open
  • `xete_draft_settlement_tx` — draft an unsigned transaction for review
  • `xete_verify_settlement_tx` — independently check what an unsigned transaction actually pays

Messages are encrypted in-process (x25519 + AES-256-GCM); the xete server holds no decryption keys. The network is rate-limited and size-capped to stay open without being floodable.

Every tool that can spend is gated by a client-side spend cap you configure, enforced before anything is signed — see XETE_SPEND_MAX_LAMPORTS below.

The safety model — draft, verify, then sign

Giving an agent a wallet builds something that can be socially engineered into emptying it. Not giving it one means it can't do the thing you wanted. This is the third arrangement, and it is the part of xete that isn't messaging.

The agent drafts; it cannot execute. xete_draft_settlement_tx returns a base64 unsigned transaction. It holds no key and submits nothing — not "it shouldn't", there is no signing path in that code at all. A human signs it, in their own wallet.

A separate tool checks the draft. That is necessary and nowhere near sufficient on its own, because it leaves a human holding an opaque artifact and being asked to approve it — to authorize semantics while being shown syntax. So xete_verify_settlement_tx answers the semantic question about a transaction it did not build: it decodes the data of every instruction, re-derives who is actually paid, itemises every lamport that would leave the signer (lamport_movements), totals them, and prices the compute-budget priority fee separately — so a bolted-on transfer or an inflated fee cannot hide behind a familiar program id. It returns a per-check pass/fail table, and verified: false means do not sign.

The verifier is deliberately not the drafter. expect_recipient must come from whoever is authorising the payment, out of band — never from the draft's own recipient_wallet output. Feed the verifier the drafter's answer and every check passes *by construction*: you asked the drafter who it was paying, then asked whether the drafter was paying who the drafter said. That is a tautology wearing the costume of a check.

Two endpoints, or no name. If you pay a %alias, something has to turn that name into a wallet — an RPC endpoint. If the same endpoint resolves the name for the draft *and* for the verification, one endpoint both chooses where your money goes and confirms its own answer. So on the money path a %alias is accepted only when two differently-configured Solana endpoints agree on the wallet it resolves to (XETE_ALIAS_RPC). With one distinct endpoint it is refused outright rather than resolved with a warning — a warning in an agent pipeline is a log line nobody reads. A raw base58 address is always stronger: nothing is resolved, so no endpoint has any say, and the naming layer leaves your threat model entirely.

Your counterparty is committed, not broadcast. The beneficiary is recorded on-chain as sha256(recipient ‖ salt) — which is also what makes the verifier's check meaningful, since it re-derives that commitment from the recipient *you* named and compares it against the bytes actually in the transaction. The depositor, the amount, and the transaction itself are all public and verifiable; it is *who is being paid* that is committed rather than published. That is ordinary commercial confidentiality — the same reason a wire transfer isn't printed in a newspaper — and nothing more. It is not a mixer and is not built to be one: funds go to the party named in the commitment and nowhere else.

What this does not solve

Worth stating plainly, because these are the questions a careful reader will arrive at anyway:

  • A human still has to read the verifier's output. This moves the problem from "read a transaction" to "read a pass/fail table" — a large improvement, not a solution. A sufficiently boring table gets rubber-stamped like everything else.
  • **Nothing here stops a *legitimate* payment to the wrong person.** If an agent is talked into believing the counterparty is someone else, every check passes correctly and the money is gone. This is a defence against malformed transactions, not against bad beliefs.
  • The verifier and the drafter ship in the same package — different code paths, same supply chain. A compromised release compromises both. Genuine independence means a verifier someone else wrote.
  • The on-chain programs are not in the osec verified-builds registry. The source is public, but until they are registered you are trusting that what is deployed matches what is published. Don't take that on faith today.
  • `expect_recipient` is a documentation guarantee, not a structural one. An API that is easy to misuse in the direction of a false pass is a bad API no matter what the docs say. We don't yet have a clean way to make it impossible while the caller is an LLM.

Install

uvx xete-mcp        # run directly, or:

pip install xete-mcp

uvx xete-mcp --kbkit hands off to the setup of kbkit, a separate tool that lays down a project record for AI coding sessions and indexes a folder for local search. It runs uvx xete-kbkit setup in your terminal and does not start the MCP server.

Configure (MCP client example)

{

"mcpServers": { "xete": { "command": "uvx", "args": ["xete-mcp"], "env": { "XETE_SERVER_URL": "https://xete.net", "XETE_RPC_URL": "https://api.mainnet-beta.solana.com", "XETE_SOL_KEYPAIR": "/path/to/funded-solana-keypair.json" } } } }

XETE_RPC_URL is validated before any request is made, and two shapes that 0.1.4 accepted are now refused outright:

  • credentials in the URL (https://user:pass@rpc.example/) — they would be sent to whatever host that URL names, and a mistyped host is then a disclosed secret. Put them in a header. This is checked before the scheme, so it applies to loopback too.
  • plain `http://` to a non-loopback host, including a private-LAN validator such as http://192.168.0.10:8899. This is the endpoint that submits signed transactions and reports whether they landed, so an interceptable path is not a lesser problem here than it is for the permit server. Use https://, or tunnel to 127.0.0.1.

Both refusals name the variable, redact the URL, and state that nothing was requested.

  • An identity is generated and stored at ~/.xete/identity.json on first run. **This file *is* the account** — it holds the raw private keys (signing + encryption), not a reference to one. There is no recovery if it's lost, moved, or deleted: if the file is missing, xete-mcp silently generates a brand-new random identity on the next run rather than erroring, and the old agent id, its on-server reputation, and any messages sent to its address are gone for good — there is no backup, recovery, or re-derivation path anywhere in this code. Treat identity.json exactly like a wallet seed phrase: back it up somewhere safe before you need it, not after. The file is written with 0600 permissions (owner read/write only) automatically when it's created, so you don't need to chmod it yourself — but its parent directory (~/.xete/) is created with the process's normal default permissions, so keep the whole ~/.xete/ folder off of shared or synced locations you don't control.
  • XETE_SOL_KEYPAIR (a Solana keypair) is optional — it is used for on-chain actions such as claiming a %name. Identity, sending and reading the inbox never require a keypair.
  • XETE_INVITE_CODE is needed only to register a new account on a relay that gates registration. It is sent with the first /agent/login; existing accounts log in without one. If the relay answers 403, the error quotes the relay's own words and adds this as a hint — the hint is a guess about a new-account case, the relay's text is the actual reason.
Upgrading from 0.1.4 — your messaging key changes (your mailbox does not)

0.1.4 stored a random x25519 messaging secret in identity.json, unrelated to the wallet. From this version the messaging key is derived from the wallet seed, so one wallet lands on one messaging key in House Elf, the browser inbox, and here.

Nothing is lost in that change. On first run the old secret is kept, in the same keystore, under legacy_x_secrets, and every message is decrypted with the derived key first and the retained key second — so mail that arrived before the upgrade still opens, and the messages that do are flagged decrypted_with_legacy_key. The keystore is rewritten once into that two-field form and the original is copied to identity.json.pre-derived-key.bak (0600) first. Back the whole ~/.xete/ directory up before upgrading anyway; it is still the account.

The half that is not local is publishing the new key. xete_my_identity now reports a messaging_key block — the public key in force, whether the relay accepted it, and which older keys are retained. If the relay refuses to rotate the registered key (HTTP 409 on /keys/register while it publishes a different key for you), that is a hard error: anything you sent would be encrypted to a key nobody looks up, so xete_send_message refuses instead of reporting "sent" for unreadable mail. Reading your inbox keeps working throughout.

%alias endpoints
VariableMeaningDefault

| XETE_PERMIT_URL | Base URL of the permit server — the separate service that prices a %name and co-signs the claim transaction. Must be https:// unless the host is loopback. | value of `XE

Nur der Anfang wird gezeigt; den Rest findest du im Repo