# Switch to Production
source: https://developer.mastercard.com/mastercard-threat-intelligence/tutorial/api-sandbox-guide/step-12/index.md

When your integration is ready, you move from the Sandbox environment to Production. Because all environment values live in `application.properties`, you switch without changing any code.

*** ** * ** ***

### Update the Configuration {#update-the-configuration}

Change the three environment URLs and swap in your Production credentials. The table below shows the values for each environment:

|        Setting        |                     Sandbox                      |                Production                |
|-----------------------|--------------------------------------------------|------------------------------------------|
| `mti.api.base-url`    | `https://sandbox.cyber.mastercard.com`           | `https://cyber.mastercard.com`           |
| `mti.oauth.token-url` | `https://sandbox.api.mastercard.com/oauth/token` | `https://api.mastercard.com/oauth/token` |
| `mti.oauth.issuer`    | `https://sandbox.api.mastercard.com`             | `https://api.mastercard.com`             |

*** ** * ** ***

### Update the Credentials {#update-the-credentials}

Replace your Sandbox credentials with your Production credentials:

* Set `mti.oauth.client-id` and `mti.oauth.key-id` to your Production values.
* Replace the keystore file with your Production signing key.
* Update `mti.oauth.keystore-password` and `mti.oauth.key-alias` to match.

*** ** * ** ***

### Production Configuration Example {#production-configuration-example}

A Production `application.properties` looks like this:

```properties
# Base URL for the MTI API
mti.api.base-url=https://cyber.mastercard.com

# OAuth 2.0 token endpoint and issuer
mti.oauth.token-url=https://api.mastercard.com/oauth/token
mti.oauth.issuer=https://api.mastercard.com

# Client credentials
mti.oauth.client-id=YOUR_PRODUCTION_CLIENT_ID
mti.oauth.key-id=YOUR_PRODUCTION_KEY_ID

# Signing key (PKCS#12 keystore on the classpath)
mti.oauth.keystore=mti-api-signing.p12
mti.oauth.keystore-password=YOUR_KEYSTORE_PASSWORD
mti.oauth.key-alias=YOUR_KEY_ALIAS

# Access scopes (space-separated)
mti.oauth.scopes=mc-threat-intelligence:card-testing_read mc-threat-intelligence:domains_read mc-threat-intelligence:vulnerabilities_read
```

*** ** * ** ***

### Protect Your Credentials {#protect-your-credentials}

Production credentials are sensitive. Keep them out of source control. For a real deployment, load the keystore and secrets from a secure store or environment variables rather than from a file on the classpath.

You now have a working Mastercard Threat Intelligence integration that runs in both Sandbox and Production.

*** ** * ** ***

