Zum Inhalt

MintOffice

MintOffice ist das Brand-Partner-Portal von mintbot.ai. Damit verkaufst du mintbot unter deiner eigenen Marke weiter: deine Domain, dein Bot, deine Kundenliste — während mintbot unter der Haube Deployment, Zahlungsabwicklung und die Infrastruktur pro Agent übernimmt.

Das Live-Partnerportal findest du unter mint.mintbot.ai.

Diese Anleitung führt dich von „Ich habe gerade zum ersten Mal von MintOffice gehört“ bis zu „Mein erster White-Label-Agent läuft auf meiner eigenen Domain“. Die technischen Teile (DNS-Einträge, GitHub-Repo, Bot-Token) erledigt am besten ein mintbot-Agent für dich — lies dazu Lass dich von einem Agenten einrichten, bevor du beginnst.

Baust du die Integration selbst?

Die Entwicklerperspektive — welche Repositories dir gehören, wie der Deploy-Ablauf von Anfang bis Ende läuft und wie Agent-Customization-Repo und Storefront zusammenspielen — findest du unter 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-Verkehr oder leihe dir mintbots Bot, solange du noch testest.
  • Lege deine Endkundenpreise selbst fest und behalte die Differenz zwischen dem, was du deinen Kunden berechnest, und dem, was mintbot dir berechnet (dem MintOffice-Einkaufspreis).
  • Eine Brand Partner API zum programmatischen Anlegen von Bestellungen, für Lifecycle-Status und für Webhooks zurück in deine eigenen Systeme.
  • Ein Dashboard mit aktiven Kundenbestellungen, Status der Bot-Anbindung, Preisen, Auszahlungen und Webhook-Zustellung.

Preise — Einrichtungsgebühr für Brand Partner

Ein kostenloses Testportal-Konto anzulegen ist — nun ja — kostenlos. Die Brand-Partner-Anmeldung dagegen ist die eine Zahlung, die daraus ein echtes Brand-Partner-Konto macht. Du zahlst die einmalige Einrichtungsgebühr unter reception.mintbot.ai/mintoffice (oder reception.mintbot.dev/mintoffice für die Dev-/Testumgebung), und dieselbe Zahlung schaltet beide Portale frei:

Tier Preis Enthalten
Kostenlose Testversion (Standard für jeden neuen Partner) 0 € 10 Wegwerf-DEV-Deploys zum Testen von Portal + Template
Brand Partner — Launch-Aktion 49 € einmalig + 10 €/Monat 20 DEV-Deploys (je 1 € Agenten-Guthaben), erster Monat Kontoverwaltung inklusive, Brand-Partner-Status auf mint.mintbot.ai und mint.mintbot.dev, ausführliche Einrichtungsanleitung (ein Agent kann den gesamten Assistenten für dich durchlaufen)
Brand Partner — Standard 99 € einmalig + 10 €/Monat Wie Launch — ohne Aktionsrabatt

Anmeldung ist in der Beta-Phase

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

Was die Einrichtungsgebühr abdeckt:

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

Die Kontoverwaltungsgebühr von 10 €/Monat:

Ab dem zweiten Monat fällt für das Brand-Partner-Konto eine Kontoverwaltungsgebühr von 10 €/Monat an. Am reibungslosesten zahlst du sie per Stripe- oder PayPal-Abo (empfohlen — es verlängert sich von selbst); die einmalige Einrichtungsgebühr kannst du auch per Karte oder Krypto (BTC, XMR und viele weitere Coins über CCPayment) bezahlen.

Bleibt die Monatsgebühr aus, wechselt dein MintOffice-Konto in den Status pausiert: Du kannst keine neuen Agenten deployen, aber deine bestehenden Kundenagenten laufen weiter. Wir melden uns, bevor irgendetwas stoppt, damit du das Konto wieder aktivieren kannst.

Was nach der Zahlung passiert:

  1. Reception verarbeitet die Einrichtungszahlung auf reception.mintbot.ai/mintoffice (oder .dev, wenn du in der Testumgebung bist) — Karte / Apple Pay / Google Pay oder Krypto.
  2. Reception schickt sofort einen signierten Grant an mint.mintbot.ai und mint.mintbot.dev und schaltet dein Konto auf beiden Portalen auf Brand-Partner-Status.
  3. Du bekommst eine Willkommens-E-Mail von pigeon@mintbot.ai (oder pigeon@mintbot.dev, wenn du in der Testumgebung gekauft hast) mit beiden Anmeldelinks und einem Verweis auf diese Anleitung.
  4. Melde dich auf dem Portal an, mit dem du starten willst. Sollte der Cross-Env-Push eines der Portale aus irgendeinem Grund verfehlt haben, fragt die erste Anmeldung dort bei Reception nach („Hat diese E-Mail-Adresse bezahlt?“) und wendet den Grant sofort an.

