# webln.keysend()

Request the user to send a keysend payment. This is a spontaneous payment that does not require an invoice and only needs a destination public key and and amount.

#### Method

```typescript
async keysend(args: KeysendArgs): SendPaymentResponse;
```

#### Parameters

```typescript
interface KeysendArgs {
  destination: string;
  amount: string | number;
  customRecords?: Record<string, string>;
}
```

* `destination`\
  Hex encoded public key of the destination node. This is a string of length 66 that starts either with `02` or `03`.
* `amount`\
  The amount of satoshis you want to send as a stringified integer.
* `customRecords`\
  A `map<string, string>` of records that are appended to the payment. The key should be a stringified integer from the [TLV Registry](https://github.com/satoshisstream/satoshis.stream/blob/main/TLV_registry.md). The value should be an *unencoded*, plain string. \
  \
  The WebLN provider should handle the encoding if necessary. If no custom records are needed, this parameter can be omitted.

#### Response

```typescript
interface SendPaymentResponse {
  preimage: string;
}
```

* `preimage`\
  Note that the `preimage` is not a proof of payment, because unlike a bolt11 payment it is generated by the sender, not by the recipient.

### Code Examples

#### Sending a message

```typescript
await webln.enable();
const result = await webln.keysend({
    destination: "03006fcf3312dae8d068ea297f58e2bd00ec1ffe214b793eda46966b6294a53ce6", 
    amount: "1", 
    customRecords: {
        "34349334": "HELLO AMBOSS"
    }
});
```

{% embed url="<https://codepen.io/getalby/pen/jOYJYzP>" %}

#### 🎧 Podcasting 2.0: Send a boostagram

Manual payments to a podcast or episode and attach your own message.

{% embed url="<https://codepen.io/getalby/pen/PoeezNj>" %}

#### 🎧 Podcasting 2.0: Send a stream payment

Automatic payments while listening to an episode.&#x20;

{% embed url="<https://codepen.io/getalby/pen/QWrrErJ?editors=1011>" %}

### Resources

* [TLV Registry](https://github.com/satoshisstream/satoshis.stream/blob/main/TLV_registry.md)
* [Podcasting 2.0 BLIP](https://github.com/lightning/blips/blob/master/blip-0010.md)
* [Builder's Guide: Sending messages with keysend](https://docs.lightning.engineering/lightning-network-tools/lnd/send-messages-with-keysend)
