Skip to main content

QuoteAccount

QuoteAccount gets a fee quote to fund an account of the given size with the given confirmation target. If the connected lnd wallet doesn't have enough balance to fund an account of the requested size, an error is returned.

Source: poolrpc/trader.proto

gRPC

rpc QuoteAccount (QuoteAccountRequest) returns (QuoteAccountResponse);

REST

HTTP MethodPath
POST /v1/pool/accounts/quote

Code Samples

const fs = require('fs');
const grpc = require('@grpc/grpc-js');
const protoLoader = require('@grpc/proto-loader');

const GRPC_HOST = 'localhost:12010'
const MACAROON_PATH = 'POOL_DIR/regtest/pool.macaroon'
const TLS_PATH = 'POOL_DIR/tls.cert'

const loaderOptions = {
keepCase: true,
longs: String,
enums: String,
defaults: true,
oneofs: true,
};
const packageDefinition = protoLoader.loadSync('poolrpc/trader.proto', loaderOptions);
const poolrpc = grpc.loadPackageDefinition(packageDefinition).poolrpc;
process.env.GRPC_SSL_CIPHER_SUITES = 'HIGH+ECDSA';
const tlsCert = fs.readFileSync(TLS_PATH);
const sslCreds = grpc.credentials.createSsl(tlsCert);
const macaroon = fs.readFileSync(MACAROON_PATH).toString('hex');
const macaroonCreds = grpc.credentials.createFromMetadataGenerator(function(args, callback) {
let metadata = new grpc.Metadata();
metadata.add('macaroon', macaroon);
callback(null, metadata);
});
let creds = grpc.credentials.combineChannelCredentials(sslCreds, macaroonCreds);
let client = new poolrpc.Trader(GRPC_HOST, creds);
let request = {
account_value: <uint64>,
conf_target: <uint32>,
};
client.quoteAccount(request, function(err, response) {
console.log(response);
});
// Console output:
// {
// "miner_fee_rate_sat_per_kw": <uint64>,
// "miner_fee_total": <uint64>,
// }

Messages

poolrpc.QuoteAccountRequest

Source: poolrpc/trader.proto

FieldgRPC TypeREST TypeREST Placement
account_value
uint64stringbody
conf_target
uint32integerbody

poolrpc.QuoteAccountResponse

Source: poolrpc/trader.proto

FieldgRPC TypeREST Type
miner_fee_rate_sat_per_kw
uint64string
miner_fee_total
uint64string