Skip to main content

Fee Estimate

GET /v1/fees/estimate

Returns feerate buckets from your upstream kaspad node (getFeeEstimate). Use this when building transactions to choose a priority fee before signing.

Available on all plans (including Free). Kaspa has no separate priority field at submit time — priority is encoded in the transaction fee (sum(inputs) − sum(outputs)).

Credits

  • 1 credit (same as getFeeEstimate via POST /rpc)

Query parameters

ParameterDescription
experimentalIf true, calls getFeeEstimateExperimental upstream

Example

const API_KEY = "kwery_live_YOUR_KEY";
const API_URL = "https://kwery-api.com";

const fees = await fetch(`${API_URL}/v1/fees/estimate`, {
  headers: { "X-API-Key": API_KEY },
}).then((r) => r.json());

console.log(fees.priority);

Response

{
  "network": "mainnet",
  "priority": {
    "feerate": 2.5,
    "estimated_seconds": 0.5
  },
  "normal": [
    { "feerate": 1.2, "estimated_seconds": 30 }
  ],
  "low": [
    { "feerate": 1.0, "estimated_seconds": 3600 }
  ],
  "experimental": false,
  "credits_used": 1,
  "guidance": "Kaspa priority is set in the signed transaction..."
}

How to use feerate

  1. Build/sign your transaction with your wallet or Kaspa SDK.
  2. Compute mass (grams) of the signed tx.
  3. Choose a bucket feerate (sompi/gram). Required fee ≈ feerate × mass.
  4. Ensure sum(inputs) − sum(outputs) meets or exceeds that fee.
  5. Submit via POST /v1/transactions/submit or submitTransaction on POST /rpc.

There is no Helius-style bundle or staked-send path on Kaspa — priority is mempool ordering by feerate.

See also JSON-RPC Methods (getFeeEstimate) and Transactions.