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+
// 10 HBAR
new Hbar(10);

//10 HBAR
Hbar.from(10);

//100 tinybars
Hbar.from(100, HbarUnit.TINYBAR);

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

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

//100 tinybars
hedera.HbarFrom(10, hedera.HbarUnits.Tinybar)

// v2.0.0+
// 10 HBAR
Hbar::new(10);

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

// 100 tinybars from HBAR convert to unit
Hbar::from_tinybars(100);

// 10 HBAR converted from string value
Hbar::from_str("10")?;

// v0.34.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+
//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();
//10 HBAR converted to tinybars
hedera.NewHbar(10).As(hedera.HbarUnits.Tinybar)

//10 HBAR to string format
hedera.NewHbar(10).String()

//10 HBAR converted to tinybars
hedera.NewHbar(10).AsTinybar()
// v2.0.0+
// 10 HBAR converted to tinybars
Hbar::new(10).to(HbarUnit::Tinybar);

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

// v0.34.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+
//The maximum number of hbars
const hbarMax = Hbar.MAX; 

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

//A constant value of zero hbars
const hbarZero = Hbar.ZERO;
//The maximum number of hbars
hbarMax := hedera.MaxHbar

//The minimum number of hbars
hbarMin := hedera.MinHbar

//A constant value of zero hbars
hbarZero := hedera.ZeroHbar

// v2.0.0+
// The maximum number of hbars
let hbar_max = Hbar::MAX;

// The minimum number of hbars
let hbar_min = Hbar::MIN;

// A constant value of zero hbars
let hbar_zero = Hbar::ZERO;

// v0.34.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+
//100 tinybars
Hbar.from(100, HbarUnit.TINYBAR);

// v2.0.0+
//100 tinybars
hedera.HbarFrom(100, hedera.HbarUnits.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.