Weave Code
Weaver
Helps Laravel developers discover, compare, and choose open-source packages. See popularity, security, maintainers, and scores at a glance to make better decisions.
Feedback
Share your thoughts, report bugs, or suggest improvements.
Subject
Message

Currency Laravel Package

amrshawky/currency

A Laravel/PHP package for currency exchange rates and conversion, with a clean API for fetching rates from multiple providers, converting amounts between currencies, and caching results for fast, reliable performance in your applications.

Deep Wiki
Context7

Product Decisions This Supports

  • Build vs. buy (and the answer is often "neither — wrap it"): This package is ~a few hundred lines wrapping a single HTTP endpoint. It informs the decision by giving you a cheap prototype to validate whether FX conversion is even a differentiating feature. If it isn't, the correct outcome is usually a thin in-house adapter over a rate provider, not a long-term dependency on an archived wrapper.
  • Localized pricing and display roadmap: Supports decisions like "show prices in the buyer's currency," "display an indicative crypto price alongside fiat," or "show a historical rate on an invoice/receipt." These are presentation-layer features where approximate, cached rates are acceptable.
  • Reporting and analytics use cases: Historical rate lookups let you normalize multi-currency revenue/usage data into a single reporting currency for dashboards. Useful for internal BI where a stale rate is a minor error, not a financial one.
  • Scope boundary for checkout/payments: The most valuable PM decision this surfaces is a negative one — it should not back any flow where the rate is contractual (charging a card, settling a payout, computing tax). That constraint forces an explicit product decision about which surfaces need a real, SLA-backed rate source and which can tolerate a free public API.
  • Vendor/API abstraction as an architectural requirement: Because the upstream is a free third-party API, adopting this pushes the team to define a ExchangeRateProvider interface with caching, fallback, and rate-snapshot persistence. That interface is the reusable asset; the package is not.
  • Licensing and IP posture: MIT means you can fork and vendor the code internally with no legal friction — a legitimate decision path if you want the convenience without the abandonment risk.

When to Consider This Package

Consider it when all of the following hold:

  • It's a prototype, spike, internal tool, or back-office report — not a customer-facing money path.
  • Volume is low and you will cache aggressively (rates change daily at most; you should never call per-request).
  • You are willing to vendor/fork the source into your own repo rather than depend on the Packagist package.
  • You need a very small surface: current rate, historical rate by date, maybe a conversion helper. No rate alerts, no hedging, no settlement.
  • You've verified the upstream exchangerate.host access model still works for you (auth requirements and free-tier terms for this API have changed over time — confirm before committing, since the code was last released in May 2021 and cannot have adapted).
  • You have a fallback plan: a second provider or a manually maintained rate table.

Look elsewhere — or budget real engineering time — when:

  • Money moves. Payments, payouts, refunds, invoicing with legal currency amounts, or tax calculation. You need a licensed/commercial provider with an SLA, documented rate timestamps, and auditability. Free public APIs are explicitly not that.
  • The repo is archived. amrshawky/currency is archived with a last release in 2021 and 27 stars. There is no maintainer, no security patching, no compatibility work for newer PHP/Laravel versions, and no support for upstream API changes. Treat it as sample code, not a dependency.
  • You need precision guarantees. FX conversion in PHP floats will bite you on rounding, and this class of library typically does no decimal/Brick-money handling. If you must reconcile to the cent, build on a decimal library and store rates with explicit timestamps and source.
  • You need compliance or audit trails. Regulatory or financial-reporting contexts require retained rate snapshots and a named data source with contractual terms.
  • You want a supported alternative. A maintained Laravel FX package, a commercial provider SDK (with a free tier), or ~150 lines of your own HTTP client plus a cache are all lower-risk than an archived wrapper. Realistically, replacing this package is a one-to-two-day task — factor that in and the "buy" case largely evaporates.

How to Pitch It (Stakeholders)

One-liner for executives: This is a tiny, free, MIT-licensed wrapper around a public currency-rate API that lets us demo currency conversion in days — but it is archived and unmaintained, so we should treat it as a prototype accelerator and not as infrastructure for anything that touches customer money.

For engineering: The value is the API shape, not the code. Adopt it behind our own ExchangeRateProvider interface, vendor the source rather than pulling the abandoned package, add caching and a rate-snapshot table with timestamps, and plan a swap to a commercial provider before any payment-adjacent use. Estimated cost to replace with an in-house client: 1–2 days.

The trade-off to acknowledge: Near-zero adoption cost and zero license friction versus no maintainer, no security updates since 2021, and a hard dependency on the free tier of a third-party API whose terms can change without notice. The package is a reasonable spike input and a poor production commitment — and the decision to abstract it now is what keeps that choice reversible.

Weaver

How can I help you explore Laravel packages today?

Conversation history is not saved when not logged in.
Prompt
Add packages to context
No packages found.
3mdikram/worldmoneywords
snowsoft/config
itmosoft/laravel-subscriptions
larva/laravel-ai-qwen
diephp/sequences
users-au/socialite-provider
twidpay/twid-logger
mrnewport/laravel-plaid
mrnewport/laravel-repo
mrnewport/laravel-docsign
mrnewport/laravel-stow
mrnewport/laravel-flow
mrnewport/laravel-priceable
mrnewport/laravel-nestedterms
fredmeng/laravel-apidoc-generator
itstructure/laravel-multilingual-tools
pdustdar/elasticsearch
markupai/php-sdk
rlacerda83/lumem-microservice-shipment
uni-method/symfony-lib