Macaroons
3 min
macaroons are lnd native credentials for direct node access they are separate from voltage team permissions, payments api keys, and infrastructure api keys why they matter anyone with a node endpoint and a usable macaroon can access the node according to that macaroon's permissions this can happen outside the voltage dashboard treat exported macaroons as secrets the node password is needed to decrypt encrypted macaroon material, but it is not required every time an already decrypted or exported macaroon is used against lnd common macaroon types admin or super admin broad access can perform sensitive actions, including spending funds, if the node is running and unlocked read only can view node data but should not spend invoice can create or manage invoice related flows without general spend authority custom baked macaroons permissions depend on what was baked into the macaroon a custom macaroon may be narrow, or it may include permissions that allow funds movement node password relationship voltage may surface encrypted macaroon material through the product or api the node password is required to decrypt and use that material when it is stored encrypted a macaroon that has already been decrypted or exported should be treated like a secret the node password is not required every time an exported macaroon is used against lnd best practices give each integration the narrowest macaroon it needs avoid using admin macaroons in application code add expiration when baking macaroons where practical store macaroons in a secrets manager revoke macaroons that are no longer needed or may have been exposed for detailed lnd commands and permission syntax, use the official lnd macaroon documentation https //docs lightning engineering/lightning network tools/lnd/macaroons