Zum Inhalt

MintOffice

MintOffice ist das Brand Partner-Portal für mintbot.ai. Es lässt dich mintbot unter deiner eigenen Marke weiterverkaufen: deine Domain, dein Bot, deine Kundenliste — wobei mintbot das Deployment, die Abrechnungsschienen und die Infrastruktur pro Agent unter der Haube übernimmt.

Das Live-Partnerportal liegt unter mint.mintbot.ai.

Diese Anleitung führt dich von "Ich habe gerade von MintOffice gehört" bis zu "mein erster White-Label-Agent ist live auf meiner eigenen Domain". Die technischen Teile (DNS-Einträge, GitHub-Repo, Bot-Token) werden am besten von einem mintbot-Agenten in deinem Namen erledigt — siehe Lass dich von einem Agenten einrichten, bevor du beginnst.

Baust du die Integration selbst?

Für die entwicklerseitige Sicht — welche Repositories dir gehören, wie der Deploy-Flow Ende-zu-Ende läuft und wie die agent customization repo + der Storefront zusammenpassen — siehe MintOffice — Technisch.


Was du bekommst

  • Verkaufe jedes mintbot-Paket (Trial, Starter, Pro, Max) unter deiner eigenen Domain weiter — deine Kunden sehen agent1.yourbrand.com, nicht *.mintbot.ai.
  • Nutze deinen eigenen Telegram-Bot (@yourbrand_bot) für den Chat-Traffic oder leihe dir mintbots Bot, solange du noch testest.
  • Wähle deine kundenseitigen Preise und stecke die Differenz zwischen dem, was du ihnen berechnest, und dem, was mintbot dir berechnet, ein (die MintOffice-Großhandelsuntergrenze).
  • Eine Brand Partner API für programmatische Auftragserstellung, Lifecycle-Status und Webhooks zurück in deine eigenen Systeme.
  • Ein Dashboard, das aktive Kundenaufträge, die Gesundheit der Bot-Anbindung, Preise, Auszahlungen und die Webhook-Zustellung anzeigt.

Preise — Brand Partner-Einrichtungsgebühr

Die Anmeldung für einen kostenlosen Testportal-Account ist, nun ja, kostenlos — aber die Brand Partner-Anmeldung ist die eine Zahlung, die daraus einen echten Brand-Partner-Account macht. Du zahlst die einmalige Einrichtungsgebühr auf reception.mintbot.ai/mintoffice (oder reception.mintbot.dev/mintoffice für die Dev-/Test-Umgebung), und dieselbe Zahlung schaltet beide Portale frei:

Tier Preis Was enthalten ist
Kostenlose Testversion (Standard für jeden neuen Partner) €0 10 wegwerfbare DEV-Deploys zum Testen deines Portals + Templates
Brand Partner — Launch-Promo €49 einmalig + €10/Monat 20 DEV-Deploys (je €1 Agent-Guthaben), erster Monat der Account-Verwaltung inklusive, Brand Partner-Status auf beiden mint.mintbot.ai + mint.mintbot.dev, gründliche Setup-Anleitung (ein Agent kann den gesamten Wizard für dich steuern)
Brand Partner — Standard €99 einmalig + €10/Monat Wie Launch — ohne die Promo

Anmeldung ist in der Beta-Phase

Der Brand Partner-Checkout ist derzeit auf der Dev-/Test-Umgebung geöffnet (reception.mintbot.dev/mintoffice). Der Live-.ai-Checkout öffnet in Kürze.

Was die Einrichtungsgebühr abdeckt:

  • 20 DEV-Deploys, jeder ein 24-Stunden-Wegwerf-Test-VPS, ausgestattet mit €1 Agent-Guthaben — genug, um dein Portal und dein Customization-Template von Anfang bis Ende durchzuspielen.
  • Deinen ersten Monat der Account-Verwaltung (die €10/Monat-Gebühr unten) — Monat eins ist also bereits bezahlt.
  • Brand Partner-Status auf beiden mint.mintbot.ai und mint.mintbot.dev.

Die €10/Monat-Account-Verwaltungsgebühr:

