# Wallets

## Environments and wallets

An environment separates staging and production work. Each environment can contain multiple wallets, while each wallet belongs to one environment.

Start with a staging environment so you can exercise the integration with no real-world value. Use a separate production environment and credentials when you are ready for live payments.

Development wallet options have distinct purposes:

- **Mutinynet Bitcoin:** Use for Bitcoin-backed implementations, whether node-backed Bitcoin or credit-backed Bitcoin.
- **Mutinynet USD:** Use for USD line-of-credit testing. Payments move over Bitcoin or Lightning while the wallet is denominated in USD.
- **Voltage Cash:** Use only for experimental stablecoin testing. It is not currently live for production use because the intended Tether-backed asset has not yet been minted.

## Create a staging wallet

1. From the team overview, select **New Environment**.
2. Name the environment, such as `Staging`, and select **Create**.
3. Open the environment and select **Add New Wallet**.
4. Name the wallet and select **Continue**.
5. Keep **Development** selected and choose the wallet option that matches the implementation described above.
6. Select **Create**.

![New Environment form filled with the name Staging](/images/04-new-environment-filled.png)

*Create a dedicated staging environment before adding a Development wallet.*

![Development wallet name entered in the Add New Wallet flow](/images/08-wallet-name-filled.png)

*Use a wallet name that identifies its intended test workflow.*

![Development wallet choices showing Mutinynet Bitcoin selected with Mutinynet USD and Voltage Cash unselected](/images/39-wallet-type-development-options-neutral.png)

*Choose Mutinynet Bitcoin for Bitcoin-backed tests, Mutinynet USD for USD line-of-credit tests, or Voltage Cash only for experimental stablecoin testing.*

Wallet provisioning can take time. Wait until the wallet overview loads before using its actions or copying identifiers.

![Staging environment with two ready Development wallets](/images/29-staging-environment-settled.png)

*Confirm the wallet is available in the intended environment before using it.*

## Use the wallet dashboard

The wallet overview shows the wallet network, balance, test-credit usage, payment actions, and activity.

To receive through the UI:

1. Select **Receive**.
2. Enter the amount and optional memo.
3. Choose Lightning or On-Chain when available.
4. Select **Create Payment Request**.
5. Share the generated request only through an appropriate test workflow.

![Receive form filled with a test amount and memo](/images/13-receive-form-filled.png)

*Enter a test amount and optional memo, then create the payment request.*

To send through the UI, select **Send**, enter a Lightning invoice, and review the payment before submitting it.

![Test Lightning payment review drawer](/images/31-test-payment-review.png)

*Review the amount, maximum fee, method, route, and destination before sending.*

![Completed test Lightning payment confirmation](/images/32-test-payment-completed.png)

*Wait for a terminal status instead of treating submission as completion.*

Use **All Payments** and **Payment Requests** to review current status and history. See [Sending](/sending), [Receiving](/receiving), and [Staging Environment](/staging-environment) for API and testing guidance.

![Outgoing test payment in the sending wallet history](/images/33-test-wallet-payment-history.png)

*Use the sending wallet's history to confirm the outgoing terminal state.*

![Incoming test payment in the receiving wallet history](/images/34-receiving-wallet-payment-history.png)

*Cross-check the corresponding incoming state in the receiving wallet.*
