> ## Documentation Index
> Fetch the complete documentation index at: https://docs.venlyfinance.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Venly-managed vs self-custody

> Two ways an account's wallet is controlled — and what changes for your integration.

When you create an account, Venly also sets up a crypto wallet for it. That wallet is controlled in one of two ways. Which one you use is fixed by your company setup, and it changes a few things in how you build.

## The two models

|                                    | Venly-managed                         | Self-custody                                                  |
| ---------------------------------- | ------------------------------------- | ------------------------------------------------------------- |
| Who holds the wallet's keys        | Venly                                 | Your customer                                                 |
| `address` when creating an account | Not needed — Venly creates the wallet | **Required** — you pass the customer's wallet address         |
| Moving funds                       | Venly moves them directly             | Venly moves them using a one-time approval the customer signs |
| Permits & allowances endpoints     | Not used                              | Used to set up and check that approval                        |

## What this means in practice

**Venly-managed** is the simpler path. Venly creates and holds the wallet, so transfers and payments work with no extra setup from the customer.

**Self-custody** means your customer keeps control of their own wallet and keys. Before Venly can move their funds, the customer grants a one-time approval by signing a message — see [Approving transfers without gas](/guides/finance/permits-and-allowances).

The permit and allowance endpoints only apply to self-custody accounts. Calling them on a Venly-managed account returns:

```json theme={null}
{
  "success": false,
  "errors": [
    { "code": "invalid-request", "message": "Permits are only applicable for SELF_CUSTODY companies" }
  ]
}
```

<Note>
  A wallet's `type` field tells you which model it uses — `VENLY_MANAGED` or `SELF_CUSTODY`. You'll see it in the [list wallets](/api-reference/Finance-API/wallets/list-wallets-for-an-account) response.
</Note>

## Next steps

<CardGroup cols={2}>
  <Card title="Approving transfers without gas" icon="key" href="/guides/finance/permits-and-allowances">
    The one-time approval a self-custody wallet signs.
  </Card>

  <Card title="List wallets" icon="wallet" href="/api-reference/Finance-API/wallets/list-wallets-for-an-account">
    Read a wallet's `type` to confirm its custody model.
  </Card>
</CardGroup>
