⚒️Get Aperture

Aperture is an implementation of L402s as a reverse HTTP proxy.

Aperture is a reverse proxy that acts as a payment and authentication gateway for Lightning Network powered APIs. It can handle gRPC requests over HTTP/2 as well as REST over HTTP/1 and 2.

Aperture receives incoming connections, verifies the validity of the L402 and either forwards the request to the appropriate end point, or obtains a Macaroon and sends it together with a Lightning invoice and the HTTP status code 402 Payment Required.

Aperture is currently used in production in Lightning Loop and Pool.

Install Aperture

Requirements: go 1.19 or later

git clone https://github.com/lightninglabs/aperture.git cd aperture make install

Configure Aperture

mkdir ~/.aperture cp sample-conf.yaml ~/.aperture/aperture.yaml

By default Aperture uses port 8081. This port needs to be reachable from the outside.

Aperture will create a TLS key and self-signed certificate. To run Aperture in production, it will need a valid TLS certificate for the domain it is running on.

Run Aperture

To run Aperture, simply run the following command.

aperture

L402 demo

A demonstration of L402 can be found at https://lsat-playground-bucko.vercel.app/ (Testnet version here)

Here you can go through the process of minting a Macaroon, turning it into an L402, restricting and validating it as well as see code snippets.

See how the client interceptor is coded in Aperture

Watch: Using Aperture

Last updated