# SDK configurations

With SDK v3, Purchasely moves from a monolith to a modular system composed of 3 modules:

* Transaction processor: Cross-platform management of subscriptions and one-time purchases
* Subscriber Data Hub: Real-time subscription lifecycle events used to fuel our dashboards and integrations like [Firebase analytics](https://firebase.google.com/docs/analytics), [Amplitude](https://amplitude.com), [Airship](https://www.airship.com/fr?), [Braze](https://www.braze.com), [Batch](https://batch.com), [Segment](https://segment.com), …
* User Journey Optimizer: Our Paywall CMS to create and optimize native subscription screens

That way Purchasely can be used in many ways to:

* Perform purchases
* Analyse purchases that were made with your own IAP system (aka *observer mode*)
* Display paywalls
* Use everything offered by Purchasely without changing your own transactional system

And of course everything listed above.

To reflect these compositions, you have to select a `runningMode` when you initialize Purchasely:

* `transactionOnly`
* `observer`
* `paywallObserver`
* `full`

### Running modes comparison

{% tabs %}
{% tab title="paywallObserver" %}
![](https://1658765766-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FGgUdOzhqa07uh7nB2iZA%2Fuploads%2FEcqzbXL6BwVZJd4RQQXc%2Fpaywall%20%2B%20observer%20mode.png?alt=media\&token=2229a6ef-e05b-47d1-8bee-6f77e9951cd2)
{% endtab %}

{% tab title="Full" %}
![](https://1658765766-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FGgUdOzhqa07uh7nB2iZA%2Fuploads%2F368Hl4PUkl6moxscxdUd%2Ffull%20mode.png?alt=media\&token=05c64004-94c8-4392-acdc-1cfcd1a90494)
{% endtab %}
{% endtabs %}

### Running modes

<table><thead><tr><th width="213.63814712584755"></th><th width="298.93536682393926">Description</th><th>Modules</th></tr></thead><tbody><tr><td><code>paywallObserver</code></td><td><p>Same as <code>paywallOnly</code> but Purchasely also observes transactions made by your system to fuel its dashboards and Webhook.</p><p></p><p><a href="sdk-configuration/paywall-observer-mode">Details</a>.</p></td><td><p>Paywall Builder</p><p>Subscriber Data Hub</p></td></tr><tr><td><code>full</code> <em>(default)</em></td><td><p>Purchasely handles everything from paywall to transactions including data and Webhooks.</p><p></p><p><a href="sdk-configuration/full-mode">Details</a>.</p></td><td>Transaction Processor<br>Subscriber Data Hub<br>Paywall Builder</td></tr></tbody></table>
