PHPackages                             victoravelar/geld - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [Utility &amp; Helpers](/categories/utility)
4. /
5. victoravelar/geld

AbandonedArchivedLibrary[Utility &amp; Helpers](/categories/utility)

victoravelar/geld
=================

A Laravel package to deal with currency displaying and exchange.

v0.1.3(6y ago)57MITPHPPHP ~7.2

Since Oct 27Pushed 5y ago1 watchersCompare

[ Source](https://github.com/VictorAvelar/geld)[ Packagist](https://packagist.org/packages/victoravelar/geld)[ Docs](https://github.com/victoravelar/geld)[ RSS](/packages/victoravelar-geld/feed)WikiDiscussions master Synced 2mo ago

READMEChangelog (4)Dependencies (9)Versions (8)Used By (0)

Geld
====

[](#geld)

**Bring currency exchange rates to your Laravel application**

[![Latest Version on Packagist](https://camo.githubusercontent.com/c16d115f6a4e83c9b146e5bdf8932e14d488dbe3be6df11128b1699cbb2077e4/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f762f766963746f726176656c61722f67656c642e7376673f7374796c653d666c61742d737175617265)](https://packagist.org/packages/victoravelar/geld)[![Software License](https://camo.githubusercontent.com/55c0218c8f8009f06ad4ddae837ddd05301481fcf0dff8e0ed9dadda8780713e/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f6c6963656e73652d4d49542d627269676874677265656e2e7376673f7374796c653d666c61742d737175617265)](LICENSE.md)[![Build Status](https://camo.githubusercontent.com/de3df46a92edee6d0e343d3be72f47fe00a3fbfceafa40fc4edba491bf70eee7/68747470733a2f2f696d672e736869656c64732e696f2f7472617669732f766963746f726176656c61722f67656c642f6d61737465722e7376673f7374796c653d666c61742d737175617265)](https://travis-ci.org/victoravelar/geld)[![Coverage Status](https://camo.githubusercontent.com/d0ec688fa555c0bfe7d1fe36503c18c5f8612408870f29c04b72119ea033967f/68747470733a2f2f696d672e736869656c64732e696f2f7363727574696e697a65722f636f7665726167652f672f766963746f726176656c61722f67656c642e7376673f7374796c653d666c61742d737175617265)](https://scrutinizer-ci.com/g/victoravelar/geld/code-structure)[![Quality Score](https://camo.githubusercontent.com/8bbdce1dac72d81f1eb8dc672791d3dda7a0241f5b42210f3cbfb5104839cda1/68747470733a2f2f696d672e736869656c64732e696f2f7363727574696e697a65722f672f766963746f726176656c61722f67656c642e7376673f7374796c653d666c61742d737175617265)](https://scrutinizer-ci.com/g/victoravelar/geld)[![Total Downloads](https://camo.githubusercontent.com/fc124c5b322665fab197e3d14a3ecfa19773aed89cb0132481179d7cc659b2ae/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f64742f766963746f726176656c61722f67656c642e7376673f7374796c653d666c61742d737175617265)](https://packagist.org/packages/victoravelar/geld)

Install
-------

[](#install)

Via Composer

```
composer require victoravelar/geld
```

Getting started
---------------

[](#getting-started)

Geld allows you to pull and store currency exchange rates using [Fixer.io](https://fixer.io) as source, it is highly configurable and it solely depends on your needs.

Usage
-----

[](#usage)

Set your Fixer.io API key as an environment variable for your project using `FIXER_API_KEY` as name.

### Configuration

[](#configuration)

To check the configuration options, please refer to `config/geld.php` where you will find the available options and a detailed explanation of the purpose of each one of them.

If you are ok with the defaults then you are good to go but if you desire to change something run `php artisan vendor:publish` and select `GeldServiceProvider` from the list.

The `geld.php` file will be published to the Laravel default config folder.

### Setting up the scheduler

[](#setting-up-the-scheduler)

To be able to use Task Scheduling in laravel you need to start Cron in your server, you can follow the introduction of the related [Laravel documentation for a detailed explanation](https://laravel.com/docs/6.x/scheduling).

### Pulling the exchange rates

[](#pulling-the-exchange-rates)

If you are using a free Fixer.io account, you have access to hourly updates and it is recommended to pull the rates as often as possible.

Copy and paste the following code into your `app/Console/Kernel.php` file to start pulling rates every hour.

```
$schedule->command(UpdateExchangeRatesCommand::class)->hourlyAt(5);
```

This snippet instructs your Laravel application to pull the rates every hour 5 minutes past the hour.

### The history table

[](#the-history-table)

This table will potentially become a huge information container (if enabled) as every hour it will pull new records from the API, the history table is meant to solve some problems when displaying or calculating entries performed on a certain day at a certain time or for use cases where having access to older rates for a currency is required.

If you only need the latest exchange rates then you can disable the history storage by setting the `history_mode`configuration variable to false.

### Retention period

[](#retention-period)

We ship a command that soft deletes records older than the defined retention period which you can change using the `retention` configuration variable.

To schedule the execution of this command copy and paste the following snippet in the `app/Console/Kernel.php` file.

```
$schedule->command(CheckRetentionCommand::class)->weekly();
```

### Data incineration

[](#data-incineration)

**When gone means gone**

Geld also chips an incinerator, this command will hard delete the records older than the defined incineration period, you can control this time window using the `incinerate_after` configuration variable.

If you don't want to hard delete information from the history table, you can disable the incinerator by setting the `incinerate` configuration variable to false.

To schedule the execution of this command copy and paste the following snippet in the `app/Console/Kernel.php` file.

```
$schedule->command(DataIncineratorCommand::class)->monthly();
```

### Events

[](#events)

After every successful pull from Fixer.io, Geld will dispatch a RatesUpdated event that you can hook into.

Change log
----------

[](#change-log)

Please see [CHANGELOG](CHANGELOG.md) for more information on what has changed recently.

Testing
-------

[](#testing)

```
$ composer test
```

Contributing
------------

[](#contributing)

Please see [CONTRIBUTING](.github/CONTRIBUTING.md) and [CODE\_OF\_CONDUCT](.github/CODE_OF_CONDUCT.md) for details.

Security
--------

[](#security)

If you discover any security related issues, please email  instead of using the issue tracker.

Credits
-------

[](#credits)

- [Victor Hugo Avelar Ossorio](https://github.com/VictorAvelar)
- [All Contributors](../../contributors)

License
-------

[](#license)

The MIT License (MIT). Please see [License File](LICENSE.md) for more information.

###  Health Score

23

—

LowBetter than 27% of packages

Maintenance20

Infrequent updates — may be unmaintained

Popularity9

Limited adoption so far

Community10

Small or concentrated contributor base

Maturity47

Maturing project, gaining track record

 Bus Factor1

Top contributor holds 51.5% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Every ~36 days

Total

4

Last Release

2283d ago

### Community

Maintainers

![](https://www.gravatar.com/avatar/1d916828232fe3106f3bc593b97ceef46f2b4285b4867a59d6277495e2a6fbf6?d=identicon)[VictorAvelar](/maintainers/VictorAvelar)

---

Top Contributors

[![dependabot-preview[bot]](https://avatars.githubusercontent.com/in/2141?v=4)](https://github.com/dependabot-preview[bot] "dependabot-preview[bot] (140 commits)")[![VictorAvelar](https://avatars.githubusercontent.com/u/7926849?v=4)](https://github.com/VictorAvelar "VictorAvelar (131 commits)")[![dependabot[bot]](https://avatars.githubusercontent.com/in/29110?v=4)](https://github.com/dependabot[bot] "dependabot[bot] (1 commits)")

---

Tags

currency-converterlaravelmoneylaravelmoneygeld

###  Code Quality

TestsPHPUnit

Static AnalysisPHPStan

Code StylePHP CS Fixer

Type Coverage Yes

### Embed Badge

![Health badge](/badges/victoravelar-geld/health.svg)

```
[![Health](https://phpackages.com/badges/victoravelar-geld/health.svg)](https://phpackages.com/packages/victoravelar-geld)
```

###  Alternatives

[torann/currency

This provides Laravel with currency functions such as currency formatting and conversion using up-to-date exchange rates.

4081.1M6](/packages/torann-currency)[firefly-iii/data-importer

Firefly III Data Import Tool.

7545.8k](/packages/firefly-iii-data-importer)[andriichuk/laracash

PHP Laravel Money Package

74108.2k1](/packages/andriichuk-laracash)[wujunze/money-wrapper

MoneyPHP Wrapper

113.8k](/packages/wujunze-money-wrapper)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
