# Mailchimp

The Wallet Crew can send transactional emails through Mailchimp Transactional (Mandrill). This covers messages like pass download links, verification emails, etc.

By default, The Wallet Crew uses **its own SendGrid account**. You can switch to **your own Mailchimp Transactional account** when you want to centralize email activity in Mandrill, or when you already rely on Mandrill for deliverability monitoring.

This setup is limited to transactional sending. It does not integrate Mailchimp Marketing features like audiences or campaigns.

If you’re not sure which option to pick, start with [Email provider](https://docs.thewalletcrew.io/connect/email-provider).

## Configure your own Mailchimp Transactional (Mandrill) account

Before you update The Wallet Crew configuration, make sure Mandrill can authenticate your sender identity. In practice, that means having a Mailchimp Transactional account, generating a Transactional API key, and validating the sender domain or email address you want to use.

{% stepper %}
{% step %}
**Decide what sender domain you want to use**

Prefer a dedicated subdomain such as `wallet.yourbrand.com` or `registration.yourbrand.com`. This keeps email authentication isolated from other mail systems.

{% hint style="info" %}
Using a dedicated subdomain reduces exposure and improves security through better isolation. We recommend using the same custom domain as your app when it makes sense for your setup.
{% endhint %}
{% endstep %}

{% step %}
**Create a Transactional API key**

Create an API key in Mailchimp Transactional (Mandrill), because The Wallet Crew uses it to call Mandrill’s send APIs on your behalf.

<div data-with-frame="true"><figure><img src="https://3566051324-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FWLc8AHXW4tdrAXUBfrYF%2Fuploads%2Fgit-blob-ca18994e5cf2a59ddd8722db2ba37ff27af22de5%2Fmailchimp_1.png?alt=media" alt="API configuration in Mailchimp Transactional." width="375"><figcaption><p>API configuration in Mailchimp Transactional.</p></figcaption></figure></div>

Follow this guide: [Generate your API key](https://mailchimp.com/developer/transactional/guides/quick-start/#generate-your-api-key).
{% endstep %}

{% step %}
**Update `/server/emails.yml`**

Open the advanced configuration editor:

<p align="center"><a href="https://admin.thewalletcrew.io/tenant/~/settings/configuration" class="button secondary" data-icon="chevrons-right">Administration console - Advanced Configuration</a></p>

Then create or edit `/server/emails.yml`:

{% code title="/server/emails.yml" %}

```yaml
provider:
  type: mailchimp
  apiKey: md-xxxx
  from:
    email: support@yourbrand.com
    name: Your brand support
resources:
  - /locales/emails/
```

{% endcode %}

Replace `md-xxxx` with your Mandrill API key. Then set the `from` values to a sender identity that Mandrill accepts.

{% hint style="warning" %}
Treat your Mandrill API key like a password.

Do not paste it in tickets or screenshots.
{% endhint %}
{% endstep %}

{% step %}
**Save and test**

Save the file in the admin console to apply the provider change. Trigger a single transactional email from your usual flow, then confirm delivery in Mailchimp Transactional activity logs.
{% endstep %}
{% endstepper %}

## Troubleshooting

Most issues come from using the wrong key type or sending from an unverified identity. If email sending fails or nothing seems to change, start with these checks:

* **Mailchimp Marketing vs Transactional**: you must use a **Transactional (Mandrill)** key.
* **401/403 from Mailchimp**: check the key, and that Transactional is enabled.
* **Emails not delivered**: verify your sender domain/email in Mailchimp Transactional.
* **Nothing changes after editing**: confirm you edited `/server/emails.yml` in the right tenant and saved it.

## FAQ

<details>

<summary><strong>Is this the same as “Mailchimp marketing emails”?</strong></summary>

**No**. This integration only uses **Mailchimp Transactional (Mandrill)** to send transactional messages.

</details>

<details>

<summary><strong>Do I need a paid Mailchimp add-on?</strong></summary>

Usually yes, because Transactional (Mandrill) is a separate product from standard Mailchimp Marketing plans.

</details>

<details>

<summary><strong>Where do I configure Mailchimp in The Wallet Crew?</strong></summary>

Edit `/server/emails.yml` in the advanced configuration editor.

</details>

<details>

<summary><strong>Do we need to authenticate our domain in Mailchimp Transactional?</strong></summary>

**Yes**. Verify the sender identity you use for `from.email` in Mailchimp Transactional. If you send from a domain, set up authentication (SPF/DKIM) and add a DMARC record for that domain or subdomain.

</details>

<details>

<summary><strong>Can I keep SendGrid in staging and Mailchimp in production?</strong></summary>

Yes, but it’s not recommended.

Each tenant has its own configuration, so you can choose different providers per environment. In practice, using different providers makes troubleshooting harder. It also increases the risk of provider-specific differences between staging and production (sender authentication, deliverability behavior, activity logs, and rate limits).

If you need a safe test environment, prefer using the **same provider** in both environments. Use a different sender subdomain (for example `staging.wallet.yourbrand.com`) and send only to internal addresses.

</details>

<details>

<summary><strong>What’s the fastest way to validate my config?</strong></summary>

Save `/server/emails.yml`, trigger a single email, then verify the event in Mailchimp Transactional activity logs.

</details>
