Petra Vault
Multisig wallet solution on the Aptos blockchain
Petra Vault enables you to create and manage multisig vaults on the Aptos blockchain.
Create or Import Vaults: Quickly create a new vault or import an existing one (including those created from other platforms).
Proposal Presets: Packed with presets with seamless experiences for common transactions (e.g. sending coins, adding/removing owners, publishing modules, etc.)
Transaction Simulations: Preview the effects of transactions before sending them.
And that's not it, explore the rest of the features yourself at vault.petra.app!
For documentation, please refer to the petra.app/vault.
Petra Vault has been audited by Hacken.
- Node.js
- pnpm
Runtime versions are defined in the .tool-versions file. You can install these runtimes using mise.
-
Clone the repository:
git clone https://github.com/aptos-labs/petra-vault.git cd petra-vault -
Install dependencies:
pnpm install
-
Start the development server:
pnpm dev
-
Open http://localhost:3000 in your browser to see the application.
Petra Vault uses the No-Code Indexing (NCI) service from Aptos Build in order to index multisig transactions and ownership discovery. In order to run the indexer, please follow the instructions in the indexer README.
Create a .env.local file in the apps/web directory by copying the example file:
cp .env.example .env.localRequired environment variables:
NEXT_PUBLIC_ENABLE_REACT_SCAN=0
NEXT_PUBLIC_ENABLE_EMBEDDED=1
# API Keys for Aptos networks (obtain from https://developers.aptos.dev)
NEXT_PUBLIC_APTOS_MAINNET_API_KEY=<api_key>
NEXT_PUBLIC_APTOS_TESTNET_API_KEY=<api_key>
# Google Analytics ID (obtain from https://analytics.google.com)
NEXT_PUBLIC_GA4_ID=<ga4_id>
# Sentry Auth Token (obtain from https://sentry.io)
SENTRY_AUTH_TOKEN=<sentry_auth_token>
CI=falseNote: Make sure to obtain the necessary API keys from the provided links to avoid rate limiting issues.
The monorepo uses vitest for unit testing and playwright for end-to-end testing.
To run the unit tests, you can use the following command:
pnpm testTo get started with E2E tests, you must first install the Playwright dependencies:
pnpx playwright install --with-deps chromiumThen, you can run the E2E tests using the following command:
pnpm test:e2eNote: Running it from the root directory will automatically do any necessary builds steps. If done in a subdirectory, make sure to manually build the project using
pnpm buildbefore running the tests.
The deployment points to https://vault.petra.app. The application is deployed onto Vercel using the main branch. Deployments are automatically triggered when a push is made to the main branch.
Contributions are welcome! Please refer to the CONTRIBUTING.md file for more information.



