Paymail BEEF Transaction

Deggen (


We specify a paymail capability extension which supports the passing of BEEF Transactions between hosts. The procedure for service discovery and requesting outputs is not detailed, rather this proposal contains only a recommendation to replace BRC-12 RawTx hex data with BRC-62 BEEF hex data.


We propose that p2p destination and receive raw transaction functionality between hosts to include the data required for the counterparty to run SPV on the transaction.


A random ID was generated in order to avoid label collisions in the capability document of a paymail server.

brfcid: 5c55a7fdb7bb
title: Background Evaluation Extended Format Transaction
author: Darren Kellenschwiler
version: 1.0.0


We specify that an endpoint for delivery of transaction data ought to be added to the capabilities object in the .well-known response of a paymail service with the label: 5c55a7fdb7bb.

<!-- capabilities document of the host -->
    "capabilities": {
        "5c55a7fdb7bb": "https://paymail.domain.tld/api/v1/beef/{alias}@{domain.tld}",
        <!-- ...others -->

Client Request

The sender must replace the {alias} and {domain.tld} placeholders in the URI template provided by capabilities.5c55a7fdb7bb with a valid Paymail handle. The client must then perform a POST HTTP request with the following body:

  "beef": "<beef_transaction_hex>", <!-- note the label is different >
  "metadata": {
    "sender": "<sender_paymail>",
    "pubkey": "<sender_public_key>",
    "signature": "<signature_of_txid>",
    "note": "<optional_human_readable_note>"
  "reference": "<payment_reference>"

BEEF transaction hex is a string encoding of the binary format detailed in BRC-62.

Server Response

The server must validate the transaction and respond with the accepted transaction ID and an optional human-readable note.

  "txid": "<accepted_txid>",
  "note": "<optional_human_readable_note>"


A swimlanes diagram is included here for further clarification:

Last updated