PHPackages                             feedex/feedex - 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. feedex/feedex

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

feedex/feedex
=============

Feedex core contracts and exchange registry.

v0.1.1(1mo ago)026↑2438.5%2MITPHPPHP ^8.4CI passing

Since Mar 19Pushed 1mo agoCompare

[ Source](https://github.com/feedex/feedex)[ Packagist](https://packagist.org/packages/feedex/feedex)[ RSS](/packages/feedex-feedex/feed)WikiDiscussions main Synced 1mo ago

READMEChangelogDependencies (2)Versions (5)Used By (2)

feedex/feedex
=============

[](#feedexfeedex)

Feedex core package.

`feedex/feedex` is an exchange-agnostic foundation for building a unified crypto exchange SDK ecosystem. It does **not** implement any exchange API directly. Instead, it provides contracts and a registry so adapter packages (like `feedex/coinex`) can plug in cleanly.

Why this package exists
-----------------------

[](#why-this-package-exists)

- Keep core independent from exchange-specific details
- Let users install only the adapters they need
- Enforce a consistent, typed contract across adapters
- Make adding new exchanges predictable and maintainable

Installation
------------

[](#installation)

```
composer require feedex/feedex
```

You will usually install at least one adapter as well:

```
composer require feedex/feedex feedex/coinex
```

Core concepts
-------------

[](#core-concepts)

### 1) `ExchangeInterface`

[](#1-exchangeinterface)

Represents a concrete exchange client instance (e.g. CoinEx, KuCoin).

### 2) `ExchangeFactoryInterface`

[](#2-exchangefactoryinterface)

Responsible for creating exchange instances from config.

### 3) Module contracts

[](#3-module-contracts)

Standard capabilities for exchange modules, e.g.:

- `CommonModuleInterface`
- `AccountModuleInterface`
- `AssetModuleInterface`
- `SpotMarketModuleInterface`
- `SpotOrderModuleInterface`
- `SpotDealModuleInterface`
- `FuturesMarketModuleInterface`
- `FuturesOrderModuleInterface`

### 4) Capability contracts

[](#4-capability-contracts)

Exchange clients declare supported modules via capability interfaces, e.g.:

- `HasCommonModuleInterface`
- `HasAccountModuleInterface`
- `HasAssetModuleInterface`
- `HasSpotMarketModuleInterface`
- `HasSpotOrderModuleInterface`
- `HasSpotDealModuleInterface`
- `HasFuturesMarketModuleInterface`
- `HasFuturesOrderModuleInterface`

### 5) `Feedex` registry/manager

[](#5-feedex-registrymanager)

Central place to register adapter factories and resolve exchanges by id.

Quick usage
-----------

[](#quick-usage)

```
use Feedex\Feedex;
use Feedex\Coinex\v2\CoinexFactory;

$feedex = (new Feedex())
    ->register(new CoinexFactory());

$coinex = $feedex->exchange('coinex', [
    'access_id' => getenv('COINEX_ACCESS_ID'),
    'secret_key' => getenv('COINEX_SECRET_KEY'),
]);

$markets = $coinex->spotMarket()->listMarkets();
```

Error handling
--------------

[](#error-handling)

If you request an exchange that is not registered, `Feedex` throws:

- `Feedex\Exceptions\UnknownExchangeException`

Creating a new adapter
----------------------

[](#creating-a-new-adapter)

An adapter package should:

1. Depend on `feedex/feedex`
2. Implement `ExchangeInterface` in its exchange client
3. Implement module/capability contracts as supported
4. Provide an `ExchangeFactoryInterface` implementation
5. Be registered in `Feedex` via `->register(...)`

Package scope
-------------

[](#package-scope)

This repository is intentionally minimal and stable.

Exchange-specific HTTP clients, auth signing rules, endpoint methods, and DTO mapping belong in adapter repositories (e.g. `feedex/coinex`).

###  Health Score

40

—

FairBetter than 88% of packages

Maintenance90

Actively maintained with recent releases

Popularity10

Limited adoption so far

Community10

Small or concentrated contributor base

Maturity44

Maturing project, gaining track record

 Bus Factor1

Top contributor holds 100% 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 ~1 days

Total

2

Last Release

49d ago

### Community

Maintainers

![](https://www.gravatar.com/avatar/b05c2ddda48012b729ab705af8cc239a2d90b44205bc8708099145eca188688e?d=identicon)[mehrna](/maintainers/mehrna)

---

Top Contributors

[![mehrna](https://avatars.githubusercontent.com/u/6211768?v=4)](https://github.com/mehrna "mehrna (11 commits)")

###  Code Quality

TestsPHPUnit

Static AnalysisPHPStan

Type Coverage Yes

### Embed Badge

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

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

###  Alternatives

[imanghafoori/php-imports-analyzer

A command line tool to scan for extra or wrong use statements in composer based apps.

21212.1k17](/packages/imanghafoori-php-imports-analyzer)[devonab/filament-easy-footer

A simple plugin to display a customizable footer in your filament application!

3857.0k1](/packages/devonab-filament-easy-footer)

PHPackages © 2026

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