Skip to main content
ConstructorTypeDescription
new Hbar(<amount>)HbarInitializes the Hbar object
new Hbar(<amount>)

HBAR from:

Construct HBAR from different representations.
MethodTypeDescription
Hbar.from(<hbars>)long / BigDecimalReturns an Hbar whose value is equal to the specified value
Hbar.from(<hbars, unit>)long / BigDecimal , HbarUnitReturns an Hbar representing the value in the given units
Hbar.fromString(<text>)CharSequenceConverts the provided string into an amount of hbars
Hbar.fromString(<text, unit>)CharSequence, HbarUnitConverts the provided string into an amount of hbars
Hbar.fromTinybars(<tinybars>)longReturns an Hbar converted from the specified number of tinybars
//10 HBAR
new Hbar(10);

//10 HBAR from hbar value
Hbar.from(10);

//100 tinybars from HBAR convert to unit
Hbar.from(100, HbarUnit.TINYBAR);

// 10 HBAR converted from string value
Hbar.fromString("10");

//100 tinybars from string value
Hbar.fromString("10", HbarUnit.TINYBAR);

// v2.0.0+

HBAR to:

Convert HBAR to a different unit/format.
MethodTypeDescription
to(<unit>)HbarUnitSpecify the unit of hbar to convert to. Use As for Go.
toString(<unit>)HbarUnitString value of the hbar unit to convert to. Use String() for Go.
toTinybars()LongHbar value converted to tinybars
//10 HBAR converted to tinybars
new Hbar(10).to(HbarUnit.TINYBAR);

//10 HBAR converted to tinybars
new Hbar(10).toString(HbarUnit.TINYBAR);

//10 HBAR converted to tinybars
new Hbar(10).toTinybars();

// v2.0.0+

HBAR constants:

Provided constant values of HBAR.
MethodTypeDescription
Hbar.MAXHbarA constant value of the maximum number of hbars (50_000_000_000 hbars)
Hbar.MINHbarA constant value of the minimum number of hbars (-50_000_000_000 hbars)
Hbar.ZEROHbarA constant value of zero hbars
//The maximum number of hbars
Hbar hbarMax = Hbar.MAX; 

//The minimum number of hbars
Hbar hbarMin = Hbar.MIN;

//A constant value of zero hbars
Hbar hbarZero = Hbar.ZERO; 

// v2.0.0+

HBAR units

Modify the HBAR representation to one of the HBAR denominations.
FunctionDescription
HbarUnit.TINYBARThe atomic (smallest) unit of hbar, used natively by the Hedera network
HbarUnit.MICROBAREquivalent to 100 tinybar or 1⁄1,000,000 hbar.
HbarUnit.MILLIBAREquivalent to 100,000 tinybar or 1⁄1,000 hbar
HbarUnit.HBARThe base unit of hbar, equivalent to 100 million tinybar.
HbarUnit.KILOBAREquivalent to 1 thousand hbar or 100 billion tinybar.HbarUnit.Megabar
HbarUnit.MEGABAREquivalent to 1 million hbar or 100 trillion tinybar.
HbarUnit.GIGABAREquivalent to 1 billion hbar or 100 quadrillion tinybar.
//100 tinybars
Hbar.from(100, HbarUnit.TINYBAR);

// v2.0.0+

HBAR decimal places

The decimal precision of HBAR varies across the different Hedera APIs. While HAPI, JSON-RPC Relay, and Hedera Smart Contract Service (EVM) provide 8 decimal places, the msg.value in JSON-RPC Relay provides 18 decimal places.
APIDecimal
Hedera API (HAPI) (Crypto + SCS Service (msg.value))8
Hedera Smart Contract Service (EVM)8
JSON RPC Relay (passed as arguments)8
JSON RPC Relay (msg.value)18
Note: The JSON-RPC Relay msg.value uses 18 decimals when it returns HBAR. As a result, the gasPrice also uses 18 decimal places since it is only utilized from the JSON-RPC Relay.