Protocol and key IDs
These are the frozen v1 strings used by @txpass/protocol.
On-chain
| Field | Value |
|---|---|
| Prefix | txpass |
| Version | v1 |
| Subscribe type | sub |
| Revoke type | revoke |
| Fee field | txpass / fee / <sats> (document exact sats when pricing is set) |
Full subscribe OP_RETURN layout: see Protocol v1.
Txpass-issued receipts are funded from a Txpass receipt issuer key (an input spending a P2PKH output of that key); the accepted issuer public keys are published at GET /v1/receipts/issuer.
BRC-43 / wallet
| Attribute | Value |
|---|---|
| Originator domain | txpass.app |
| Protocol ID (security level 2) | txpass |
| Key ID — request auth | v1 auth |
| Key ID — delegate grant | v1 delegate (delegation certs: protocol [2, 'txpass'], counterparty anyone; see docs/specs/delegation-v1.md) |
| Key ID — receipt reveal | v1 reveal |
| Key ID — agent policy | v1 policy (txpass/v1/policy documents, protocol [2, 'txpass'], counterparty anyone; see docs/specs/agent-policy-v1.md) |
| Key ID — policy admit | v1 admit (txpass/v1/admit documents; same protocol and counterparty) |
| Key ID — publisher request | v1 publisher (txpass/v1/publisher-request documents signed by a product's seller key to ask Txpass to issue, sync or revoke a subscription receipt; protocol [2, 'txpass'], counterparty anyone) |
Identity key: wallet getPublicKey({ identityKey: true }) (BRC-42 / BRC-100).
Signing for HTTP: AuthFetch / BRC-103 with HTTP transport BRC-104 — not a parallel custom header scheme.
Commitment
identity on-chain (default): SHA256(I_compressed_bytes || salt_32) hex-encoded.
Reveal at ingest: I (compressed pubkey hex) + salt (32-byte hex), over an authenticated session.
Machine descriptor (GET /v1/protocol)
Should return JSON including: prefix, version, originator, protocolId, keyIds, feeSats, commitmentDefault, verifierPackage (name/version when published), docsUrl.