Die Launch-Aktion ist standardmäßig aktiv, solange wir MintOffice ausrollen; gesteuert wird sie über das Server-Flag MINTOFFICE_SETUP_PROMO. Der Preis, den du im Checkout siehst, ist also der Preis, den du zahlst.

Rückerstattungen

14 Tage Rückerstattungsfrist, ohne Nachfragen — wenn sich das Tier für deinen Anwendungsfall nicht lohnt, schreib an support@mintbot.ai, und wir erstatten die Gebühr.

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


Lass dich von einem Agenten einrichten

Der Großteil der technischen Arbeit — Domain kaufen, DNS konfigurieren, Telegram-Bot erstellen, Template-Repo forken — ist reine Mechanik. Du kannst das von Hand machen, aber am reibungslosesten geht es, wenn du es an einen mintbot-Agenten delegierst.

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-Assistenten und fülle alles aus, was du in meinem Namen ausfüllen kannst.“

Der Agent hat ein Terminal, einen Browser, eine DNS-API, GitHub-Zugang und kennt diese Anleitung. Er sagt dir genau, bei welchem Schritt er dich braucht (z. B. um die Bestätigung von BotFather in Telegram anzuklicken), und erledigt den Rest.

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

Wenn du den Assistenten lieber selbst durchgehst: Die Schritte unten sind genau das, was der Agent tun würde.


Schritt 0 — Konto erstellen

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

Es gibt kein Passwort — jede weitere Anmeldung läuft über einen neuen Magic Link. Das ist Absicht: Passwörter können leaken, Magic Links nicht, und ein Agent kann sie später leicht automatisieren, wenn du ihm E-Mail-Zugriff gibst.


Schritt 1 — Domain

Die erste Frage des Assistenten lautet, wo deine Agenten leben sollen. 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, nackte Domain (kein https://, keine Subdomain): yourbrand.com.
  • DNS-Provider — derzeit hat nur Zone.ee ein funktionierendes Backend. Cloudflare und ein manueller Modus stehen auf der Roadmap.
  • Zone.ee-API-Key + Benutzername — erstellst du unter my.zone.euAccount settings → API keys → Create new key. Damit legt der Agent automatisch A-Einträge an, wenn du einen Agenten provisionierst.

Nummerierung der Subdomains

  • Textpräfix + Nummer (Standard) — agent1.yourbrand.com, agent2.yourbrand.com, … Am besten lesbar.
  • Nur Ziffern1.yourbrand.com, 2.yourbrand.com, … Kurz.
  • Ziffern mit führenden Nullen001.yourbrand.com, … Feste Breite.

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

Agenten leben auf *.mintbot.ai — keine Einrichtung, kein DNS, aber die URL trägt nicht deine Marke. Praktisch zum Ausprobieren; wechsle vor dem Start für Kunden zu deiner eigenen Domain.


Schritt 2 — Bot

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

Deine Kunden chatten mit @yourbrand_bot — die Marke bleibt intakt.

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

Die ausführliche Version findest du in Telegrams Bot-Tutorial.

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

Überspringe Telegram komplett. Kunden erreichen ihre Agenten nur über das Web-Panel. Einen Bot kannst du später in den Einstellungen hinzufügen.


Schritt 3 — Agent-Customization-Repo

Jeder Agent wird von mintbot selbst auf einer standardmäßigen, ungebrandeten Basis deployt. Um deine Marke darüberzulegen — Persona, Panel-Theme, Texte, zusätzliches Tooling —, zeigst du im Assistenten auf ein Agent-Customization-Repo: ein GitHub-Repository, das der eigene VPS des Agenten nach dem Standard-Deploy klont und ausführt. Du bestimmst das Aussehen; der Code gehört dir.

So funktioniert das Agent-Customization-Repo

Im Wurzelverzeichnis des Repos liegen zwei Skripte:

  • install.sh — läuft einmal auf dem VPS des Agenten, nachdem der Standard-Deploy abgeschlossen und der Agent gesund ist. Hier wendest du deine Anpassungen an: Theme, Persona-Feinschliff, zusätzliche Tools, kundenspezifische Einrichtung.
  • update.sh — optional; läuft nach jedem Update des Basispakets, damit du deine Schicht auf die frisch aktualisierte Basis neu auftragen kannst.

mintbot führt dein Repo nie aus — nur der eigene VPS des Agenten tut das, auf der Maschine des Kunden. Füge die GitHub-HTTPS-URL deines Repos in den Assistenten ein; lässt du das Feld leer, bekommst du die schlichte, ungebrandete Basis.

Erstelle ein Repo mit einer install.sh (und optional einer update.sh) im Wurzelverzeichnis, die dein CSS, deine Texte und deine Persona anwenden, 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 über die Basis zu legen.

Ein defektes Skript kann den Agenten deines Kunden nicht beschädigen

Deine Skripte sind fehlerisoliert. Wenn install.sh oder update.sh fehlt, mit einem Fehler abbricht oder langsam läuft, gelingt der Deploy trotzdem, das Update des Basispakets wird nie blockiert oder zurückgerollt, und der Agent bleibt gesund. Der Fehler wird auf dem VPS protokolliert und dir gemeldet — nie dem Endkunden. Der einzige Nachteil eines defekten Skripts: Der Agent bleibt auf der schlichten Basis statt auf deiner gebrandeten Schicht. Teste dein Repo also zuerst auf einem DEV-Deploy.

Schlichte, ungebrandete Basis-Gestaltung und -Persona — kein Agent-Customization-Repo. Eine Repo-URL kannst du später in den Einstellungen hinzufügen.


Schritt 4 — API

Mit der Brand Partner API steuerst du das Anlegen von Agenten aus deinem eigenen Backend heraus, statt das Dashboard zu nutzen. Der Assistent überspringt die API-Einrichtung standardmäßig — heb sie dir für später auf, es sei denn, du willst jetzt gleich integrieren.

Wenn es so weit ist:

  1. Öffne im Dashboard Settings → API access.
  2. Klicke auf Generate key. Der Klartext wird nur einmal angezeigt — lege ihn in deinem Secret-Manager ab.
  3. (Optional) Hinterlege eine Webhook-URL, um Lifecycle-Ereignisse zu empfangen.
  4. (Optional) Erzeuge ein Webhook-Signaturgeheimnis, sobald dein Empfänger Signaturen prüfen kann.

Die vollständige Endpoint-Liste und die Webhook-Payloads findest du in der Brand-Partner-API-Referenz.

Webhook-URL und Signaturgeheimnis sind optional

Keines von beiden ist nötig, um mit dem Verkaufen anzufangen — Dashboard und API funktionieren auch ohne. Das Feld für die Webhook-URL bleibt leer, bis du einen Empfänger unter https://<your-host>/... hast; das Signaturgeheimnis ist erst sinnvoll, wenn diese URL gesetzt ist und du den X-Mintbot-Signature-Header prüfen willst. Beides kannst du jederzeit unter Settings → API access hinzufügen (oder rotieren).

Lass einen Integrations-Agenten die Einrichtung auslesen

Sobald du einen API-Key hast, kann ein Agent GET /api/v1/settings aufrufen und deine vollständige nicht geheime Konfiguration auf einmal 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), du kannst den Key also bedenkenlos dem Agenten geben, der dein White-Label-Setup auf einem frischen Server installiert.

