❓ Frequently Asked Questions
A curated list of common questions about wacraft v0.2.x. Don't see your question? Email us at wacraft@astervia.tech and we'll update this page.
📦 General
What is wacraft?
An open‑source platform that wraps the WhatsApp Cloud API with a Go backend and Angular operator UI. Features include multi‑tenant workspaces, multiple phone number support, policy‑based permissions, and optional Stripe billing. You self‑host it and keep full control of your data.
Is it really free?
Yes – the full backend (wacraft-server) is MIT‑licensed with all features included. There is no lite/pro split in v0.2.x.
Where do I configure WhatsApp credentials?
In v0.2.x, phone number credentials are configured in the UI at /phone-configs/new — not in environment variables. See Phone Config Guide.
🚀 Deployment
Fastest way to try it?
git clone https://github.com/Astervia/wacraft.git
cp compose.env .env
docker compose up -d
I already use Vercel – can I keep it?
Yes. Follow the Binary + Vercel guide: server on your VM, UI on Vercel CDN.
Need help with multi‑region, Kubernetes, or on‑prem?
Astervia offers paid consultancy. Reach out via wacraft@astervia.tech.
🔐 Accounts & Permissions
Default admin credentials?
su@sudo / value of SU_PASSWORD in your .env.
What's the difference between global roles and workspace policies?
- Global role
admin– grants access to app‑wide pages like/billing-adminand user management. - Global role
user– regular account, no special app‑level privileges. - Workspace policies – fine‑grained permissions within a workspace (e.g.
message.send,campaign.run). Assigned per member per workspace.
See Workspaces & Permissions for the full policy list.
Can I invite users to a workspace without giving them admin access?
Yes. Assign only the policies they need (e.g. message.read, message.send) when inviting them.
💳 Billing
Is billing required?
No. Billing is optional. The server works without BILLING_ENABLED=true or Stripe credentials.
How do I set up Stripe?
See the Stripe Setup Guide.
Where do users subscribe to plans?
Users go to /billing. Admins manage plans at /billing-admin.
🗄️ Data & Backups
Where is data stored?
All persistent data lives in PostgreSQL. Media is proxied; original files stay in Meta's CDN.
How do I back up?
docker compose exec db pg_dump -U postgres postgres > backup.sql
Or schedule managed snapshots in RDS / Cloud SQL.
🌐 WhatsApp / Meta Issues
WhatsApp "Pending Payment Method" / card declined / 2FA issues
Those are Meta Business account problems — we can't fix them via the API. Check Meta Business Manager > Payments. If it still blocks you, collect screenshots and email wacraft@astervia.tech.
Webhook verify token fails
Ensure the Callback URL is reachable (https://api.example.com/webhook-in) and the Verify Token in Meta exactly matches the Webhook Verify Token you entered in the Phone Config UI — no extra whitespace.
Messages stuck in pending
- Verify your WABA is in the Business Verified state.
- Check the Access Token in Phone Config is a long‑lived system user token.
- Check
MESSAGE_STATUS_SYNC_TIMEOUT_SECONDSin.env(default 20 s). - Inspect server logs:
docker compose logs server.
🌍 Localisation
Is the UI available in languages other than English and Portuguese?
Currently /en and /pt‑BR are maintained. Community translations welcome — see client/src/assets/i18n/.
🛠️ Contributing & Support
Found a bug?
Open an issue at https://github.com/Astervia/wacraft/issues with steps and logs.
Feature requests?
Same issue tracker — label it enhancement.
Commercial SLA / custom forks?
Email wacraft@astervia.tech to discuss a custom engagement.
Last updated: 2026‑03