# Energy

**URL:** https://heroiclabs.com/docs/hiro/godot/energy/
**Keywords:** energy, hiro
**Categories:** hiro, godot, energy

---


# Energy

Read more about the Energy system in Hiro [here](../../concepts/energy/).

## Get all energies

Get the energies and their current timers for the player.

```gdscript
var energyList = await hiro.energyGet(session)
print(energyList)
```

## Spend one or more energies

Spend one or more energies for the player.

```gdscript
var request =  Hiro.EnergySpendRequest.new()
request.amounts = {
    "power": 10,
    "tickets": 1
}

var energySpendRewards = await hiro.energySpend(session, request)
print(energySpendRewards)
```
## Spend energies with custom refill start times

Spend one or more energies and set a custom refill start time for each.

```gdscript
var request = Hiro.EnergySpendWithRefillStartTimeRequest.new()
request.spends = {
    "power": { "amount": 10, "refill_start_time": Time.get_unix_time_from_system() },
    "tickets": { "amount": 1, "refill_start_time": Time.get_unix_time_from_system() - 300 }
}

var energySpendReward = await hiro.energySpendWithRefillStartTime(session, request)
print(energySpendReward)
```

## Granting energy

While energy can be granted as part of a reward, you can also grant it directly.

```gdscript
var request = Hiro.EnergyGrantRequest.new()
request.amounts = {
    "power": 10,
    "tickets": 1
}

var energyList = await hiro.energyGrant(session, request)
print(energyList)
```