Spar dir den Boilerplate — forke das Referenz-Portal

Ein vollständiger, lauffähiger Beispiel-Storefront liegt unter mintbot-ai/partner-portal-example. Die komplette Anleitung steht unten unter Referenz-Portal.


Schritt 5 — Preise

Der letzte Schritt des Assistenten legt fest, was deine Kunden pro Paket zahlen. MintOffice kennt zwei Preismodi — du kannst später unter Settings → Pricing wechseln:

Kunden sehen mintbots empfohlenen Preis pro Tier (Trial, Starter, Pro, Max). Deine Partnermarge ist die Differenz zwischen diesem empfohlenen Preis und dem Einkaufspreis — ohne jede Einrichtung. Wähle das, wenn du einfach loslegen willst.

Du legst für jedes Tier fest, was der Kunde zahlt, und behältst jeden Cent über dem Einkaufspreis. Wähle das, wenn du eine bewusste Aufschlagsstrategie hast.

Der Einkaufspreis (wholesale floor) ist, was mintbot dir pro Bestellung berechnet — das absolute Minimum, das du verlangen kannst. Dein Partneranteil ist pro Bestellung customer_price − wholesale_floor. Der Assistent zeigt dir die berechneten Margen pro Tier als Vorschau, bevor du absendest.

Eigene Preise können teilweise sein

Auch im Custom-Modus musst du nicht jedes Tier überschreiben — lässt du ein Tier auf Standard, übernimmt es mintbots empfohlenen Preis. Bearbeite nur die, die dir wichtig sind.


Live gehen

Nach dem Assistenten zeigt das Dashboard ein Banner mit allen noch fehlenden Pflichtangaben. 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 URL des Agent-Customization-Repos ist optional — lässt du sie leer, deployen deine Agenten auf der schlichten, ungebrandeten Basis.

Sobald die Pflichtfelder ausgefüllt sind und die Prüfung des DNS-Providers besteht, wird der Button Go Live aktiv. Ein Klick darauf schaltet deinen Partnerstatus von onboarding auf live, und die Brand Partner API nimmt Anfragen zum Anlegen von Bestellungen an.

Die Aktivierung ist eine Einbahnstraße

