Skip to main content
Once you’ve created the organization and its default key quorum, create the organization’s wallet(s).
View the API reference to inspect the types for wallet creation directly.

Create a wallet

When creating a wallet, set its entity to the organization:
A wallet’s entity is set once and never changes. To assign a wallet to a different organization, create a new wallet and transfer the funds. You can assign up to 150 wallets to an organization.

Overriding the default owner

When entity identifies an organization, the wallet owner is automatically set to the organization’s default_key_quorum_id. To override the organization’s default for a specific wallet, you may pass owner_id or owner when creating the wallet. Updating an organization’s default_key_quorum_id only affects wallets created thereafter. Existing wallets keep the owner they were created with, and changing that owner follows the enclave’s ownership update semantics.

Fetch an organization’s wallets

Filter wallets by the organization’s ID:

Assign an existing wallet

If the wallet already exists and is not already assigned to an entity, you can assign it to the organization. Assigning an entity after creation does not change the wallet’s owner. The default key quorum is only applied at creation time.

Configuring policies

In addition to the wallet’s owner, you may also create policies for the organization and assign them to the wallet via the policy_ids field of the wallet creation request. This enables you to configure guardrails around the signatures and transactions that can be executed by an organization wallets. After a wallet is created, organizations may update the policy for their wallet, but it will require approval from the default key quorum for the organization (the wallet owner).

Configuring access control [optional]

To provision access to organization members beyond the default key quorum, your app may create additional key quorums to model other users within the organization. You might consider creating a key quorum for each distinct permission you’d like to assign (e.g. permission to send < 1000 USDC), and you can add the users that should have that permission to the corresponding key quorum. Then, when creating a wallet, the organization may specify these lower-privilege key quorums as additional_signers, with scoped permissions defined by their override_policy_ids. These key quorums have the ability to authorize signatures and transactions within the scope of their policy, but not to manage the wallet’s configuration.