Important: This documentation covers Yarn 1 (Classic).
For Yarn 2+ docs and migration guide, see yarnpkg.com.

Package detail

paid-services

alexbosworth32.3kMIT6.2.1

Lightning Paid Services library

lightning, lightning-network

readme

Lightning Network Paid Services

Paid service APIs that use KeySend as an interface.

Default Services

ping

This service delivers a pong message response

schema

This service responds with metadata about a service

services

This service delivers a list of available services

Extended Services

Other services can be configured and enabled using their relevant environment variables.

activity

Return high level information about node routing activity.

To enable this service, specify activity to share.

# Share the fees earned
PAID_SERVICES_ACTIVITY_FEES=1

# Share the forwarding total
PAID_SERVICES_ACTIVITY_VOLUME=1

connect

Initiate a connection to a node to peer with them

# Enable connect service
PAID_SERVICES_CONNECT=1

inbox

Deliver a short message via SMS or email.

To enable this service, configure the environment for sending messages:

# Use Postmark email for your inbox
PAID_SERVICES_INBOX_EMAIL_FROM="email to send from"
PAID_SERVICES_INBOX_EMAIL_TO="email to send to"
PAID_SERVICES_INBOX_POSTMARK_API_KEY="postmark API key"

# Use Twilio SMS for your inbox
PAID_SERVICES_INBOX_SMS_FROM_NUMBER="Number to send from"
PAID_SERVICES_INBOX_SMS_TO_NUMBER="Number to send to"
PAID_SERVICES_INBOX_TWILIO_ACCOUNT_SID="Twilio account id"
PAID_SERVICES_INBOX_TWILIO_AUTH_TOKEN="Twilio account id"

PAID_SERVICES_INBOX_PRICE="optional sats price to charge for inbox message"

invoice

Request a signed BOLT 11 encoded payment request

# Enable invoice service
PAID_SERVICES_INVOICE=1

network

Reference other nodes that offer paid services:

PAID_SERVICES_NETWORK_NODES="comma separated node public keys"

profile

Return a short profile description of your node.

To enable this service, set the profile of your node:

PAID_SERVICES_PROFILE_FOR_NODE="detail text about this node"
PAID_SERVICES_PROFILE_URLS="URL\nOTHER_URL" (separate multiple with newlines)

relay

Return a relay payment request

PAID_SERVICES_RELAY="1"

changelog

Versions

Version 6.2.1

  • createGroupFanout, joinGroupFanout: Add methods to make and join fanouts

Version 6.1.7

  • manageSwap: Add support for Loop Out to external address

Version 6.0.0

Breaking Changes

  • node.js 16 is no longer supported, node.js 18+ required

Version 5.0.5

  • manageTrades: Fix advertising trades with a TorV3 network address

Version 5.0.4

  • createGroupChannel, joinGroupChannel, manageGroupJoin: Double check open channel acceptance when peering

Version 5.0.0

  • 'createGroupChannel': Repeatedly broadcast chain transaction

Breaking Changes

  • node.js 14 is no longer supported, node.js 16+ required

Version 4.3.5

  • createGroupChannel: Show members that are present

Version 4.2.2

  • manageSwap: Add support for P2TR output addresses

Version 4.1.0

  • createGroupChannel: Add members to restrict and order group membership

Version 4.0.5

  • manageTrades: Fix connection to seller failing

Version 4.0.1

  • createGroupChannel: Add method to coordinate a channel group
  • joinGroupChannel: Add method to join a channel group

Breaking Changes

  • Node.js version 14 or higher is now required

Version 3.21.0

  • manageSwap: Add recovery for swap requests
  • manageSwap: Add support for experimental Lightning Loop MuSig2 Taproot swap

Version 3.20.3

  • manageGroupJoin: Allow coordinating pair when funds are below the capacity

Version 3.20.2

  • manageGroupJoin: Allow opening a pair channel when funds are below capacity

Version 3.20.1

  • manageTrades: Fix seller connection when not peered

Version 3.20.0

  • manageGroupJoin: Add support for 2 person groups

Version 3.19.2

  • manageSwap: Add support for inbound peer constraint
  • manageSwap: Add support for external sweep address

Version 3.18.0

  • manageGroupJoin: Add conflict tx for safe funded pending channel deletion

Version 3.17.2

  • manageGroupJoin: Add method to coordinate or join a channels group

Version 3.16.3

  • manageSwap: Add external funding, conf target setting, keysend pushes

Version 3.15.4

  • manageSwap: Add method to execute submarine swaps on testnet

Version 3.14.5

  • manageTrades: Fix connecting to sellers when not already connected

Version 3.14.4

  • manageTrades: Fix listing of trades that have fiat-pricing

Version 3.14.1

  • manageTrades: Add support for dynamic fiat-priced trades

Version 3.13.2

  • acceptTrade: Fix logger to be documented as an arg and optional

Version 3.13.0

  • manageTrades: Add support for experimental channel trades

Version 3.12.2

  • serviceOpenTrade: Fix regtest network support

Version 3.12.1

  • balancedOpenRequest: Add method to derive balanced open proposal details

Version 3.11.4

  • changeChannelCapacity: Add nodes to allow moving channel to another node

Version 3.10.0

  • createAnchoredTrade: Add method to create an anchored open trade
  • getAnchoredTrade: Add method to get an anchored open trade

Version 3.9.1

  • decodeTrade: Add method to decode a trade-secret

Version 3.8.0

  • encodeTrade: Add method to encode a trade-secret
  • serviceAnchoredTrades: Add method to serve open trade-secrets

Version 3.7.0

  • changeChannelCapacity: Add support for decreasing funds into a new channel

Version 3.6.0

  • manageTrades: Add support for persistent open trades
  • manageTrades: Add expiration dates to open trades
  • manageTrades: Support longer-lived open trade scenarios
  • manageTrades: Show final encoded trade when requesting open trade
  • manageTrades: Check for RPC signer support before trading

Version 3.5.1

  • changeChannelCapacity: Allow changing private/public status of channel

Version 3.4.0

  • changeChannelCapacity: Fix broken preservation of channel announce status
  • manageTrades: Add support for open-ended trades

Version 3.3.0

  • changeChannelCapacity: Add method to change a channel's capacity

Version 3.2.0

  • makePeerRequest: Add method to make peer messaging requests
  • servicePeerRequests: Add method to handle peer messaging requests

Version 3.1.2

  • manageTrades: Add method to create and interact with secret trades

Version 3.0.0

  • servicePaidRequests: Add service invoice request a payment request
  • servicePaidRequests: Adjust relay service to execute retries on failure

Breaking Changes

  • makeServiceRequest: Change paywall to invoice

Version 2.1.1

  • Correct relay service summation of sending amount and fee

Version 2.1.0

  • Add service connect to allow requesting a peer connection

Version 2.0.3

  • makeServiceRequest: Switch back to regular payment call

Version 2.0.1

  • Add service relay

Breaking Changes

  • Add client data type to specify a payment request type field

Version 1.1.0

  • Add service: activity

Version 1.0.0

  • Add services: schema, services, ping, profile, inbox, network