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

# Organization wallets

> Create and manage wallets for businesses and teams with Privy.

Use an organization wallet when multiple people need to manage funds, share wallet access, or approve financial operations together. This recipe creates an organization, assigns a wallet to it, and retrieves the organization's wallets.

Before you begin, [create Privy users](/organizations/setup/users) for the organization members and [create a default key quorum](/organizations/setup/organizations#create-default-key-quorum). Save the default key quorum ID for the steps below.

## Create an organization

[Create an organization](/api-reference/organizations/create) with a display name and the default key quorum ID:

```ts @privy-io/node {skip-check} theme={"system"}
const organization = await privy.organizations().create({
  display_name: 'Acme Corporation',
  default_key_quorum_id: 'rkiz0ivz254drv1xw982v3jq'
});
```

You can retrieve the organization later by its ID:

```ts @privy-io/node {skip-check} theme={"system"}
const organization = await privy.organizations().get('cm7zx4k9a0000l308abcd1234');
```

## Create an organization wallet

When [creating a wallet](/api-reference/wallets/create), assign its `entity` to the organization:

```ts @privy-io/node {skip-check} theme={"system"}
const wallet = await privy.wallets().create({
  chain_type: 'ethereum',
  entity: {
    id: organization.id,
    type: 'organization'
  }
});
```

When you omit `owner` and `owner_id`, Privy automatically sets the organization's `default_key_quorum_id` as the wallet owner. You can override this default for a specific wallet by passing either field when creating it.

<Warning>
  A wallet's entity cannot be changed after it is set. You can assign up to 150 wallets to an
  organization.
</Warning>

## List the organization's wallets

[Filter wallets](/api-reference/wallets/get-all) by the organization ID:

```ts @privy-io/node {skip-check} theme={"system"}
for await (const wallet of privy.wallets().list({
  entity_id: organization.id
})) {
  console.log(wallet);
}
```

## Assign an existing wallet

If a wallet does not already have an entity, you can [assign it to the organization](/api-reference/wallets/entity):

```ts @privy-io/node {skip-check} theme={"system"}
await privy.wallets().assignEntity('insert-wallet-id', {
  id: organization.id,
  type: 'organization'
});
```

Assigning an organization after wallet creation does not change the wallet's owner. Update the owner separately if the organization's default key quorum should administer the wallet.

## Next steps

* [Configure policies](/controls/policies/overview) to restrict wallet actions.
* [Provision scoped access](/organizations/setup/signers) to additional organization members.
* [Use intents](/organizations/actions/intents) to collect asynchronous approvals.
