Lightning - Create signer macaroon

post/api/v2/{coin}/wallet/{walletId}/signermacaroon

Create the signer macaroon for the watch-only Lightning Network Daemon (LND) node. This macaroon derives from the signer node admin macaroon and is used by the watch-only node to request signatures from the signer node for operational tasks. Returns the updated wallet with the encrypted signer macaroon in the 'coinSpecific' response field.

Path Parameters

  • coinstringRequired
    A lightning coin name.
    Example: lnbtc
  • walletIdstringRequired
    Example: 59cd72485007a239fb00282ed480da1f
    Pattern: ^[0-9a-f]{32}$

Request Body

passphrase string
Passphrase to decrypt the admin macaroon of the signer node.
addIpCaveatToMacaroon boolean
If true, adds an IP caveat to the generated signer macaroon.

200 Response

One of
id string
Example: 59cd72485007a239fb00282ed480da1f
Match pattern: ^[0-9a-f]{32}$
users array[object]
Ids of users with access to the wallet
user string
Example: 59cd72485007a239fb00282ed480da1f
Match pattern: ^[0-9a-f]{32}$
permissions array[string]
Array of permissions for the user
Example: ["admin","view","spend"]
coin string
Name of the blockchain the wallet is on
Example: tbtc4
label string
Name the user assigned to the wallet
Example: My TBTC4 Wallet
m integer
Number of signatures required for the wallet to send
Example: 2
n integer
Number of signers on the wallet
Example: 3
keys array[string]
Ids of wallet keys
Example: 59cd72485007a239fb00282ed480da1f
keySignatures object
Signatures for the backup and BitGo public keys signed by the user key
backupPub string
Signature for the backup pub
Example: 1fe81d0c91457d89993b01475bfb9e5809067ae046926faeab6e63beea009d8dd460387e0c3843034570798a9c2bcc1dbbea2988ee5a36979e0bbe6e02f7840af2
bitgoPub string
Signature for the BitGo pub
Example: 209d0e9a6d4352b66fae0a35ce62c1059bcc4db9e2883abc4f1b3d20481c5cebb7299c581efd9e0151abaf2496da7c6d75d276de36ed3de37c94e9cc5a2ea77e59
tags array[string]
Tags set on the wallet
Example: 59cd72485007a239fb00282ed480da1f
receiveAddress object
id string
platform public id for an address
Example: 59cd72485007a239fb00282ed480da1f
Match pattern: ^[0-9a-f]{32}$
address string
Max length: <= 250 characters
Example: 2MvrwRYBAuRtPTiZ5MyKg42Ke55W3fZJfZS
chain integer
Allowed values: 0 1 10 11 20 21 30 31 40 41
Example: 1
index integer
coin string
lastNonce integer
Default: -1
wallet string
The wallet which contains this address
Example: 59cd72485007a239fb00282ed480da1f
Match pattern: ^[0-9a-f]{32}$
coinSpecific object
Properties which are specific to certain coin types
balance object
Balance of the address. In case of Eth and Celo, if returnBalancesForToken is passed with includeBalances, then it will return token balance in the address object. This field will be present only when 'includeBalances' query param is passed as true.
label
string or null
A human-readable label for the address.
Max length: <= 250 characters
Example: Bob's Hot Wallet Address
addressType string
Allowed values: p2sh p2shP2wsh p2wsh p2tr p2trMusig2
Example: p2sh
balance integer
Wallet balance as number
Example: 0
balanceString string
Wallet balance as string
Example: 0
confirmedBalance integer
Confirmed wallet balance as number
Example: 0
confirmedBalanceString string
Confirmed wallet balance as string
Example: 0
spendableBalance integer
Spendable wallet balance as number
Example: 0
spendableBalanceString string
Spendable wallet balance as string
Example: 0
deleted boolean
Flag which indicates the wallet has been deleted
Example: false
isCold boolean
Flag for identifying cold wallets
Example: false
freeze object
Freeze state (used to stop the wallet from spending)
Example: {}
time string <date-time>
Time when the wallet becomes frozen
expires string <date-time>
Time when the wallet is unfrozen and allowed to spend
disableTransactionNotifications boolean
Flag for disabling wallet transaction notifications
Example: false
admin object
Admin data (wallet policies)
Example: {}
approvalsRequired integer
Number of admin approvals required for an action to fire
Example: 1
pendingApprovals array[object]
Pending approvals on the wallet
Example: []
id string
Example: 59cd72485007a239fb00282ed480da1f
Match pattern: ^[0-9a-f]{32}$
coin string
A cryptocurrency or token ticker symbol.
Example: btc
wallet string
Example: 59cd72485007a239fb00282ed480da1f
Match pattern: ^[0-9a-f]{32}$
enterprise string
Example: 59cd72485007a239fb00282ed480da1f
Match pattern: ^[0-9a-f]{32}$
organization string
Example: 59cd72485007a239fb00282ed480da1f
Match pattern: ^[0-9a-f]{32}$
creator string
Example: 59cd72485007a239fb00282ed480da1f
Match pattern: ^[0-9a-f]{32}$
createDate string <date-time>
infoAny of
stateAny of
Allowed values: pending awaitingSignature pendingFinalApproval pendingCustodianApproval pendingVideoApproval pendingIdVerification
scope string
What kind of entity the Pending Approval is tied to
Allowed values: enterprise wallet
userIds array[string]
All the Users who should see this Pending Approval
Example: 59cd72485007a239fb00282ed480da1f
approvalsRequired integer
Minimum: >= 1
Example: 1
walletLabel string
resolvers array[object]
addressLabels array[object]
Address labels of recipients in this Pending Approval
allowBackupKeySigning boolean
Flag for allowing signing with backup key
Example: false
coinSpecific object
Coin-specific data
clientFlags array[string]
recoverable boolean
Flag indicating whether this wallet's user key is recoverable with the passphrase held by the user.
startDate string <date-time>
Time when this wallet was created
hasLargeNumberOfAddresses boolean
Flag indicating that this wallet is large (more than 100,000 addresses). If this is set, some APIs may omit properties which are expensive to calculate for wallets with many addresses (for example, the total address counts returned by the List Addresses API).
config object
Custom configuration options for this wallet

400 Response

One of
error string required
Human-readable error message
requestId string required
Client request id
context object
Properties that apply to a specific error name
name string required
Error code