lrx.sh — bash — 80×36

lrx --help

 _              __  __         ____  _
| |    _ __  _ \ \/ /     ___ | |__ | |
| |   | '__|| |_\  /     / __|| '_ \| |
| |___| |   |  _/  \  _  \__ \| | | |_|
|_____|_|   |_|/_/\_\(_) |___/|_| |_(_)

# License and Right eXchange — v3.14.2

# Copyright (c) 2026 lrx contributors. MIT-style license.

NAME

lrx — license and right eXchange; a shell utility for negotiating, signing, and registering intellectual-property licenses from the command line.

SYNOPSIS

lrx [--global] <command> [<args>] [--registry=<url>]

lrx search --type=patent "quantum imaging"

lrx negotiate LRX-9081 --royalty=3.5% --term=5y

lrx sign --key=~/.lrx/keys/counsel.pem

DESCRIPTION

The lrx utility is a typed, scriptable interface for the global IP-rights market. It connects authors, attorneys, and acquirers through a single audited transport. Each command emits a deterministic, signed receipt; each receipt is a contract. There are no dashboards, no inboxes, no spinners — only stdin, stdout, and the precision of the shell.

Where conventional licensing demands weeks of email and counsel, lrx reduces the loop to a pipeline. Search becomes grep; negotiation becomes a structured exchange; signature becomes a single keystroke. The tool ships with deterministic exit codes, a stable JSON envelope, and a registry-agnostic backend.

COMMANDS

search <query>

Query the registry for licensable assets. Supports --type, --jurisdiction, --max-royalty. Output is a stream of LRX identifiers.

inspect <lrx-id>

Print the full chain-of-title, prior assignments, and current encumbrances for an asset.

negotiate <lrx-id>

Open a structured exchange with the rights-holder. Terms are passed as flags; counter-offers stream as YAML on stderr.

sign [--key=<path>]

Commit the negotiated terms. The receipt is hashed, anchored, and emitted to stdout for piping into your archive.

audit <receipt>

Verify a previously-signed receipt against the registry of record. Exits 0 if valid, 1 if tampered, 2 if revoked.

OPTIONS

-r, --registry=<url>

Override the default registry. Defaults to $LRX_REGISTRY or https://reg.lrx.sh.

-k, --key=<path>

Path to the private signing key (PEM, ed25519). Honors $LRX_KEYRING.

-j, --json

Emit machine-readable JSON envelopes on stdout. Suitable for piping into jq.

-q, --quiet

Suppress informational messages. Errors are still printed to stderr.

-v, --verbose

Print the full transport trace. Useful when debugging a stalled negotiation.

-h, --help

Print this manual page and exit.

EXAMPLES

# Locate every patent under a 4% royalty cap and sort by issue date

lrx search --type=patent --max-royalty=4% | lrx inspect | sort -k issued

# Counter-offer a 5-year exclusive at 2.75% with up-front advance

lrx negotiate LRX-9081 --royalty=2.75% --exclusive --advance=50k

# Audit every signed receipt in the current archive

find ./archive -name '*.lrx' -print0 | xargs -0 lrx audit

ENVIRONMENT

LRX_REGISTRY

Default registry endpoint. Overridden by --registry.

LRX_KEYRING

Directory containing PEM keys. Defaults to ~/.lrx/keys.

LRX_JURISDICTION

Two-letter ISO code. Filters all queries to the named jurisdiction.

EXIT STATUS

0

Successful execution; receipt emitted on stdout.

1

Tampered or invalid receipt; transport completed but signature failed.

2

Revoked asset; the registry has retracted the underlying right.

130

Negotiation cancelled by counter-party (SIGINT received).

FILES

~/.lrx/config

User configuration. Read once at startup; values precede environment.

~/.lrx/keys/

Default keyring directory.

/var/log/lrx/audit.log

Append-only transport log. One line per signed receipt.

SEE ALSO

gpg(1), git(1), jq(1), openssl(1), lrx-registry(7)

AUTHORS

Written by the lrx working group. Contributions welcome on the public registry; see lrx contribute for the canonical workflow.