Ab dem zweiten Monat trägt der Brand Partner-Account eine €10/Monat-Account- Verwaltungsgebühr. Am reibungslosesten zahlst du sie per Stripe- oder PayPal-Abonnement (empfohlen — es erneuert sich von selbst); die einmalige Einrichtungsgebühr kann auch per Karte oder Krypto (BTC, XMR und viele weitere Coins über CCPayment) bezahlt werden.

Wenn die monatliche Gebühr ausbleibt, wechselt dein MintOffice-Account in den Status pausiert: Du kannst keine neuen Agenten deployen, aber deine bestehenden Kunden-Agenten laufen weiter. Wir melden uns, bevor irgendetwas stoppt, damit du fortsetzen kannst.

Was nach der Zahlung passiert:

  1. Reception verarbeitet die Einrichtungszahlung auf reception.mintbot.ai/mintoffice (oder .dev, wenn du in der Test-Umgebung bist) — Karte / Apple Pay / Google Pay oder Krypto.
  2. Reception sendet sofort einen signierten Grant an beide mint.mintbot.ai und mint.mintbot.dev und schaltet deinen Account auf beiden Portalen auf Brand Partner-Status um.
  3. Du erhältst eine Willkommens-E-Mail von pigeon@mintbot.ai (oder pigeon@mintbot.dev, wenn du in der Test-Umgebung gekauft hast), die beide Anmelde-Links und einen Verweis auf diese Anleitung enthält.
  4. Melde dich auf dem Portal an, mit dem du starten möchtest. Falls der Cross-Env-Push aus irgendeinem Grund eines der Portale verfehlt hat, fragt die erste Anmeldung auf jenem Portal bei Reception nach "hat diese E-Mail bezahlt?" und wendet den Grant auf der Stelle an.

Die Launch-Promo ist standardmäßig aktiv, solange wir MintOffice ausrollen; sie wird vom Server-Flag MINTOFFICE_SETUP_PROMO gesteuert, sodass der Preis, den du beim Checkout siehst, der Preis ist, den du zahlst.

Rückerstattungen

14-Tage-Rückerstattungsfenster, ohne Fragen — wenn das Tier für deinen Anwendungsfall nicht lohnt, schreibe an support@mintbot.ai und wir senden die Gebühr zurück.

Die Großhandelspreise pro Agent (der Satz, den mintbot dir für jede von dir gemintete Kundenbestellung berechnet) sind unabhängig von der Einrichtungsgebühr und stehen in Schritt 5 — Preise weiter unten.


Lass dich von einem Agenten einrichten

Der Großteil der technischen Arbeit — eine Domain kaufen, DNS konfigurieren, einen Telegram-Bot erstellen, das Template-Repo forken — ist mechanisch. Du kannst es von Hand machen, aber der reibungsloseste Weg ist, es an einen mintbot-Agenten zu delegieren.

Empfohlener Weg

Starte einen mintbot-Agenten und bitte ihn: "Richte mich als MintOffice-Brand-Partner unter der Domain yourbrand.com ein — führe mich durch den Onboarding-Wizard und fülle alles aus, was du in meinem Namen ausfüllen kannst."

Der Agent hat Zugriff auf ein Terminal, einen Browser, eine DNS-API, GitHub-Auth und Kenntnis dieser Anleitung. Er sagt dir genau, welcher Schritt dein Eingreifen erfordert (z. B. das Klicken der Bestätigung von BotFather in Telegram) und erledigt den Rest.

Dein eigenes Hermes, eine OpenCode- / OpenClaw-Installation, der Cursor-Agentenmodus oder jeder andere Coding-Agent funktioniert genauso gut — gib ihm diese Seite als Kontext und nenne ihm das Ziel.

Wenn du den Wizard lieber selbst steuerst, sind die Schritte unten genau das, was der Agent tun würde.


Schritt 0 — Konto erstellen

  1. Öffne mint.mintbot.ai.
  2. Tippe die E-Mail-Adresse ein, die du als deinen Betreiber-Login verwenden möchtest.
  3. Klicke auf Send me a sign-in link.
  4. Öffne die E-Mail von pigeon@mintbot.ai und klicke auf den Magic Link (gültig für 24 h, einmalig verwendbar).

