type: google.api.Service config_version: 3 # Mapping for the grpc-gateway REST proxy. # Please make sure to also update the `metadata.go` file when editing this file # and adding a new client-streaming RPC! http: rules: # rpc.proto - selector: lnrpc.Lightning.WalletBalance get: "/v1/balance/blockchain" - selector: lnrpc.Lightning.ChannelBalance get: "/v1/balance/channels" - selector: lnrpc.Lightning.GetTransactions get: "/v1/transactions" - selector: lnrpc.Lightning.EstimateFee get: "/v1/transactions/fee" - selector: lnrpc.Lightning.SendCoins post: "/v1/transactions" body: "*" - selector: lnrpc.Lightning.ListUnspent get: "/v1/utxos" - selector: lnrpc.Lightning.SubscribeTransactions get: "/v1/transactions/subscribe" - selector: lnrpc.Lightning.SendMany post: "/v1/transactions/many" body: "*" - selector: lnrpc.Lightning.NewAddress get: "/v1/newaddress" - selector: lnrpc.Lightning.SignMessage post: "/v1/signmessage" body: "*" - selector: lnrpc.Lightning.VerifyMessage post: "/v1/verifymessage" body: "*" - selector: lnrpc.Lightning.ConnectPeer post: "/v1/peers" body: "*" - selector: lnrpc.Lightning.DisconnectPeer delete: "/v1/peers/{pub_key}" - selector: lnrpc.Lightning.ListPeers get: "/v1/peers" - selector: lnrpc.Lightning.SubscribePeerEvents get: "/v1/peers/subscribe" - selector: lnrpc.Lightning.GetInfo get: "/v1/getinfo" - selector: lnrpc.Lightning.GetRecoveryInfo get: "/v1/getrecoveryinfo" - selector: lnrpc.Lightning.PendingChannels get: "/v1/channels/pending" - selector: lnrpc.Lightning.ListChannels get: "/v1/channels" - selector: lnrpc.Lightning.SubscribeChannelEvents get: "/v1/channels/subscribe" - selector: lnrpc.Lightning.ClosedChannels get: "/v1/channels/closed" - selector: lnrpc.Lightning.OpenChannelSync post: "/v1/channels" body: "*" - selector: lnrpc.Lightning.OpenChannel post: "/v1/channels/stream" body: "*" - selector: lnrpc.Lightning.FundingStateStep post: "/v1/funding/step" body: "*" - selector: lnrpc.Lightning.ChannelAcceptor post: "/v1/channels/acceptor" body: "*" - selector: lnrpc.Lightning.CloseChannel delete: "/v1/channels/{channel_point.funding_txid_str}/{channel_point.output_index}" - selector: lnrpc.Lightning.AbandonChannel delete: "/v1/channels/abandon/{channel_point.funding_txid_str}/{channel_point.output_index}" - selector: lnrpc.Lightning.SendPayment post: "/v1/channels/transaction-stream" body: "*" - selector: lnrpc.Lightning.SendPaymentSync post: "/v1/channels/transactions" body: "*" - selector: lnrpc.Lightning.SendToRoute # deprecated, no REST endpoint - selector: lnrpc.Lightning.SendToRouteSync post: "/v1/channels/transactions/route" body: "*" - selector: lnrpc.Lightning.AddInvoice post: "/v1/invoices" body: "*" - selector: lnrpc.Lightning.ListInvoices get: "/v1/invoices" - selector: lnrpc.Lightning.LookupInvoice get: "/v1/invoice/{r_hash_str}" - selector: lnrpc.Lightning.SubscribeInvoices get: "/v1/invoices/subscribe" - selector: lnrpc.Lightning.DecodePayReq get: "/v1/payreq/{pay_req}" - selector: lnrpc.Lightning.ListPayments get: "/v1/payments" - selector: lnrpc.Lightning.DeleteAllPayments delete: "/v1/payments" - selector: lnrpc.Lightning.DescribeGraph get: "/v1/graph" - selector: lnrpc.Lightning.GetNodeMetrics get: "/v1/graph/nodemetrics" - selector: lnrpc.Lightning.GetChanInfo get: "/v1/graph/edge/{chan_id}" - selector: lnrpc.Lightning.GetNodeInfo get: "/v1/graph/node/{pub_key}" - selector: lnrpc.Lightning.QueryRoutes get: "/v1/graph/routes/{pub_key}/{amt}" - selector: lnrpc.Lightning.GetNetworkInfo get: "/v1/graph/info" - selector: lnrpc.Lightning.StopDaemon post: "/v1/stop" body: "*" - selector: lnrpc.Lightning.SubscribeChannelGraph get: "/v1/graph/subscribe" - selector: lnrpc.Lightning.DebugLevel post: "/v1/debuglevel" body: "*" - selector: lnrpc.Lightning.FeeReport get: "/v1/fees" - selector: lnrpc.Lightning.UpdateChannelPolicy post: "/v1/chanpolicy" body: "*" - selector: lnrpc.Lightning.ForwardingHistory post: "/v1/switch" body: "*" - selector: lnrpc.Lightning.ExportChannelBackup get: "/v1/channels/backup/{chan_point.funding_txid_str}/{chan_point.output_index}" - selector: lnrpc.Lightning.ExportAllChannelBackups get: "/v1/channels/backup" - selector: lnrpc.Lightning.VerifyChanBackup post: "/v1/channels/backup/verify" body: "*" - selector: lnrpc.Lightning.RestoreChannelBackups post: "/v1/channels/backup/restore" body: "*" - selector: lnrpc.Lightning.SubscribeChannelBackups get: "/v1/channels/backup/subscribe" - selector: lnrpc.Lightning.BakeMacaroon post: "/v1/macaroon" body: "*" - selector: lnrpc.Lightning.ListMacaroonIDs get: "/v1/macaroon/ids" - selector: lnrpc.Lightning.DeleteMacaroonID delete: "/v1/macaroon/{root_key_id}" - selector: lnrpc.Lightning.ListPermissions get: "/v1/macaroon/permissions" # walletunlocker.proto - selector: lnrpc.WalletUnlocker.GenSeed get: "/v1/genseed" - selector: lnrpc.WalletUnlocker.InitWallet post: "/v1/initwallet" body: "*" - selector: lnrpc.WalletUnlocker.UnlockWallet post: "/v1/unlockwallet" body: "*" - selector: lnrpc.WalletUnlocker.ChangePassword post: "/v1/changepassword" body: "*" # autopilotrpc/autopilot.proto - selector: autopilotrpc.Autopilot.Status get: "/v2/autopilot/status" - selector: autopilotrpc.Autopilot.ModifyStatus post: "/v2/autopilot/modify" body: "*" - selector: autopilotrpc.Autopilot.QueryScores get: "/v2/autopilot/scores" - selector: autopilotrpc.Autopilot.SetScores post: "/v2/autopilot/scores" body: "*" # chainrpc/chainnotifier.proto - selector: chainrpc.ChainNotifier.RegisterConfirmationsNtfn post: "/v2/chainnotifier/register/confirmations" body: "*" - selector: chainrpc.ChainNotifier.RegisterSpendNtfn post: "/v2/chainnotifier/register/spends" body: "*" - selector: chainrpc.ChainNotifier.RegisterBlockEpochNtfn post: "/v2/chainnotifier/register/blocks" body: "*" # invoicesrpc/invoices.proto - selector: invoicesrpc.Invoices.SubscribeSingleInvoice get: "/v2/invoices/subscribe/{r_hash}" - selector: invoicesrpc.Invoices.CancelInvoice post: "/v2/invoices/cancel" body: "*" - selector: invoicesrpc.Invoices.AddHoldInvoice post: "/v2/invoices/hodl" body: "*" - selector: invoicesrpc.Invoices.SettleInvoice post: "/v2/invoices/settle" body: "*" # routerrpc/router.proto - selector: routerrpc.Router.SendPaymentV2 post: "/v2/router/send" body: "*" - selector: routerrpc.Router.TrackPaymentV2 get: "/v2/router/track/{payment_hash}" - selector: routerrpc.Router.EstimateRouteFee post: "/v2/router/route/estimatefee" body: "*" - selector: routerrpc.Router.SendToRoute # deprecated, no REST endpoint - selector: routerrpc.Router.SendToRouteV2 post: "/v2/router/route/send" body: "*" - selector: routerrpc.Router.ResetMissionControl post: "/v2/router/mc/reset" body: "*" - selector: routerrpc.Router.QueryMissionControl get: "/v2/router/mc" - selector: routerrpc.Router.GetMissionControlConfig get: "/v2/router/mccfg" - selector: routerrpc.Router.SetMissionControlConfig post: "/v2/router/mccfg" body: "*" - selector: routerrpc.Router.QueryProbability get: "/v2/router/mc/probability/{from_node}/{to_node}/{amt_msat}" - selector: routerrpc.Router.XImportMissionControl post: "/v2/router/x/importhistory" body: "*" - selector: routerrpc.Router.BuildRoute post: "/v2/router/route" body: "*" - selector: routerrpc.Router.SubscribeHtlcEvents get: "/v2/router/htlcevents" - selector: routerrpc.Router.SendPayment # deprecated, no REST endpoint - selector: routerrpc.Router.TrackPayment # deprecated, no REST endpoint - selector: routerrpc.Router.HtlcInterceptor post: "/v2/router/htlcinterceptor" body: "*" - selector: routerrpc.Router.UpdateChanStatus post: "/v2/router/updatechanstatus" body: "*" # signrpc/signer.proto - selector: signrpc.Signer.SignOutputRaw post: "/v2/signer/signraw" body: "*" - selector: signrpc.Signer.ComputeInputScript post: "/v2/signer/inputscript" body: "*" - selector: signrpc.Signer.SignMessage post: "/v2/signer/signmessage" body: "*" - selector: signrpc.Signer.VerifyMessage post: "/v2/signer/verifymessage" body: "*" - selector: signrpc.Signer.DeriveSharedKey post: "/v2/signer/sharedkey" body: "*" # stateservice.proto - selector: lnrpc.State.SubscribeState get: "/v1/state/subscribe" - selector: lnrpc.State.GetState get: "/v1/state" # verrpc/verrpc.proto - selector: verrpc.Versioner.GetVersion get: "/v2/versioner/version" # walletrpc/walletkit.proto - selector: walletrpc.WalletKit.ListUnspent post: "/v2/wallet/utxos" - selector: walletrpc.WalletKit.LeaseOutput post: "/v2/wallet/utxos/lease" body: "*" - selector: walletrpc.WalletKit.ReleaseOutput post: "/v2/wallet/utxos/release" body: "*" - selector: walletrpc.WalletKit.ListLeases post: "/v2/wallet/utxos/leases" - selector: walletrpc.WalletKit.DeriveNextKey post: "/v2/wallet/key/next" body: "*" - selector: walletrpc.WalletKit.DeriveKey post: "/v2/wallet/key" body: "*" - selector: walletrpc.WalletKit.ImportPublicKey post: "/v2/wallet/key/import" body: "*" - selector: walletrpc.WalletKit.NextAddr post: "/v2/wallet/address/next" body: "*" - selector: walletrpc.WalletKit.PublishTransaction post: "/v2/wallet/tx" body: "*" - selector: walletrpc.WalletKit.SendOutputs post: "/v2/wallet/send" body: "*" - selector: walletrpc.WalletKit.EstimateFee get: "/v2/wallet/estimatefee/{conf_target}" - selector: walletrpc.WalletKit.PendingSweeps get: "/v2/wallet/sweeps/pending" - selector: walletrpc.WalletKit.BumpFee post: "/v2/wallet/bumpfee" body: "*" - selector: walletrpc.WalletKit.ListSweeps get: "/v2/wallet/sweeps" - selector: walletrpc.WalletKit.LabelTransaction post: "/v2/wallet/tx/label" body: "*" - selector: walletrpc.WalletKit.FundPsbt post: "/v2/wallet/psbt/fund" body: "*" - selector: walletrpc.WalletKit.FinalizePsbt post: "/v2/wallet/psbt/finalize" body: "*" - selector: walletrpc.WalletKit.ListAccounts get: "/v2/wallet/accounts" - selector: walletrpc.WalletKit.ImportAccount post: "/v2/wallet/accounts/import" body: "*" # watchtowerrpc/watchtower.proto - selector: watchtowerrpc.Watchtower.GetInfo get: "/v2/watchtower/server" # wtclientrpc/wtclient.proto - selector: wtclientrpc.WatchtowerClient.AddTower post: "/v2/watchtower/client" body: "*" - selector: wtclientrpc.WatchtowerClient.RemoveTower delete: "/v2/watchtower/client/{pubkey}" - selector: wtclientrpc.WatchtowerClient.ListTowers get: "/v2/watchtower/client" - selector: wtclientrpc.WatchtowerClient.GetTowerInfo get: "/v2/watchtower/client/info/{pubkey}" - selector: wtclientrpc.WatchtowerClient.Stats get: "/v2/watchtower/client/stats" - selector: wtclientrpc.WatchtowerClient.Policy get: "/v2/watchtower/client/policy"