# `LatticeStripe.Application`
[🔗](https://github.com/szTheory/lattice_stripe/blob/v2.3.0/lib/lattice_stripe/application.ex#L1)

Optional OTP application for LatticeStripe.

Starts a default Finch pool named `LatticeStripe.Finch` so callers can make
live Stripe API calls without manually starting and wiring a Finch pool.
`LatticeStripe.Client` options default `:finch` to this pool name, so
`LatticeStripe.Client.new!(api_key: "sk_test_...")` works with no further setup.

This module is registered as the application callback via
`mod: {LatticeStripe.Application, []}` in `mix.exs`, so the default pool boots
automatically when the `:lattice_stripe` application starts.

## Disabling the default pool

If you already manage your own Finch pool (or your own supervision tree
entirely), disable the default pool startup so you don't run a duplicate idle
pool:

    config :lattice_stripe, start_default_finch: false

Pass your own pool name via `finch:` when creating a client — this works whether
or not the default pool is running:

    LatticeStripe.Client.new!(api_key: "sk_test_...", finch: MyApp.Finch)

## Overriding the default pool configuration

The default pool uses Finch's own connection defaults. To override pool sizing
without opting out of the default pool entirely:

    config :lattice_stripe, default_finch_pools: %{default: [size: 100, count: 4]}

---

*Consult [api-reference.md](api-reference.md) for complete listing*
