MintOffice¶
Ang MintOffice ang Brand Partner portal para sa mintbot.ai. Hinahayaan ka nitong i-resell ang mintbot sa ilalim ng sarili mong brand: domain mo, bot mo, client list mo — habang mintbot ang bahala sa deployment, billing rails, at per-agent infrastructure sa likod ng lahat.
Ang live partner portal ay nasa mint.mintbot.ai.
Gagabayan ka ng guide na ito mula sa "ngayon ko lang narinig ang MintOffice" hanggang sa "live na ang una kong white-label agent sa sarili kong domain". Ang technical parts (DNS records, GitHub repo, bot token) ay mas mainam na ipa-handle sa isang mintbot agent para sa iyo — tingnan ang Hayaan ang agent na mag-setup para sa iyo bago ka magsimula.
Ikaw mismo ang gagawa ng integration?
Para sa developer-facing side — kung aling repositories ang i-fo-fork mo, paano tumatakbo ang deploy flow end-to-end, at paano nagsasama ang agent template + storefront — tingnan ang MintOffice — Technical.
Ano ang makukuha mo¶
- I-resell ang bawat mintbot package (Trial, Starter, Pro, Max) sa ilalim ng sarili mong
domain — makikita ng customers mo ang
agent1.yourbrand.com, hindi*.mintbot.ai. - Gamitin ang sarili mong Telegram bot (
@yourbrand_bot) para sa chat traffic, o humiram muna ng bot ng mintbot habang nagte-test ka pa. - Piliin ang customer-facing prices mo at ibulsa ang difference sa pagitan ng sisingilin mo sa kanila at ng sisingilin sa iyo ng mintbot (ang MintOffice wholesale floor).
- Isang Brand Partner API para sa programmatic order creation, lifecycle status, at webhooks pabalik sa sarili mong systems.
- Isang dashboard na nagpapakita ng active customer orders, bot-link health, pricing, payouts, at webhook delivery.
Pricing — Brand Partner setup fee¶
Ang pag-sign up para sa free trial portal account ay, siyempre, libre — pero ang
Brand Partner signup fee ang isang payment na gagawin itong
real brand-partner account. Magbabayad ka nang isang beses sa
reception.mintbot.ai/mintoffice
(o reception.mintbot.dev/mintoffice para sa dev/test environment) at
ang parehong payment ang mag-u-unlock sa parehong portals:
| Tier | Price | What's included |
|---|---|---|
| Free trial (default para sa bawat bagong partner) | $0 | 10 disposable DEV deploys para sa pag-test ng portal + template mo |
| Brand Partner — launch promo | $49 one-off | 42 disposable DEV deploys, Brand Partner status sa parehong mint.mintbot.ai + mint.mintbot.dev, thorough setup guide (kayang patakbuhin ng agent ang buong wizard para sa iyo) |
| Brand Partner — standard | $99 one-off | Pareho sa launch — walang promo |
Ano ang mangyayari pagkatapos mong magbayad:
- Ipo-process ng Stripe ang payment sa
reception.mintbot.ai/mintoffice(o.devkung nasa test environment ka) — parehong card / Apple Pay / Google Pay flow tulad ng ordinary mintbot tier orders. - Magpapadala agad ang Reception ng signed grant sa parehong
mint.mintbot.aiatmint.mintbot.dev, at iko-convert ang account mo sa Brand Partner status sa parehong portals. - Makakatanggap ka ng welcome email mula sa
pigeon@mintbot.ai(opigeon@mintbot.devkung bumili ka sa test env) na naglalaman ng parehong signin links at pointer papunta sa guide na ito. - Mag-sign in sa alinmang portal na gusto mong simulan. Kung sakaling hindi umabot ang cross-env push sa alinmang portal sa anumang dahilan, ang unang signin sa portal na iyon ay magtatanong sa reception ng "did this email pay?" at ia-apply ang grant on the spot.
Ang fee ay one-time payment, hindi subscription. Naka-on by default ang launch
promo habang niro-roll out namin ang MintOffice; ito ay
controlled ng MINTOFFICE_SETUP_PROMO server flag, kaya ang price
na makikita mo sa checkout ang price na babayaran mo.
Refunds
14-day refund window, no questions asked — kung hindi sulit ang tier
para sa use case mo, mag-email sa support@mintbot.ai at ibabalik namin ang
fee.
Ang wholesale per-agent pricing (ang rate na sisingilin sa iyo ng mintbot para sa bawat customer order na imi-mint mo) ay independent sa setup fee at nasa Step 5 — Pricing sa ibaba.
Let an agent set you up¶
Karamihan sa technical work — pagbili ng domain, pag-configure ng DNS, paggawa ng Telegram bot, pag-fork ng template repo — ay mechanical. Kaya mo itong gawin manually, pero ang pinakasmooth na path ay i-delegate ito sa isang mintbot agent.
Recommended path
Mag-spin up ng mintbot agent at sabihin dito:
"Set me up as a MintOffice brand partner under domain yourbrand.com
— walk me through the onboarding wizard and fill in everything you
can on my behalf."
May access ang agent sa terminal, browser, DNS API, GitHub auth, at knowledge ng guide na ito. Sasabihin nito sa iyo kung eksaktong aling step ang kailangan ng iyong intervention (hal. pag-click sa confirmation ng BotFather sa Telegram) at ito ang bahala sa natitira.
Ang sarili mong Hermes, isang OpenCode / OpenClaw install, Cursor agent mode, o kahit anong coding agent ay gagana rin equally well — ibigay dito ang page na ito bilang context at sabihin ang goal.
Kung mas gusto mong ikaw mismo ang magpatakbo ng wizard, ang steps sa ibaba ay eksaktong gagawin ng agent.
Step 0 — Gumawa ng account mo¶
- Buksan ang mint.mintbot.ai.
- I-type ang email address na gusto mong gamitin bilang operator login.
- I-click ang Send me a sign-in link.
- Buksan ang email mula sa
pigeon@mintbot.aiat i-click ang magic link (valid for 24 h, single-use).
Walang password — bawat susunod na login ay isa pang magic link. Intentional ito: nagle-leak ang passwords, hindi ang magic links, at madali ang mga ito para sa agent na i-automate later kung magse-set up ka ng email access.
Step 1 — Domain¶
Ang unang tanong ng wizard ay saan titira ang agents mo. May dalawang choices ka:
Ang agents ay nasa subdomains ng domain na pagmamay-ari mo — hal.
agent1.yourbrand.com, agent2.yourbrand.com, … Ito ang
branded experience na makikita ng customers mo.
Kakailanganin mo ng:
- Apex domain — isang registered, bare domain (walang
https://, walang subdomain):yourbrand.com. - DNS provider — sa ngayon, Zone.ee lang ang may working backend. Nasa roadmap ang Cloudflare at manual modes.
- Zone.ee API key + username — ini-issue mula sa my.zone.eu → Account settings → API keys → Create new key. Ginagamit ito ng agent para gumawa ng A-records automatically kapag nagpo-provision ka ng agent.
Subdomain numbering style
- Text prefix + number (default) —
agent1.yourbrand.com,agent2.yourbrand.com, … Pinaka human-readable. - Numeric only —
1.yourbrand.com,2.yourbrand.com, … Maikli. - Numeric, zero-padded —
001.yourbrand.com, … Stable ang width.
Purely cosmetic ang choice — okay ang deploy worker sa lahat ng tatlo.
Ang agents ay nasa *.mintbot.ai — walang setup, walang DNS, pero hindi
dala ng URL ang brand mo. Useful para sa quick testing; lumipat sa sarili mong
domain bago ang customer-facing launch.
Step 2 — Bot¶
Bawat agent ay may chat surface. Telegram ang ina-assume ng defaults — naka-scaffold ang Discord at Slack pero hindi pa wired.
Makikipag-chat ang customers mo sa @yourbrand_bot, kaya intact ang brand.
- Buksan ang @BotFather sa Telegram.
- I-send ang
/newbot. Bigyan ang bot ng display name at username (dapat nagtatapos sabot). - Magbabalik ang BotFather ng token na may hugis na
123456789:AA…(kahit 40 characters). - I-paste ang token na iyon sa wizard.
Tingnan ang bot tutorial ng Telegram kung gusto mo ng mas mahabang version.
Makikipag-chat ang customers sa @mintbot_dev_bot. Mabilis para sa demo, pero unbranded.
Lumipat sa sarili mong bot bago mag-launch.
I-skip muna ang Telegram nang buo. Maa-access ng customers ang agents sa pamamagitan lang ng web panel. Maaari kang magdagdag ng bot later mula sa Settings.
Step 3 — Template¶
Bawat agent ay binubuo mula sa isang template repository na naglalaman ng CSS, copy, default persona, at plugin set ng agent. Ikaw ang magdedesisyon ng itsura.
Default template — mintbot-ai/agent-template
Ito ang default template na nifo-fork para sa bawat bagong client agent. Kinokontrol nito ang SOUL.md (agent persona), config.yaml (Hermes settings), at panel theme (CSS variables at copy). I-fork ito, gawin ang changes mo, at ituro ang wizard sa URL ng fork mo. Bawat deploy ay humihila ng fresh copy, kaya palaging nakukuha ng clients mo ang latest revision.
I-branch ang mintbot-ai/agent-template, i-edit ang CSS / strings / persona para tumugma sa brand mo, at i-paste ang URL ng fork mo.
Safety net
Bawat deploy ay humihila ng fresh copy ng fork mo at nagpapatakbo ng contract tests. Kung mag-fail ang mga ito, mag-a-abort ang deploy — hindi kailanman makikita ng customer mo ang broken build.
Plain mintbot styling. Maaari kang lumipat sa sarili mong fork later mula sa Settings.
Step 4 — API¶
Pinapayagan ka ng Brand Partner API na i-orchestrate ang paggawa ng agent mula sa sarili mong backend sa halip na gamitin ang dashboard. Nilalaktawan ng wizard ang API setup bilang default — iwan mo muna ito para sa susunod maliban kung handa ka nang mag-integrate ngayon.
Kapag handa ka na:
- Mula sa dashboard, buksan ang Settings → API access.
- I-click ang Generate key. Ipapakita ang plaintext nang isang beses lang — itago ito sa iyong secret manager.
- (Optional) Mag-configure ng webhook URL para makatanggap ng lifecycle events.
- (Optional) Gumawa ng webhook signing secret kapag handa na ang receiver mo na mag-verify ng signatures.
Tingnan ang Brand Partner API reference para sa buong listahan ng endpoints at ang mga hugis ng webhook payload.
Optional ang Webhook URL at signing secret
Hindi kailangan ang alinman para magsimulang magbenta — gumagana nang maayos
ang dashboard at API kahit wala ang mga ito. Mananatiling walang laman ang
webhook URL field hanggang mayroon kang receiver na nakaturo sa
https://<your-host>/...; kapaki-pakinabang lang ang signing secret kapag
na-set mo na ang URL na iyon at gusto mong i-verify ang
X-Mintbot-Signature header. Pareho itong puwedeng idagdag (o i-rotate)
anumang oras mula sa Settings → API access.
Hayaan ang integration agent na i-discover ang setup
Kapag mayroon ka nang API key, maaaring tumawag ang agent sa
GET /api/v1/settings para basahin ang iyong
buong non-secret configuration sa isang request — domain, DNS provider, bot,
template, subdomain pattern, pricing, readiness. Walang secret na kailanman
ibinabalik (lumalabas lang ang tokens at keys bilang *_set booleans), kaya ligtas
ibahagi ang key sa agent na nag-i-install ng white-label setup mo sa bagong server.
Laktawan ang boilerplate — i-fork ang reference portal
May kumpleto at runnable na example storefront sa mintbot-ai/partner-portal-example. Tingnan ang Reference portal sa ibaba para sa buong walkthrough.
Step 5 — Pricing¶
Ang huling step ng wizard ay kung magkano ang babayaran ng customers mo kada package. Hinahati ng MintOffice ang pricing sa dalawang mode — puwede kang magpalit mamaya sa ilalim ng Settings → Pricing:
Makikita ng customers ang recommended price ng mintbot kada tier (Trial, Starter, Pro, Max). Kikita ka ng partner margin sa pagitan ng recommended price na iyon at ng wholesale floor — zero setup. Piliin ito kung gusto mo lang magsimulang magbenta.
Ikaw ang magse-set ng presyong babayaran ng bawat customer para sa bawat tier. Mapupunta sa iyo ang bawat sentimo na lampas sa wholesale floor. Piliin ito kapag mayroon kang sadyang markup strategy.
Ang wholesale floor ang sinisingil ng mintbot sa iyo kada order — ito ang
absolute minimum na puwede mong singilin. Ang partner cut mo ay
customer_price − wholesale_floor kada order. Ipinapakita muna ng wizard ang preview ng
calculated margins kada tier bago ka mag-submit.
Puwedeng partial ang custom pricing
Kahit nasa custom mode, hindi mo kailangang i-override ang bawat tier — iwan ang tier sa default at mamanahin nito ang recommended price ng mintbot. I-edit lang ang mga mahalaga sa iyo.
Going live¶
Pagkatapos ng wizard, magpapakita ang dashboard ng banner na naglilista ng anumang kulang pa na required info. Ang apat na required fields ay:
- Telegram bot token (o ibang bot provider)
- DNS API key (hal. Zone.ee key + username)
- Template repo URL
- Apex domain
Kapag napunan na ang apat at pumasa ang DNS provider check, maa-activate ang Go
Live button. Kapag na-click ito, lilipat ang partner status mo mula
onboarding → live, at magsisimulang tumanggap ang Brand Partner API ng
order-creation requests.
One-way handshake ang activation
Mananatili ang account mo sa onboarding hanggang i-click mo ang Go Live. Habang
onboarding, nire-reject ng API ang writes gamit ang 403 (mananatiling bukas ang reads para
ma-inspect mo ang state). Huwag mag-activate hanggang verified ang domain DNS mo
sa Zone.ee at green ang tests ng template repo mo.
Pagkatapos ng Go Live: naka-lock ang domain + Telegram bot settings
Kapag live na ang partner status mo, magiging read-only ang Domain at Telegram
bot sections ng Settings. Nakaturo na ang existing customer agents
sa apex domain mo at nakikipag-chat na sila sa pamamagitan ng bot mo — ang
tahimik na pagbabago ay mag-oorphan sa kanila habang active pa sila. Mananatiling
editable ang ibang sections:
| Section | Editable habang live? |
|---|---|
| Domain / DNS / subdomain pattern | No — makipag-ugnayan sa support kung kailangan mong mag-migrate |
| Telegram bot | No — makipag-ugnayan sa support kung kailangan mong mag-migrate |
| Agent template | Yes — gagamitin ng bagong orders ang bagong template; pananatilihin ng existing agents ang seeded template nila |
| API key / webhook | Yes — puwedeng i-rotate anumang oras |
| Pricing | Yes — nalalapat sa future orders |
Ipinapatupad ang lock pareho sa UI (disabled ang fieldset, may banner
na nagpapaliwanag kung bakit) at sa server (ang POSTs sa /settings na may
section=domain o section=bot ay nagbabalik ng 403).
Webhooks + payouts¶
- Webhook deliveries — bawat lifecycle event (order created, activated, expired) ay nagpo-post sa webhook URL na itinakda mo sa Settings. Ipinapakita ng per-partner Webhook health chip sa dashboard ang delivery success rate sa nakaraang 24 h.
- Revenue ledger — bawat paid order ay nagsusulat ng row na may gross mo, cut mo, at cut ng mintbot. Ipinapakita ng dashboard ang lifetime totals at unpaid balance.
- Payouts — naiipon. Manu-manong ibinabayad ito ng mintbot team ayon sa partner agreement; sinusubaybayan ng dashboard ang paid vs unpaid status.
Reference portal¶
Kung ayaw mong gumawa ng storefront mula sa simula, i-fork ang official example: mintbot-ai/partner-portal-example. MIT-licensed itong FastAPI + SQLite + Docker, may kasamang fictional "AcmeAI" branding na puwede mong palitan, at sakop nito ang buong loop end-to-end:
- landing page na may plan cards,
/buyform →POST /api/v1/orders→ Stripe checkout redirect,- thank-you / cancel return pages,
POST /webhooks/mintofficegamit ang HMAC signature verifier,- HTTP-Basic-auth
/adminevent browser, /healthzliveness probe.
Setup walkthrough¶
-
I-fork ang repo para maitago mo sa git ang branding changes mo:
git clone https://github.com/mintbot-ai/partner-portal-example.git cd partner-portal-example cp .env.example .env -
Punan ang
.envgamit ang values mula sa MintOffice dashboard mo:Variable Ano ang ilalagay dito PARTNER_BRANDBrand name na makikita ng customer (ginagamit din bilang Stripe line-item label). MINTOFFICE_API_URLhttps://mint.mintbot.aipara sa live,https://mint.mintbot.devpara sa testing.MINTOFFICE_API_KEYAPI key mula sa Settings → API access (format mo_live_…).MINTOFFICE_WEBHOOK_SECRETWebhook signing secret na ipinakita nang isang beses sa creation sa parehong dashboard. PUBLIC_BASE_URLAng HTTPS URL kung saan titira ang portal mo (ginagamit para buuin ang Stripe success_url/cancel_url).ADMIN_USERNAME/ADMIN_PASSWORDBasic-auth gate sa /admin. Gumamit ng mahaba at random na password. -
Patakbuhin ito — Docker ang pinakamadaling path; gumagana rin ang bare-metal:
docker compose up --buildpip install -e . uvicorn app.main:app --reload -
I-expose ito sa HTTPS — nire-reject ng MintOffice ang
http://para sa parehong Stripe redirect URLs at webhook URL (blocked ng SSRF guard ang private IPs atlocalhost). Para sa local development, gumamit ng Cloudflare Tunnel, Tailscale Funnel, o ngrok. Para sa production, i-deploy sa sarili mong host. -
Ituro ang partner row mo sa portal — bumalik sa dashboard:
- I-set ang Webhook URL sa
https://<your-host>/webhooks/mintoffice. - Iyon lang. Mag-place ng test order mula sa
/buy, at panoorin ang events na dumating sa/admin.
- I-set ang Webhook URL sa
Rebranding¶
Nagpapanggap ang default templates bilang AcmeAI. Tatlong touch-points:
PARTNER_BRANDsa.env— dumadaloy sa Stripe, headers, footers.app/templates/base.html— CSS variables para sa colours / accent.app/templates/*.html— copy at per-page layout. Ang translations (Estonian, Spanish, …) ay nabubuhay bilang forks ng files na ito.
Quick deploy sa parehong VPS ng agents mo
Sapat na maliit ang example portal para patakbuhin kasama ng MintOffice
deploy agent mo. Kung mayroon ka nang mintbot agent VPS, hilingin dito:
"Deploy partner-portal-example as a webhook receiver under
https://portal.<my-domain>/, fill in MINTOFFICE_API_KEY and
MINTOFFICE_WEBHOOK_SECRET from GET /api/v1/settings, and set the
webhook URL on my partner row." Nasa agent ang docs at API
key path para gawin ito end-to-end.
Brand Partner API¶
Para sa programmatic agent creation, status polling, at webhook events, tingnan ang Brand Partner API reference. Para sa mas malawak na architecture (kung paano nagfi-fit together ang storefront mo, API, deploy worker, at bawat customer agent VPS), tingnan ang MintOffice — Technical.