Es gibt kein Passwort — jede weitere Anmeldung ist ein weiterer Magic Link. Das ist Absicht: Passwörter lecken, Magic Links nicht, und sie sind später leicht von einem Agenten zu automatisieren, wenn du E-Mail-Zugriff einrichtest.


Schritt 1 — Domain

Die erste Frage des Wizards lautet, wo deine Agenten leben werden. Du hast zwei Möglichkeiten:

Agenten leben auf Subdomains einer Domain, die dir gehört — z. B. agent1.yourbrand.com, agent2.yourbrand.com, … Das ist das gebrandete Erlebnis, das deine Kunden sehen.

Du brauchst:

  • Apex-Domain — eine registrierte, blanke Domain (kein https://, keine Subdomain): yourbrand.com.
  • DNS-Provider — derzeit hat nur Zone.ee ein funktionierendes Backend. Cloudflare und manuelle Modi stehen auf der Roadmap.
  • Zone.ee API key + Benutzername — ausgestellt über my.zone.euAccount settings → API keys → Create new key. Der Agent nutzt dies, um A-Einträge automatisch zu erstellen, wenn du einen Agenten provisionierst.

Stil der Subdomain-Nummerierung

  • Text-Präfix + Nummer (Standard) — agent1.yourbrand.com, agent2.yourbrand.com, … Am besten lesbar.
  • Nur numerisch1.yourbrand.com, 2.yourbrand.com, … Kurz.
  • Numerisch, mit Nullen aufgefüllt001.yourbrand.com, … Stabile Breite.

Die Wahl ist rein kosmetisch — der Deploy-Worker kommt mit allen dreien zurecht.

Agenten leben auf *.mintbot.ai — kein Setup, kein DNS, aber die URL trägt nicht deine Marke. Nützlich zum Ausprobieren; wechsle vor dem kundenseitigen Launch zu deiner eigenen Domain.


Schritt 2 — Bot

Jeder Agent bekommt eine Chat-Oberfläche. Die Standardwerte gehen von Telegram aus — Discord und Slack sind vorbereitet, aber noch nicht angebunden.

Deine Kunden chatten mit @yourbrand_bot, was die Marke intakt hält.

  1. Öffne @BotFather in Telegram.
  2. Sende /newbot. Gib dem Bot einen Anzeigenamen und einen Benutzernamen (muss auf bot enden).
  3. BotFather gibt einen Token in der Form 123456789:AA… zurück (mindestens 40 Zeichen).
  4. Füge diesen Token in den Wizard ein.

Siehe Telegrams Bot-Tutorial, wenn du die längere Version möchtest.

Kunden chatten mit @mintbot_dev_bot. Schnell für eine Demo, aber ohne Branding. Wechsle vor dem Launch zu deinem eigenen Bot.

Überspringe Telegram komplett. Kunden greifen nur über das Web-Panel auf Agenten zu. Du kannst später aus den Einstellungen einen Bot hinzufügen.


Schritt 3 — Agent customization repo

Jeder Agent wird von mintbot selbst auf einer standardmäßigen, ungebrandeten Basis deployt. Um deine Marke darauf zu setzen — Persona, Panel-Theme, Texte, jegliches zusätzliche Tooling — verweist du den Wizard auf eine agent customization repo: ein GitHub-Repository, das der eigene VPS des Agenten nach dem Standard-Deploy klont und ausführt. Du entscheidest über das Aussehen; dir gehört der Code.

Wie die agent customization repo funktioniert

Die Repo-Wurzel enthält zwei Skripte:

  • install.sh — läuft einmal auf dem VPS des Agenten, nachdem der Standard-Deploy abgeschlossen ist und der Agent gesund ist. Hier wendest du deine Anpassung an: Theme, Persona-Anpassungen, zusätzliche Tools, jegliches kundenspezifische Setup.
  • update.sh — optional; läuft nach jedem Basis-Paket-Update, sodass du deine Schicht erneut auf der frisch aktualisierten Basis anwenden kannst.

Mintbot führt dein Repo niemals aus — nur der eigene VPS des Agenten tut das, auf der eigenen Maschine des Kunden. Füge die GitHub-HTTPS-URL deines Repos in den Wizard ein; lass sie leer und du bekommst die schlichte ungebrandete Basis.

Erstelle ein Repo mit einer install.sh (und optional update.sh) in seiner Wurzel, das dein CSS / deine Strings / deine Persona anwendet, und füge dann die GitHub-HTTPS-URL des Repos ein. Der VPS des Agenten klont es nach dem Deploy und führt deine Skripte aus, um deine Marke auf der Basis aufzulegen.

Ein defektes Skript kann den Agenten deines Kunden nicht kaputtmachen

Deine Skripte sind fehlerisoliert. Wenn install.sh oder update.sh fehlt, einen Fehler wirft oder langsam läuft, gelingt der Deploy trotzdem, das Basis-Paket-Update wird nie blockiert oder zurückgerollt und der Agent bleibt gesund. Der Fehler wird auf dem VPS geloggt und dir gemeldet — niemals dem Endkunden. Der einzige Nachteil eines defekten Skripts ist, dass der Agent auf der schlichten Basis bleibt statt auf deiner gebrandeten Schicht, also teste dein Repo zuerst auf einem DEV-Deploy.

Schlichte ungebrandete Basis-Gestaltung und -Persona — keine agent customization repo. Du kannst später aus den Einstellungen eine Repo-URL hinzufügen.


Schritt 4 — API

Die Brand Partner API lässt dich die Agentenerstellung von deinem eigenen Backend aus orchestrieren, statt das Dashboard zu nutzen. Der Wizard überspringt das API-Setup standardmäßig — lass es für später, es sei denn, du bist bereit, jetzt zu integrieren.

Wenn du bereit bist:

  1. Öffne im Dashboard Settings → API access.
  2. Klicke auf Generate key. Der Klartext wird einmal angezeigt — speichere ihn in deinem Secret Manager.
  3. (Optional) Konfiguriere eine Webhook-URL, um Lifecycle-Ereignisse zu empfangen.
  4. (Optional) Generiere ein Webhook-Signaturgeheimnis, sobald dein Empfänger bereit ist, Signaturen zu verifizieren.

Siehe die Brand Partner API-Referenz für die vollständige Endpoint-Liste und die Webhook-Payload-Strukturen.

Webhook-URL und Signaturgeheimnis sind optional

Keines davon ist erforderlich, um mit dem Verkaufen zu beginnen — das Dashboard und die API funktionieren auch ohne sie. Das Webhook-URL-Feld bleibt leer, bis du einen Empfänger hast, der auf https://<your-host>/... zeigt; das Signaturgeheimnis ist nur nützlich, sobald du diese URL gesetzt hast und den X-Mintbot-Signature header verifizieren möchtest. Beide können jederzeit aus Settings → API access hinzugefügt (oder rotiert) werden.

Lass einen Integrations-Agenten das Setup entdecken

Sobald du einen API key hast, kann ein Agent GET /api/v1/settings aufrufen, um deine vollständige nicht geheime Konfiguration in einem Zug zu lesen — Domain, DNS-Provider, Bot, agent customization repo, Subdomain-Muster, Preise, Readiness. Es wird nie ein Geheimnis zurückgegeben (Tokens und keys erscheinen nur als *_set booleans), sodass der key sicher mit dem Agenten geteilt werden kann, der dein White-Label-Setup auf einem frischen Server installiert.

Überspring den Boilerplate — forke das Referenz-Portal

Ein vollständiges, lauffähiges Beispiel-Storefront liegt unter mintbot-ai/partner-portal-example. Siehe Referenz-Portal unten für die vollständige Durchführung.


Schritt 5 — Preise

Der letzte Wizard-Schritt ist, was deine Kunden pro Paket zahlen. MintOffice teilt die Preisgestaltung in zwei Modi auf — du kannst später unter Settings → Pricing wechseln:

Kunden sehen mintbots empfohlenen Preis pro Tier (Trial, Starter, Pro, Max). Du machst die Partnermarge zwischen diesem empfohlenen Preis und der Großhandelsuntergrenze — kein Setup. Wähle dies, wenn du einfach mit dem Verkaufen beginnen möchtest.

Du legst den Preis fest, den jeder Kunde für jedes Tier zahlt. Du steckst jeden Cent über der Großhandelsuntergrenze ein. Wähle dies, wenn du eine bewusste Aufschlagsstrategie hast.

Die Großhandelsuntergrenze ist, was mintbot dir pro Bestellung berechnet — es ist das absolute Minimum, das du berechnen kannst. Dein Partneranteil ist customer_price − wholesale_floor pro Bestellung. Der Wizard zeigt eine Vorschau der berechneten Margen pro Tier, bevor du absendest.

Eigene Preise können teilweise sein

Selbst im Custom-Modus musst du nicht jedes Tier überschreiben — lass ein Tier auf dem Standard und es erbt mintbots empfohlenen Preis. Bearbeite nur die, die dir wichtig sind.


Live gehen

Nach dem Wizard zeigt das Dashboard ein Banner, das alle noch fehlenden Pflichtangaben auflistet. Die drei Pflichtfelder sind:

  1. Telegram-Bot-Token (oder ein anderer Bot-Provider)
  2. DNS API key (z. B. Zone.ee key + Benutzername)
  3. Apex-Domain

Die agent customization repo URL ist optional — lass sie leer und deine Agenten deployen auf der schlichten ungebrandeten Basis.

Sobald die Pflichtfelder ausgefüllt sind und die DNS-Provider-Prüfung besteht, aktiviert sich der Go Live-Button. Ein Klick darauf schaltet deinen Partnerstatus von onboardinglive, und die Brand Partner API beginnt, Auftragserstellungs-Anfragen anzunehmen.

Die Aktivierung ist ein Einweg-Handshake

Dein Account bleibt in onboarding, bis du auf Go Live klickst. Während des Onboardings lehnt die API Schreibvorgänge mit einem 403 ab (Lesevorgänge bleiben offen, sodass du den Zustand inspizieren kannst). Aktiviere nicht, bevor dein Domain-DNS in Zone.ee verifiziert ist und du (falls du eines nutzt) deine Customization-Repo auf einem DEV-Deploy getestet hast.

Nach Go Live: Domain- + Telegram-Bot-Einstellungen sperren

Sobald dein Partnerstatus live ist, werden die Abschnitte Domain und Telegram bot der Einstellungen schreibgeschützt. Bestehende Kundenagenten zeigen bereits auf deine Apex-Domain und chatten über deinen Bot — eine stille Änderung würde sie mitten im Leben verwaisen lassen. Die anderen Abschnitte bleiben editierbar:

Sektion Editierbar während live?
Domain / DNS / Subdomain-Muster Nein — kontaktiere den Support, wenn du migrieren musst
Telegram bot Nein — kontaktiere den Support, wenn du migrieren musst
Agent customization repo Ja — neue Agenten klonen die neue Repo-URL; bestehende Agenten führen es bei ihrem nächsten Basis-Update über update.sh erneut aus
API key / Webhook Ja — jederzeit rotieren
Preise Ja — gilt für zukünftige Bestellungen

Die Sperre wird sowohl in der UI durchgesetzt (Fieldset deaktiviert, Banner mit Erklärung) als auch auf dem Server (POSTs an /settings mit section=domain oder section=bot geben 403 zurück).


Webhooks + Auszahlungen

  • Webhook-Zustellungen — jedes Lifecycle-Ereignis (Bestellung erstellt, aktiviert, abgelaufen) wird per POST an die Webhook-URL gesendet, die du in den Einstellungen setzt. Der Webhook-Health-Chip des Dashboards pro Partner zeigt die Zustellungs-Erfolgsrate über die letzten 24 h.
  • Umsatz-Ledger — jede bezahlte Bestellung schreibt eine Zeile mit deinem Brutto, deinem Anteil und mintbots Anteil. Das Dashboard zeigt Gesamtsummen über die Lebenszeit und den nicht ausgezahlten Saldo.
  • Auszahlungen — sammeln sich an. Das mintbot-Team zahlt sie manuell pro Partnervereinbarung aus; das Dashboard verfolgt den Status bezahlt vs. nicht bezahlt.

Referenz-Portal

Wenn du kein Storefront von Grund auf bauen möchtest, forke das offizielle Beispiel: mintbot-ai/partner-portal-example. Es ist MIT-lizenziertes FastAPI + SQLite + Docker, kommt mit einem fiktiven "AcmeAI"-Branding, das du austauschen kannst, und deckt die vollständige Schleife Ende-zu-Ende ab:

  • Landing-Page mit Plan-Karten,
  • /buy-Formular → POST /api/v1/orders → Stripe-Checkout-Weiterleitung,
  • Danke- / Abbruch-Rückkehrseiten,
  • POST /webhooks/mintoffice mit dem HMAC-Signaturverifizierer,
  • HTTP-Basic-Auth-/admin-Ereignisbrowser,
  • /healthz-Liveness-Probe.

Setup-Durchführung

  1. Forke das Repo, damit du deine Branding-Änderungen in git behalten kannst:

    git clone https://github.com/mintbot-ai/partner-portal-example.git
    cd partner-portal-example
    cp .env.example .env
    
  2. Fülle .env mit Werten aus deinem MintOffice-Dashboard:

    Variable Was hier hineingehört
    PARTNER_BRAND Für Kunden sichtbarer Markenname (auch als Stripe-Posten-Label verwendet).
    MINTOFFICE_API_URL https://mint.mintbot.ai für live, https://mint.mintbot.dev zum Testen.
    MINTOFFICE_API_KEY API key aus Settings → API access (Format mo_live_…).
    MINTOFFICE_WEBHOOK_SECRET Webhook-Signaturgeheimnis, das bei der Erstellung einmal im selben Dashboard angezeigt wird.
    PUBLIC_BASE_URL Die HTTPS-URL, auf der dein Portal leben wird (zum Bau von Stripe-success_url / cancel_url).
    ADMIN_USERNAME / ADMIN_PASSWORD Basic-Auth-Gate auf /admin. Verwende ein langes zufälliges Passwort.
  3. Lass es laufen — Docker ist der einfachste Weg; Bare-Metal funktioniert auch:

    docker compose up --build
    
    pip install -e .
    uvicorn app.main:app --reload
    
  4. Stelle es über HTTPS bereit — MintOffice lehnt http:// sowohl für Stripe-Weiterleitungs-URLs als auch für die Webhook-URL ab (private IPs und localhost werden vom SSRF-Schutz blockiert). Für die lokale Entwicklung nutze Cloudflare Tunnel, Tailscale Funnel oder ngrok. Für die Produktion deploye auf deinen eigenen Host.

  5. Verweise deine Partner-Zeile auf das Portal — zurück im Dashboard:

    • Setze die Webhook URL auf https://<your-host>/webhooks/mintoffice.
    • Das war's. Platziere eine Testbestellung über /buy und beobachte, wie die Ereignisse in /admin ankommen.

Rebranding

Die Standard-Templates geben vor, AcmeAI zu sein. Drei Berührungspunkte:

  • PARTNER_BRAND in .env — fließt in Stripe, Header, Footer.
  • app/templates/base.html — CSS-Variablen für Farben / Akzent.
  • app/templates/*.html — Texte und Layout pro Seite. Übersetzungen (Estnisch, Spanisch, …) leben als Forks dieser Dateien.

Schnelles Deploy auf demselben VPS wie deine Agenten

Das Beispiel-Portal ist klein genug, um neben deinem MintOffice-Deploy-Agenten zu laufen. Wenn du bereits einen mintbot-Agenten-VPS hast, bitte ihn: "Deploye partner-portal-example als Webhook-Empfänger unter https://portal.<my-domain>/, fülle MINTOFFICE_API_KEY und MINTOFFICE_WEBHOOK_SECRET aus GET /api/v1/settings aus und setze die Webhook-URL auf meiner Partner-Zeile." Der Agent hat die Docs und den API-key-Pfad, um dies Ende-zu-Ende zu erledigen.


Brand Partner API

Für programmatische Agentenerstellung, Status-Polling und Webhook-Ereignisse siehe die Brand Partner API-Referenz. Für die breitere Architektur (wie dein Storefront, die API, der Deploy-Worker und der Agenten-VPS jedes Kunden zusammenpassen) siehe MintOffice — Technisch.