BLAZINGFAST — CATALOG, ORDERS, PAYMENTS AND SERVICE BILLING Reviewed: 5 October 2026. Setup: 00-index.txt. Production release: SDK/CLI 0.1.17; contract 2026-10-07.1. Check GET /v1/version and GET /v1/capabilities before using optional workflow features. Strict response validation is enforced. PURPOSE Discover public offers/configuration, create orders, inspect invoices and account balance, explicitly pay from that balance, and review service billing options. Product, quantity, period, currency, tax and add-ons determine the final invoice. PUBLIC API GET /v1/products?region=nl&type=vps and product/variant order-options: public configuration. POST /v1/billing/orders/preview: quote; POST /orders/draft: unpaid order. POST /v1/deploy/{region}/{productCode}/{variantCode}: one-call order + full final order amount paid from account balance + queued provisioning. Exact public SKU and eligible region required. Examples: /v1/deploy/nl/vps/2G, /v1/deploy/pt/dedicated/PTV4-1. Canonical body: billing_cycle, hostname, os, ssh_key_id, addons and max_total. Legacy billing/userConfig/maxTotal are compatibility forms, not preferred examples. Requires billing.order.create AND billing.invoice.pay; stable Idempotency-Key. Account currency and server-side prices/tax apply. Insufficient balance: HTTP 402 insufficient_credit, no committed order/invoice/debit/stock reservation; no partial payment/top-up/card charge. Repeat identical arguments/key after interruption. Success is not a ready server; follow serviceIds. Product/admin approvals still apply. GET /v1/billing/orders, /invoices, /balance, /transactions and unpaid-total. POST /v1/billing/invoices/{id}/pay: account balance payment, not a card charge. Service endpoints expose eligible renewal, upgrade, period-change options/checkout, autopay and cancellation. Unsupported service types still require the dashboard. Use endpoint-specific billing.* scopes; payment permission is independent of reads. CLI bf billing deploy nl vps 2G --file deploy.json --request-key stable-deploy-001 Hosted MCP deploy_product_variant / local bf_product_variant_deploy perform the same combined request. Full access needs no extra payment step; Read-only/Approval policies and client confirmations remain. Set BF_API_TIMEOUT=90 for slower checkout. bf products --region nl --type vps bf billing order-options PRODUCT_UUID VARIANT_UUID --region nl --currency EUR bf billing order-preview --file order.json After reviewing configuration: bf billing order-create --file order.json --request-key order-example-001 bf billing orders --payment-status unpaid bf billing invoices bf billing balance Only after explicit payment authorization: bf billing invoice-pay INVOICE_UUID --request-key payment-example-001 bf billing transactions See bf service renew --help and bf service billing --help for supported renewal and billing-cycle workflows; inspect options before authorizing changes. MCP Hosted: list_products, get_product_order_options, quote_order, create_new_order, pay_invoice_from_balance, get_balance, list_invoices, list_orders, list_transactions, get_unpaid_total, get_service_*_options, request_service_autopay and request_service_termination. Hosted generic ordering accepts VPS and managed dedicated configuration, owned SSH-key IDs and public add-on selections. Some product-specific workflows still require the dashboard; inspect discovered required fields before ordering. Selected policy controls approval; payment always needs explicit customer intent. Local: bf_regions/products/product_order_options, bf_billing_balance/invoices/unpaid_total, bf_service_list/show; opt-in bf_service_autopay_set and bf_service_cancel. No local generic order/payment tools. LIMITS AND SAFETY Draft order creation does not pay. Separate invoice payment may be partial and can start provisioning only after settlement. Atomic deploy instead requires full wallet payment in the same request; it rejects insufficient credit. Verify invoice outstanding amount, currency and balance, then track resulting service/task. Keep the same retry key and identical payload for the same action. Use separate keys for ordering and payment; read state after a timeout before retrying. Quote accepts the full cart and uses the same validation and pricing as checkout, including add-ons, equivalent billing periods, configured FX and account tax. It requires complete billing details, returns account currency and reserved=false, and needs no idempotency key. Quote is not a price lock or capacity reservation. Read actual product/order TTL. Caller-supplied prices/hardware are not trusted. No customer balance-adjustment, automatic top-up, card-charge or refund API is claimed here. Hosted AI approvals do not apply to direct API-key/CLI actions.