Skip to content

x/bme — Burn/Mint Engine

x/bme is the Burn/Mint Engine. It uses VirtEngine’s own native asset and service credit; it does not require the Akash protocol or its compute token.

UnitNameMinimal denominationRole
VEVirtEngine native assetuveNative monetary unit; fees and bonded stake.
VCCVirtEngine Compute CredituvccService-accounting unit for the proposed conversion path.

Client display configurations use six decimal places. A denomination does not establish a peg, operational redemption, collateral adequacy, or a conversion rate.

The oracle field is now native_price_feed_id, with no hard-coded default VE feed identifier. An unconfigured Pyth contract config fails validation. A valid native feed must be explicitly configured before a conversion can rely on it.

Reviewed against repository source on 3 October 2026:

  • BurnMint, MintVCC, and BurnVCC in msg_server.go return pending responses. They do not perform the proposed oracle-priced bank conversion, persist a completed conversion, or enforce its complete collateral/circuit-breaker flow. Pending is not evidence of executed conversion.
  • MintTokens and BurnTokens in fee_collection.go provide bank operations and cumulative accounting. Their existence does not prove integration into every conversion or service-payment path.
  • SettleBilling in settlement.go transfers available escrow funds to providers, minus a configurable fee that it burns. DefaultSettleSpreadBps is 0. The default path burns none of the payment. Any adopted configuration must reconcile this configurable path with the provider-facing policy of full agreed payout and separate transaction fees.

The proposed issuance policy starts with zero supply and no fixed cap. Eligible human participation originates proposed primary allocations: 14 units of each 15-unit batch to eligible humans and 1 to Foundation stewardship. Staking does not independently authorize new primary issuance.

A service-credit conversion is not another personhood allocation. Refunds, redemption and native reissuance need separate specifications and accounting. The current conversion stubs do not implement the full human issuance policy. Transferable payments can also be received by providers and other economic actors.

MessageIntended operationCurrent handler result
MsgBurnMintPaired denomination conversionPending; conversion unimplemented.
MsgMintVCCConvert native VE into VCCPending; conversion unimplemented.
MsgBurnVCCRedeem unused VCC toward native VEPending; conversion unimplemented.
MsgUpdateParamsAuthority-controlled parameter updateValidates and stores parameters.
Terminal window
virtengine tx bme mint-vcc 1000000uve --from mykey
virtengine tx bme burn-vcc 1000000uvcc --from mykey
virtengine tx bme burn-mint 1000000uve uvcc --from mykey

These illustrate the renamed command/API surface, not an operational conversion service. Queries include Params, Status, and VaultState.

Track native units burned minus native units reissued over a defined interval, alongside outstanding credits, refunds, reserves, and provider payments. An equal reissue offsets a gross burn. A provider transfer changes ownership, not supply. Destroying a service credit does not itself prove net VE destruction.

A permanent consumption link could create recurring demand for human-originated claims. The current conversion handlers do not establish it. Outside compute, reserves, common ownership, entitlement capture, scarcity, and governance changes can weaken that link. Try the interactive economic experiments and research synthesis.

This rename changes messages, RPC methods, CLI commands, wallet metadata, and the service-credit denomination. Field numbers are retained, but renamed type URLs and RPC names are an API-breaking change. Rebuild old signed conversion transactions with the new SDK. Source naming does not migrate bank balances.

Fresh development genesis should use uve and uvcc. Existing networks require a coordinated upgrade and audited migration of bank supply/metadata/balances, escrow, BME records, configured limits and clients. No live migration is performed by this rename. Python and Rust outputs remain experimental under sdk/generation/toolchain.json.

Specify prices and units, rounding, collateral, oracle freshness, credit transferability, redemption, authorization and atomic failure. Implement and test the handlers, then align simulations with primary-issuance policy and test refunds, price shocks, reserves and provider/agent common ownership. “Equilibrium” describes a design aspiration, not an observed outcome.