Impervious
Search…
Lightning
Invoke select underlying Lightning actions on your underlying LND node from the Impervious node.

Overview

The Lightning API exposes select LND actions to the Impervious node, presenting an abstracted interface for easier interaction. Execute LND actions without having to deal with the nitty gritty details. Currently we support the following actions:
    Generate Invoice - Build standard Lightning Invoice: Potential applications of this are pay walls, pay per message, and pay per service. Developers can generate a lightning invoice and send it to a customer (i.e. via the Messaging API?), and then check for a payment before issuing a service/action/next steps.
    Pay Invoice - Pay a standard Lightning Invoice: Of course, this allows an Impervious node to instruct the underlying LND node to pay a given LND invoice.
    Check for payment - Ask an Impervious node if a Lightning Invoice was paid or not. This can be used to verify if a payment was completed before providing a service/action/next steps.
    Keysend Payment - Node to node push payments: This allows an Impervious Node to instruct the underlying LND node to send a keysend payment to a far end LND node. A potential use case for this is for streaming satoshis for services (i.e. streaming video from the Socket API?)

proto/imp/api/lightning/lightning.proto

Allows for p2p messaging between Impervious nodes

Lightning

Lightning service allows lightning actions on your underlying lightning node from the Impervious node.
Method Name
Request Type
Response Type
Description
GenerateInvoice
GenerateInvoiceRequest
GenerateInvoiceResponse
GenerateInvoice allows you to generate an invoice for a specific payment amount from your lightning node.
PayInvoice
PayInvoiceRequest
PayInvoiceResponse
PayInvoice allows you to pay a specific invoice with your lightning node.
CheckInvoice
CheckInvoiceRequest
CheckInvoiceResponse
CheckInvoice allows you to check a specific invoice to see if it was paid.

HTTP bindings

Method Name
Method
Pattern
GenerateInvoice
POST
/v1/lightning/generateinvoice
PayInvoice
POST
/v1/lightning/payinvoice
CheckInvoice
POST
/v1/lightning/checkinvoice

CheckInvoiceRequest

Represents an request to check an invoice.
Field
Type
Label
Description
invoice
string
The invoice to check

CheckInvoiceResponse

Represents a response back from the invoice check.
Field
Type
Label
Description
paid
bool
The boolean result representing whether or not the invoice was paid

GenerateInvoiceRequest

Represents an invoice creation request from your lightning node.
Field
Type
Label
Description
amount
int64
The amount of satoshis you want to receive
memo
string
The human readable memo you want the sender to see

GenerateInvoiceResponse

Represents a response back from an invoice generation request.
Field
Type
Label
Description
invoice
string
The invoice from your lightning node

PayInvoiceRequest

Represents an invoice that will be paid by your lightning node.
Field
Type
Label
Description
invoice
string
The invoice to pay

PayInvoiceResponse

Represents a response back from the payment result.
Field
Type
Label
Description
preimage
string
The preimage from the payment result, if successful

Scalar Value Types

.proto Type
C++
Java
Python
Go
C#
PHP
Ruby
double
double
double
float
float64
double
float
Float
float
float
float
float
float32
float
float
Float
int32
int32
int
int
int32
int
integer
Bignum or Fixnum (as required)
int64
int64
long
int/long
int64
long
integer/string
Bignum
uint32
uint32
int
int/long
uint32
uint
integer
Bignum or Fixnum (as required)
uint64
uint64
long
int/long
uint64
ulong
integer/string
Bignum or Fixnum (as required)
sint32
int32
int
int
int32
int
integer
Bignum or Fixnum (as required)
sint64
int64
long
int/long
int64
long
integer/string
Bignum
fixed32
uint32
int
int
uint32
uint
integer
Bignum or Fixnum (as required)
fixed64
uint64
long
int/long
uint64
ulong
integer/string
Bignum
sfixed32
int32
int
int
int32
int
integer
Bignum or Fixnum (as required)
sfixed64
int64
long
int/long
int64
long
integer/string
Bignum
bool
bool
boolean
boolean
bool
bool
boolean
TrueClass/FalseClass
string
string
String
str/unicode
string
string
string
String (UTF-8)
bytes
string
ByteString
str
[]byte
ByteString
string
String (ASCII-8BIT)
Last modified 2mo ago