# Energy

**URL:** https://heroiclabs.com/docs/hiro/typescript/energy/
**Keywords:** energy, hiro
**Categories:** hiro, typescript, 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.

```typescript
const energyList = await hiroClient.energyGet(session);
console.log(energyList);
```

## Spend one or more energies

Spend one or more energies for the player.

```typescript
const request = new EnergySpendRequest();
request.amounts = {
    "power": 10,
    "tickets": 1
};

const energySpendRewards = await hiroClient.energySpend(session, request);
console.log(energySpendRewards);
```
## Spend energies with custom refill start times

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

```typescript
const request = new EnergySpendWithRefillStartTimeRequest();
request.spends = {
    "power": { amount: 10, refill_start_time: Math.floor(Date.now() / 1000) },
    "tickets": { amount: 1, refill_start_time: Math.floor(Date.now() / 1000) - 300 }
};

const energySpendReward = await hiroClient.energySpendWithRefillStartTime(session, request);
console.log(energySpendReward);
```

## Granting energy

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

```csharp
const request = new EnergyGrantRequest();
request.amounts = {
    "power": 10,
    "tickets": 1
};

const energyList = await hiroClient.energyGrant(session, request);
console.log(energyList);
```