{
  "schema": "uquad.rpc.cu_quote_request.v1",
  "updated": "2026-06-03",
  "surface": "https://rpc.uquad.org/buy.html",
  "status": "manual_quote_request_until_quote_api_is_live",
  "request_fields": [
    {
      "name": "wallet_address",
      "required": true,
      "description": "Wallet that should own the CU allowance and receive the endpoint key."
    },
    {
      "name": "send_amount",
      "required": true,
      "description": "Amount the customer intends to send on the selected rail. This estimates CU but does not bind the feeder."
    },
    {
      "name": "bundle",
      "required": false,
      "accepted_values": ["1M", "25M", "100M", "custom"],
      "description": "Reference allowance target for the quote request."
    },
    {
      "name": "endpoint_scope",
      "required": true,
      "accepted_values": ["single_chain", "selected_chains", "fleet"],
      "description": "Endpoint coverage requested for the allowance."
    },
    {
      "name": "payment_rail",
      "required": true,
      "description": "Dedicated rail account from payment-rails.json."
    },
    {
      "name": "return_path",
      "required": true,
      "description": "Where the quote response and endpoint key should be returned after approval."
    }
  ],
  "quote_response_fields": [
    "quote_id",
    "invoice_id",
    "wallet_address",
    "cu_allowance",
    "expected_send_amount",
    "expected_send_base_units",
    "quoted_cu_estimate",
    "endpoint_scope",
    "denom",
    "payment_address",
    "memo",
    "amount_binding",
    "credit_basis",
    "quote_rate",
    "expires_at",
    "wallet_bound_key_instructions",
    "status"
  ],
  "memo_format": "rpc:<wallet_address>:<quote_id>",
  "match_rule": "The feeder matches an accepted quote by memo and credited wallet context, not by the amount the customer typed into the quote builder.",
  "credit_rule": "The feeder credits CU from the amount that actually arrives. The entered send amount is only a quote estimate.",
  "usage_rule": "Endpoint requests identify the credited wallet with X-Wallet-Address and authorize spend with a wallet-bound X-API-Key. A public wallet address alone is not a bearer secret.",
  "boundary": [
    "This is a private RPC endpoint product surface.",
    "This is not a support receipt request.",
    "This is not Infra memory revenue, relayer gas, validator custody, provider payout, reserve value, or system-spendable value until admitted through the correct accounting path.",
    "Payment without an accepted quote is visible as unmatched and does not automatically credit CU."
  ]
}
