PHPackages                             xrplwin/xrpl-txparticipantextractor - 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. [Parsing &amp; Serialization](/categories/parsing)
4. /
5. xrplwin/xrpl-txparticipantextractor

ActiveLibrary[Parsing &amp; Serialization](/categories/parsing)

xrplwin/xrpl-txparticipantextractor
===================================

Parse XRPL transaction and extracts all participating accounts.

v1.1.12(3mo ago)13531[2 issues](https://github.com/XRPLWin/XRPL-TxParticipantExtractor/issues)MITPHPPHP ^8.1.0CI passing

Since Mar 9Pushed 3mo agoCompare

[ Source](https://github.com/XRPLWin/XRPL-TxParticipantExtractor)[ Packagist](https://packagist.org/packages/xrplwin/xrpl-txparticipantextractor)[ Docs](https://github.com/XRPLWin)[ RSS](/packages/xrplwin-xrpl-txparticipantextractor/feed)WikiDiscussions main Synced 1mo ago

READMEChangelog (10)Dependencies (3)Versions (53)Used By (0)

[![CI workflow](https://github.com/XRPLWin/XRPL-TxParticipantExtractor/actions/workflows/main.yml/badge.svg)](https://github.com/XRPLWin/XRPL-TxParticipantExtractor/actions/workflows/main.yml)[![GitHub license](https://camo.githubusercontent.com/69ac85c613138c838eb426b1c897f51f5e37081d4764c7f8c2be23880d9f0a04/68747470733a2f2f696d672e736869656c64732e696f2f6769746875622f6c6963656e73652f5852504c57696e2f5852504c2d54785061727469636970616e74457874726163746f72)](https://github.com/XRPLWin/XRPL-TxParticipantExtractor/blob/main/LICENSE)[![Total Downloads](https://camo.githubusercontent.com/11f4fd875576b2e46c1cdf0c9a18a283f04ed35e6ec22ca3a0f181e8a091d88a/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f64742f7872706c77696e2f7872706c2d74787061727469636970616e74657874726163746f722e7376673f7374796c653d666c6174)](https://packagist.org/packages/xrplwin/xrpl-txparticipantextractor)

XRPL Transaction Participant Extractor
======================================

[](#xrpl-transaction-participant-extractor)

Description
-----------

[](#description)

Parses any XRPL Transaction and extracts all participating accounts. This means initiators, balance change participants, signers, transaction signer, regularkey, token issuer accounts - everything.

### Note

[](#note)

This package is provided as is, please test it yourself first.
Found a bug? [Report issue here](https://github.com/XRPLWin/XRPL-TxParticipantExtractor/issues/new)

Requirements
------------

[](#requirements)

- PHP 8.1 or higher
- [Composer](https://getcomposer.org/)

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

[](#installation)

To install run

```
composer require xrplwin/xrpl-txparticipantextractor

```

Usage
-----

[](#usage)

```
use XRPLWin\XRPLTxParticipantExtractor\TxParticipantExtractor;

$txResult = [
  "Account": "rJWSJ8b2DxpvbhJjTA3ZRiEK2xsxZNHaLP",
  "Fee": "15",
  //...
]; //see tests/fixtures/tx01.json

$extractor = new TxParticipantExtractor((object)$txResult);
//To allow special accounts use:
//$extractor = new TxParticipantExtractor((object)$txResult,['allowSpecialAccounts' => true]);
$participantList = $extractor->result();

/*
├ This test printed output for $participantList
├ Array (
├     [0] => rJWSJ8b2DxpvbhJjTA3ZRiEK2xsxZNHaLP
├     [1] => rhub8VRN55s94qWKDv6jmDy1pUykJzF3wq
├     [2] => rETx8GBiH6fxhTcfHM9fGeyShqxozyD3xe
├     [3] => rJU5puBVXYYtxEVj2yQrTb2ySwA8wcqcev
├     [4] => rEcBRYhzi2uRrwACVpTjDPTY853bYnwtKf
├     [5] => ra5J6KL9fbt6EeNt6c1eea3J7BsQJBPApi
├     [6] => rMFDmJA7vtLhFtE23AvseAjJpsDinAHuA8
├     [7] => rBXy89tHLhdYWWUuY6pJPaDWYQ2t7pz5zD
├     [8] => r4UbhViHeao6vWkQkrZmwgcr1Y5DCKea68
├     [9] => r3rhWeE31Jt5sWmi4QiGLMZnY3ENgqw96W
├     [10] => rBLuzcfyq8y9WadyfB451LCnMyvdjBZi5n
├     [11] => rwietsevLFg8XSmG3bEZzFein1g8RBqWDZ
├     [12] => rEKgHxPWWPxb4naHAttqaj3K4Xc6mWC9ZH
├     [13] => r9ezMLUoErY6FdSKnwgoJH77yFGAibysLJ
├     [14] => rUoQzm8rG5jUtvpzRwAdmLoKjjVeWqckTy
├     [15] => rhS2H7ETM3wBkFETvYycoUm9FEDYi44Pg4
├     [16] => rKkrpnUB7smd5Su7eiqTbQWJGLc8bnagRH
├     [17] => rB7HzBnEki8NgjYjBosN4rpDZ3yMiBdeDg
├     [18] => r39rBggWHTUN95x31mAdxPCC7XnhuHRHor
├     [19] => rETSmijMPXT9fnDbLADZnecxgkoJJ6iKUA
├     [20] => rKNRP7Cim1ekmrVQp4NDN9gTh6EVVY1M3F
├ )
┴
*/

$participantDetails = $extractor->accounts();

/*
┐
├ This test printed output for $participantDetails
├ Array (
├     [rJWSJ8b2DxpvbhJjTA3ZRiEK2xsxZNHaLP] => Array
├         (
├             [0] => INITIATOR
├             [1] => TXSIGNER
├             [2] => RIPPLESTATE_HIGHLIMIT_ISSUER
├             [3] => ACCOUNTROOT_ACCOUNT
├         )
├
├     [rhub8VRN55s94qWKDv6jmDy1pUykJzF3wq] => Array
├         (
├             [0] => TAKERGETS_ISSUER
├             [1] => RIPPLESTATE_LOWLIMIT_ISSUER
├             [2] => OFFER_TAKERPAYS_ISSUER
├             [3] => RIPPLESTATE_HIGHLIMIT_ISSUER
├             [4] => DIRECTORYNODE_TAKERPAYS_ISSUER
├         )
├
├     [rETx8GBiH6fxhTcfHM9fGeyShqxozyD3xe] => Array
├         (
├             [0] => RIPPLESTATE_HIGHLIMIT_ISSUER
├             [1] => OFFER_ACCOUNT
├             [2] => DIRECTORYNODE_OWNER
├             [3] => ACCOUNTROOT_ACCOUNT
├         )
├
├     [rJU5puBVXYYtxEVj2yQrTb2ySwA8wcqcev] => Array
├         (
├             [0] => ACCOUNTROOT_ACCOUNT
├             [1] => RIPPLESTATE_HIGHLIMIT_ISSUER
├             [2] => OFFER_ACCOUNT
├             [3] => DIRECTORYNODE_OWNER
├         )
├
├     [rEcBRYhzi2uRrwACVpTjDPTY853bYnwtKf] => Array
├         (
├             [0] => RIPPLESTATE_HIGHLIMIT_ISSUER
├             [1] => ACCOUNTROOT_ACCOUNT
├             [2] => DIRECTORYNODE_OWNER
├             [3] => OFFER_ACCOUNT
├         )
├
├     [ra5J6KL9fbt6EeNt6c1eea3J7BsQJBPApi] => Array
├         (
├             [0] => DIRECTORYNODE_OWNER
├             [1] => OFFER_ACCOUNT
├             [2] => RIPPLESTATE_HIGHLIMIT_ISSUER
├             [3] => ACCOUNTROOT_ACCOUNT
├         )
├
├     [rMFDmJA7vtLhFtE23AvseAjJpsDinAHuA8] => Array
├         (
├             [0] => OFFER_ACCOUNT
├             [1] => RIPPLESTATE_HIGHLIMIT_ISSUER
├             [2] => ACCOUNTROOT_ACCOUNT
├             [3] => DIRECTORYNODE_OWNER
├         )
├
├     [rBXy89tHLhdYWWUuY6pJPaDWYQ2t7pz5zD] => Array
├         (
├             [0] => RIPPLESTATE_HIGHLIMIT_ISSUER
├             [1] => ACCOUNTROOT_ACCOUNT
├             [2] => DIRECTORYNODE_OWNER
├             [3] => OFFER_ACCOUNT
├         )
├
├     [r4UbhViHeao6vWkQkrZmwgcr1Y5DCKea68] => Array
├         (
├             [0] => RIPPLESTATE_HIGHLIMIT_ISSUER
├             [1] => DIRECTORYNODE_OWNER
├             [2] => ACCOUNTROOT_ACCOUNT
├             [3] => OFFER_ACCOUNT
├         )
├
├     [r3rhWeE31Jt5sWmi4QiGLMZnY3ENgqw96W] => Array
├         (
├             [0] => RIPPLESTATE_HIGHLIMIT_ISSUER
├             [1] => OFFER_ACCOUNT
├             [2] => ACCOUNTROOT_ACCOUNT
├         )
├
├     [rBLuzcfyq8y9WadyfB451LCnMyvdjBZi5n] => Array
├         (
├             [0] => OFFER_ACCOUNT
├             [1] => RIPPLESTATE_HIGHLIMIT_ISSUER
├             [2] => ACCOUNTROOT_ACCOUNT
├             [3] => DIRECTORYNODE_OWNER
├         )
├
├     [rwietsevLFg8XSmG3bEZzFein1g8RBqWDZ] => Array
├         (
├             [0] => RIPPLESTATE_HIGHLIMIT_ISSUER
├             [1] => ACCOUNTROOT_ACCOUNT
├             [2] => OFFER_ACCOUNT
├             [3] => DIRECTORYNODE_OWNER
├         )
├
├     [rEKgHxPWWPxb4naHAttqaj3K4Xc6mWC9ZH] => Array
├         (
├             [0] => OFFER_ACCOUNT
├             [1] => ACCOUNTROOT_ACCOUNT
├             [2] => DIRECTORYNODE_OWNER
├             [3] => RIPPLESTATE_HIGHLIMIT_ISSUER
├         )
├
├     [r9ezMLUoErY6FdSKnwgoJH77yFGAibysLJ] => Array
├         (
├             [0] => DIRECTORYNODE_OWNER
├             [1] => RIPPLESTATE_HIGHLIMIT_ISSUER
├             [2] => ACCOUNTROOT_ACCOUNT
├             [3] => OFFER_ACCOUNT
├         )
├
├     [rUoQzm8rG5jUtvpzRwAdmLoKjjVeWqckTy] => Array
├         (
├             [0] => OFFER_ACCOUNT
├             [1] => DIRECTORYNODE_OWNER
├             [2] => RIPPLESTATE_HIGHLIMIT_ISSUER
├             [3] => ACCOUNTROOT_ACCOUNT
├         )
├
├     [rhS2H7ETM3wBkFETvYycoUm9FEDYi44Pg4] => Array
├         (
├             [0] => DIRECTORYNODE_OWNER
├             [1] => RIPPLESTATE_LOWLIMIT_ISSUER
├             [2] => OFFER_ACCOUNT
├             [3] => ACCOUNTROOT_ACCOUNT
├         )
├
├     [rKkrpnUB7smd5Su7eiqTbQWJGLc8bnagRH] => Array
├         (
├             [0] => RIPPLESTATE_HIGHLIMIT_ISSUER
├             [1] => DIRECTORYNODE_OWNER
├             [2] => ACCOUNTROOT_ACCOUNT
├             [3] => OFFER_ACCOUNT
├         )
├
├     [rB7HzBnEki8NgjYjBosN4rpDZ3yMiBdeDg] => Array
├         (
├             [0] => OFFER_ACCOUNT
├             [1] => ACCOUNTROOT_ACCOUNT
├             [2] => RIPPLESTATE_HIGHLIMIT_ISSUER
├             [3] => DIRECTORYNODE_OWNER
├         )
├
├     [r39rBggWHTUN95x31mAdxPCC7XnhuHRHor] => Array
├         (
├             [0] => OFFER_ACCOUNT
├             [1] => RIPPLESTATE_HIGHLIMIT_ISSUER
├             [2] => ACCOUNTROOT_ACCOUNT
├             [3] => DIRECTORYNODE_OWNER
├         )
├
├     [rETSmijMPXT9fnDbLADZnecxgkoJJ6iKUA] => Array
├         (
├             [0] => OFFER_ACCOUNT
├             [1] => DIRECTORYNODE_OWNER
├             [2] => ACCOUNTROOT_ACCOUNT
├         )
├
├     [rKNRP7Cim1ekmrVQp4NDN9gTh6EVVY1M3F] => Array
├         (
├             [0] => ACCOUNTROOT_REGULARKEY
├         )
├
├ )
┴
*/
```

Running tests
-------------

[](#running-tests)

Run all tests in "tests" directory.

```
composer test

```

or

```
./vendor/bin/phpunit --testdox

```

###  Health Score

41

—

FairBetter than 89% of packages

Maintenance62

Regular maintenance activity

Popularity16

Limited adoption so far

Community7

Small or concentrated contributor base

Maturity67

Established project with proven stability

 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 ~21 days

Recently: every ~3 days

Total

52

Last Release

91d ago

### Community

Maintainers

![](https://www.gravatar.com/avatar/02b0ccc19f65ae6ac53ec11a802ad35565047f862eeccde3a7291917920f9160?d=identicon)[xrplwin](/maintainers/xrplwin)

---

Top Contributors

[![zgrguric](https://avatars.githubusercontent.com/u/108837406?v=4)](https://github.com/zgrguric "zgrguric (57 commits)")

---

Tags

parserparticipantsphpphp8xrplcomposermutationparserpackagerippletransactionxrpnfttxxrplperspectiverippledparticipats

###  Code Quality

TestsPHPUnit

### Embed Badge

![Health badge](/badges/xrplwin-xrpl-txparticipantextractor/health.svg)

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

###  Alternatives

[composer-unused/symbol-parser

Toolkit to parse symbols from a composer package

145.7M2](/packages/composer-unused-symbol-parser)[joshdifabio/composed

Easily parse your project's Composer configuration, and those of its dependencies, at runtime.

53273.0k7](/packages/joshdifabio-composed)[leonelquinteros/php-toml

PHP parser for TOML language ( https://github.com/toml-lang/toml )

266.7k](/packages/leonelquinteros-php-toml)[hardcastle/xrpl_php

PHP SDK / Client for the XRP Ledger

129.7k5](/packages/hardcastle-xrpl-php)

PHPackages © 2026

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