Dein Konto bleibt in onboarding, bis du auf Go Live klickst. Während des Onboardings lehnt die API Schreibvorgänge mit 403 ab (Lesezugriffe bleiben offen, damit du den Zustand prüfen kannst). Aktiviere erst, wenn das DNS deiner Domain in Zone.ee verifiziert ist und du (falls du eines nutzt) dein Customization-Repo auf einem DEV-Deploy getestet hast.

Nach dem Go-Live sind Domain- und Telegram-Bot-Einstellungen gesperrt

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

Abschnitt Bearbeitbar im Status live?
Domain / DNS / Subdomain-Muster Nein — wende dich an den Support, wenn du migrieren musst
Telegram-Bot Nein — wende dich an den Support, wenn du migrieren musst
Agent-Customization-Repo Ja — neue Agenten klonen die neue Repo-URL; bestehende Agenten führen es beim nächsten Basis-Update über update.sh erneut aus
API-Key / Webhook Ja — jederzeit rotierbar
Preise Ja — gilt für künftige Bestellungen

Die Sperre greift sowohl in der Oberfläche (Fieldset deaktiviert, Banner mit Erklärung) als auch auf dem Server (POSTs an /settings mit section=domain oder section=bot liefern 403).


Webhooks + Auszahlungen

  • Webhook-Zustellungen — jedes Lifecycle-Ereignis (Bestellung angelegt, aktiviert, abgelaufen) wird per POST an die Webhook-URL gesendet, die du in den Einstellungen hinterlegst. Der Chip Webhook health im Dashboard zeigt pro Partner die Zustellquote der letzten 24 h.
  • Umsatz-Ledger — jede bezahlte Bestellung schreibt eine Zeile mit deinem Bruttoumsatz, deinem Anteil und mintbots Anteil. Das Dashboard zeigt die Gesamtsummen seit Beginn und den nicht ausgezahlten Saldo.
  • Auszahlungen — sammeln sich an. Das mintbot-Team zahlt sie manuell gemäß Partnervereinbarung aus; das Dashboard verfolgt den Status (ausgezahlt / offen).

Referenz-Portal

Wenn du keinen Storefront von Grund auf bauen willst, forke das offizielle Beispiel: mintbot-ai/partner-portal-example. Es ist MIT-lizenziert, basiert auf FastAPI + SQLite + Docker, kommt mit einem fiktiven „AcmeAI“-Branding zum Austauschen und deckt den kompletten Ablauf ab:

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

Einrichtung Schritt für Schritt

  1. Forke das Repo, damit deine Branding-Änderungen in Git bleiben:

    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 Bezeichnung der Stripe-Position).
    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 im selben Dashboard beim Erzeugen einmalig angezeigt wird.
    PUBLIC_BASE_URL Die HTTPS-URL, unter der dein Portal laufen wird (daraus werden die Stripe-success_url / cancel_url gebaut).
    ADMIN_USERNAME / ADMIN_PASSWORD Basic-Auth-Schutz für /admin. Verwende ein langes, zufälliges Passwort.
  3. Starte es — Docker ist der einfachste Weg, direkt auf dem Host geht auch:

    docker compose up --build
    
    pip install -e .
    uvicorn app.main:app --reload
    
  4. Mach es per HTTPS erreichbar — MintOffice lehnt http:// sowohl für die Stripe-Rücksprung-URLs als auch für die Webhook-URL ab (private IPs und localhost blockiert der SSRF-Schutz). Für die lokale Entwicklung nimm Cloudflare Tunnel, Tailscale Funnel oder ngrok. Für die Produktion deployst du auf deinen eigenen Host.

  5. Verbinde deinen Partnereintrag mit dem Portal — zurück im Dashboard:

    • Setze die Webhook URL auf https://<your-host>/webhooks/mintoffice.
    • Das war’s. Gib über /buy eine Testbestellung auf und sieh zu, wie die Ereignisse in /admin eintreffen.

Rebranding

Die Standard-Templates geben sich als AcmeAI aus. Drei Stellen sind anzupassen:

  • PARTNER_BRAND in .env — fließt in Stripe, Kopf- und Fußzeilen ein.
  • 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.

Schnell-Deploy auf demselben VPS wie deine Agenten

Das Beispiel-Portal ist klein genug, um neben deinem MintOffice-Deploy-Agenten zu laufen. Wenn du schon 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 an meinem Partnereintrag.“ Der Agent hat die Docs und den Zugriff auf den API-Key, um das komplett zu erledigen.


Brand Partner API

Für das programmatische Anlegen von Agenten, Status-Polling und Webhook-Ereignisse siehe die Brand-Partner-API-Referenz. Die übergeordnete Architektur (wie dein Storefront, die API, der Deploy-Worker und der Agenten-VPS jedes Kunden zusammenspielen) beschreibt MintOffice — Technisch.