# Class BSV::Wallet::CLI::Commands::Send <a id="class-BSV-Wallet-CLI-Commands-Send"></a>

**Inherits:** `BSV::Wallet::CLI::Commands::Base`

+bin/wallet send <recipient> <sats>+ — pay outbound.

Polymorphic on recipient shape:

    send <base58_address> <sats>    # P2PKH; no envelope output
    send <identity_key_hex> <sats>  # BRC-29 derivation; envelope on stdout

Broadcast modes (+--broadcast=MODE+):

    inline (default) — sync ARC dispatch
    async            — daemon-queued via OMQ hint
    none             — no broadcast; action committed, BEEF emitted
                       (identity-key path) for peer-to-peer handoff

The `none` mode uses the engine's +no_send: true+ path. The action is still
fully persisted in one atomic step — stays consistent with ADR-030 (no
cross-CLI intermediate state).

Identity-key envelope carries the BEEF, the subject dtxid, the sender identity
key, and per-output BRC-29 derivation hints (the recipient needs them to
recover the derived private key). Envelope shape is wallet-internal; on-wire
BRC-29 strict-spec carrier deferred to a future <code>bin/brc100</code> CLI
(HLR #460 Q1).

## Constants
### `BROADCAST_LABELS` <a id="constant-BROADCAST_LABELS"></a> <a id="BROADCAST_LABELS-constant"></a>
Not documented.

### `P2PKH_PAYLOAD_BYTES` <a id="constant-P2PKH_PAYLOAD_BYTES"></a> <a id="P2PKH_PAYLOAD_BYTES-constant"></a>
Base58Check P2PKH payload: 1 version byte + 20-byte pubkey hash.

### `P2PKH_VERSION_BYTES` <a id="constant-P2PKH_VERSION_BYTES"></a> <a id="P2PKH_VERSION_BYTES-constant"></a>
P2PKH address version bytes: mainnet 0x00, testnet 0x6f. P2SH addresses (0x05
mainnet, 0xc4 testnet) are explicitly rejected — Phase 2 only supports P2PKH,
and building a P2PKH lock to a P2SH address's embedded hash would create an
unspendable output.

## Public Instance Methods
### `build_parser()` <a id="method-i-build_parser"></a> <a id="build_parser-instance_method"></a>
Not documented.

### `call(args)` <a id="method-i-call"></a> <a id="call-instance_method"></a>
- **@raise** [UsageError]

### `name()` <a id="method-i-name"></a> <a id="name-instance_method"></a>
Not documented.
