- What is tomatophp/filament-wallet used for?
- It is a wallet and account balance manager for FilamentPHP admin panels, built on Bavix Wallet. It lets you add wallets to Eloquent models, view balances and transactions, and charge wallets directly from Filament resources. It is an admin-facing UI package, not a standalone wallet API.
- How do I install filament-wallet in a Laravel Filament project?
- Install it with composer require tomatophp/filament-wallet, then run php artisan filament-wallet:install. Register the plugin in your Filament AdminPanelProvider using FilamentWalletPlugin::make(). You also add the Bavix Wallet interface and wallet trait to the model that should own a wallet.
- Does filament-wallet support Filament v5, Filament v4, and Laravel 12?
- The v5.x package line supports Filament v5 with Laravel 12 and 13. Filament v4 projects should use the maintained v4 branch and pin to ^4.0. Filament v3 and earlier are not directly supported, so older stacks require refactoring or a fork.
- How do I add a wallet to a User or Account model with filament-wallet?
- Your model must implement Bavix\Wallet\Interfaces\Wallet and use the HasWalletFloat trait from Bavix Wallet. After that, Filament table actions from the package can show balances and charge the wallet. The actual wallet behavior still comes from bavix/laravel-wallet.
- What is the TransactionType enum in filament-wallet and will it break custom transaction types?
- bavix/laravel-wallet v11 and v12 include a TransactionType enum on transactions, which improves type safety. Teams with custom transaction types may need to migrate or adjust those types for the new enum. Review custom wallet logic before upgrading to avoid backward-compatibility surprises.
- Can I use filament-wallet as a headless wallet API without Filament?
- No, filament-wallet is tightly coupled to Filament's Livewire-based admin layer and is intended for admin panels. Non-Filament projects get limited utility unless they adopt Filament for administration. For headless APIs, use bavix/laravel-wallet directly or build a separate API layer.
- How does filament-wallet handle multi-tenancy and isolated wallets for tenants?
- The package does not document built-in multi-tenant wallet isolation. Tenant scoping and access control must be designed in your application and Filament resources, typically using the underlying Bavix Wallet model relationships. Do not assume isolated tenant wallets without adding explicit scoping and authorization.
- Is filament-wallet production-ready for high-throughput wallet operations?
- It fits admin workflows such as balances, subscriptions, marketplace credits, and metered billing. However, testing gaps remain for concurrent wallet operations, custom validation, and high-throughput scenarios. No throughput limits are documented, and lazy() behavior should be considered for latency-sensitive admin workflows. Add your own tests, audit logging, and access controls before production use.
- What are alternatives to filament-wallet for Laravel wallet management?
- You can use bavix/laravel-wallet directly if you do not need Filament UI components. Another option is building custom Filament resources on top of Bavix Wallet, or evaluating other Laravel wallet packages. filament-wallet is mainly a convenience integration for Filament admin panels.
- How should I maintain filament-wallet across the v4 and v5 branches?
- There are two active branches, so deliberately pin either the v5.x line for Filament v5 and Laravel 12/13 or ^4.0 for Filament v4 projects. Monitor security and bug fixes for whichever branch you use and plan migration when your Filament stack changes. Integration with tomatophp/filament-account is conditionally registered only when that package is installed, reducing dependency bloat.