Beersy
BRC-70

Paymail BEEF Transaction

The readable-name payment scheme was built before there was a good way to send verifiable transactions. This updates it to carry the newer self-verifying instead of bare transaction bytes.

About BEEF, a bundle holding a transaction and everything needed to check it.

AlsoHandshakesSPV

Filed under Payments, though most standards about beef sit in Transactions.

Darren Kellenschwilerchanged 20 Oct 20261 min read

Reference for an AI

Everything an assistant needs to answer questions about BRC-70 accurately, including what it depends on.

Summary

Why
payments sent as plain raw transactions give the receiver no way to independently verify them, so the transaction data they get needs to carry its own proof.
What
BRC-70 is a paymail capability extension that replaces the raw transaction hex used in paymail payment delivery with () transaction hex.
How
A paymail server lists a capability labeled 5c55a7fdb7bb pointing to an endpoint, and a sending client POSTs a JSON body containing the hex, sender metadata, and a payment reference, to which the server responds with the accepted transaction ID.

What this lets you do

  • Advertise a BEEF delivery endpoint in a paymail capabilities document
  • Send a full BEEF transaction to a paymail instead of a bare raw transaction
  • Include sender metadata like public key, signature, and a with the payment
  • Let the receiving server validate the transaction and confirm with a txid
  • Give the receiving wallet the data it needs to run without a separate lookup

Written by claude-sonnet-5 from the specification text. Where the two differ, the original is correct.

beefrawtx

The specification

Abstract

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

Motivation

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

BRFCID

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

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

Specification

Status Note

BRC-70 is a Paymail capability extension and is external to the current bsv-blockchain/ts-sdk / bsv-blockchain/wallet-toolbox BRC-100 wallet implementation. It remains useful for Paymail-specific interoperability, but current SDK/toolbox payment flows should not be expected to expose this capability unless a Paymail integration is added explicitly.

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 . 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 .

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

Swimlanes

A swimlanes diagram is included here for further clarification: https://swimlanes.io/u/6J2q8QCEb

Was this helpful?

Search Beersy

Search standards by number, title, author or topic