# Vaults

A **vault** is a component that maintains secret key material and is responsible for the creation and signing process of outgoing ledger transactions.

A **vault** executes **transaction orders** once they are fully approved and delivers the signed ledger **transaction** to the system for broadcast. A single instance of Ripple Custody can hold multiple **vaults**, which may provide complementary features (e.g., various distributed ledger protocols), key stores (e.g., different hardware vendors or multi-party computation-based algorithms), or key isolation (e.g., connected, or air-gapped). For example, a system can leverage a hot vault (for hot accounts) and an air-gapped vault (for cold accounts). **Accounts** within the system are associated with specific vaults.

The registration of the public key of a vault, `publicKey`, allows the system to verify any information returned by the vault.

The locking of a **vault** prevents the execution of any **transaction order** related to the specific **vault**.

## List vaults

 - [GET /v1/vaults](https://docs.ripple.com/products/custody/v1.15/api/reference/openapi/vaults/getvaults.md)

## Get vault details

 - [GET /v1/vaults/{vaultId}](https://docs.ripple.com/products/custody/v1.15/api/reference/openapi/vaults/getvault.md)

## Export prepared operations

 - [GET /v1/vaults/{vaultId}/operations/prepared](https://docs.ripple.com/products/custody/v1.15/api/reference/openapi/vaults/paths/~1v1~1vaults~1%7Bvaultid%7D~1operations~1prepared/get.md): Export prepared operations

## Import signed operations

 - [POST /v1/vaults/operations/signed](https://docs.ripple.com/products/custody/v1.15/api/reference/openapi/vaults/paths/~1v1~1vaults~1operations~1signed/post.md): Import signed operations

