---
title: "Create a wallet share"
method: POST
path: "/api/v2/{coin}/wallet/{walletId}/share"
tags: ["Wallet share"]
---

# Create a wallet share

`POST /api/v2/{coin}/wallet/{walletId}/share`

Share wallet with an existing BitGo user

## Path parameters

- `coin` string, required — A cryptocurrency or token ticker symbol.
- `walletId` string, required

## Request body

- ShareWalletRequest
  - `permission` 'admin' | 'spend' | 'trade' | 'view' — Comma-separated list of privileges for a wallet. Includes: - `admin` - Can manage wallet policies and users and approve or reject pending approvals. - `freeze` - Can freeze a wallet, disabling all withdrawals. - `spend` - Can initiate withdrawals and generate new receive addresses. - `trade` - Can initiate trades from a Go Account (`trading` wallet type). - `view` - Can view balances and transactions. Permissions don't overlap. Required parameter if 'reshare' is false.
  - `message` string — User readable message to display to the share recipient
  - `reshare` boolean — Flag for reinviting a user to the wallet. This is required if the invitee has already been invited to the wallet, but has changed their password and needs a new invite
  - `disableEmail` boolean — Flag for disabling invite notification email
  - `user` string, required
  - `keychain` WalletShareKeychain — Key passed to the receiving user, included if the wallet was shared with spend permission
    - `pub` string — One of wallet pub (onchain) or commonKeychain (MPC)
    - `encryptedPrv` string — Private key of the user sharing the wallet encrypted under their wallet passphrase
    - `fromPubKey` string — Derived public key of the user sharing the wallet
    - `toPubKey` string — Derived public key of the user receiving the share
    - `path` string — BIP32 HD path of the derived public keys (fromPubKey and toPubKey)
  - `skipKeychain` boolean — If true, allows creating wallet shares without a sharing a key (keychain) when the wallet is shared with spend permission.

## Response `200`

OK

- ShareWalletResponse — Wallet share object
  - `id` string
  - `coin` string — A cryptocurrency or token ticker symbol.
  - `wallet` string
  - `walletLabel` string
  - `fromUser` string
  - `toUser` string
  - `permissions` 'admin' | 'spend' | 'trade' | 'view' — Comma-separated list of privileges for a wallet. Includes: - `admin` - Can manage wallet policies and users and approve or reject pending approvals. - `freeze` - Can freeze a wallet, disabling all withdrawals. - `spend` - Can initiate withdrawals and generate new receive addresses. - `trade` - Can initiate trades from a Go Account (`trading` wallet type). - `view` - Can view balances and transactions. Permissions don't overlap. Required parameter if 'reshare' is false.
  - `message` string — Message for the user receiving the share
  - `state` 'pendingapproval' | 'active' | 'accepted' | 'canceled' | 'rejected'
  - `enterprise` string
  - `pendingApprovalId` string
  - `keychain` WalletShareKeychain — Key passed to the receiving user, included if the wallet was shared with spend permission
    - `pub` string — One of wallet pub (onchain) or commonKeychain (MPC)
    - `encryptedPrv` string — Private key of the user sharing the wallet encrypted under their wallet passphrase
    - `fromPubKey` string — Derived public key of the user sharing the wallet
    - `toPubKey` string — Derived public key of the user receiving the share
    - `path` string — BIP32 HD path of the derived public keys (fromPubKey and toPubKey)

## Other responses

- `400` — Bad Request

---

[API](https://skmtc.net/bitgo/apis/bitgo-api.md) · [All operations](https://skmtc.net/bitgo/apis/bitgo-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/bitgo/bitgo-api/revisions/e445c15e5bee/schema)
