diff --git a/@l10n/ja/docs/references/client-libraries.md b/@l10n/ja/docs/references/client-libraries.md
index 1d6fed98674..d6cb391cea1 100644
--- a/@l10n/ja/docs/references/client-libraries.md
+++ b/@l10n/ja/docs/references/client-libraries.md
@@ -10,12 +10,13 @@ seo:
その他のプログラミング言語の場合、[HTTP APIs](http-websocket-apis/index.md)を通してXRP Ledgerにアクセスすることが可能です。
-| 言語 | ライブラリ名 | Get Started | APIリファレンス | ソースコード |
-|---------------------------------|------------------------|--------------|---------------|-------------|
-| **Python** | `xrpl-py` | [Pythonを使ってみよう](../tutorials/python/build-apps/get-started.md) | [API リファレンス](https://xrpl-py.readthedocs.io/) | [リポジトリ](https://github.com/XRPLF/xrpl-py) |
-| **JavaScript** / **TypeScript** | `xrpl.js` | [JavaScriptを使ってみよう](../tutorials/javascript/build-apps/get-started.md) | [API リファレンス](https://js.xrpl.org/) | [リポジトリ](https://github.com/XRPLF/xrpl.js) |
-| **JavaScript** / **TypeScript** | `xrpl-client` | [触ってみる](https://jsfiddle.net/WietseWind/35az6p1b/) | [NPM リファレンス](https://www.npmjs.com/package/xrpl-client) | [リポジトリ](https://github.com/XRPL-Labs/xrpl-client) |
-| **JavaScript** / **TypeScript** | `xrpl-accountlib` | [触ってみる](https://jsfiddle.net/WietseWind/gkefpnu0/) | [NPM リファレンス](https://www.npmjs.com/package/xrpl-accountlib) | [リポジトリ](https://github.com/WietseWind/xrpl-accountlib) |
-| **C++** | `rippled` 署名ライブラリ | [署名ライブラリを使ってみよう](https://github.com/XRPLF/rippled/tree/develop/Builds/linux#signing-library) | | ([`rippled`](https://github.com/XRPLF/rippled/))の一部 |
-| **Java** | `xrpl4j` | [Javaを使ってみよう](../tutorials/java/build-apps/get-started.md) | [API リファレンス](https://javadoc.io/doc/org.xrpl/) | [リポジトリ](https://github.com/XRPLF/xrpl4j) |
-| **PHP** | `XRPL_PHP` | [PHPを使ってみよう](../tutorials/php/build-apps/get-started.md) | [XRPL_PHP ドキュメント](https://alexanderbuzz.github.io/xrpl-php-docs/) | [リポジトリ](https://github.com/AlexanderBuzz/xrpl-php) |
+| 言語 | ライブラリ名 | Get Started | APIリファレンス | ソースコード |
+|---------------------------------|-------------------|----------------------------------------------------------------------------------------------|---------------------------------------------------------------------|--------------------------------------------------------|
+| **Python** | `xrpl-py` | [Pythonを使ってみよう](../tutorials/python/build-apps/get-started.md) | [API リファレンス](https://xrpl-py.readthedocs.io/) | [リポジトリ](https://github.com/XRPLF/xrpl-py) |
+| **JavaScript** / **TypeScript** | `xrpl.js` | [JavaScriptを使ってみよう](../tutorials/javascript/build-apps/get-started.md) | [API リファレンス](https://js.xrpl.org/) | [リポジトリ](https://github.com/XRPLF/xrpl.js) |
+| **JavaScript** / **TypeScript** | `xrpl-client` | [触ってみる](https://jsfiddle.net/WietseWind/35az6p1b/) | [NPM リファレンス](https://www.npmjs.com/package/xrpl-client) | [リポジトリ](https://github.com/XRPL-Labs/xrpl-client) |
+| **JavaScript** / **TypeScript** | `xrpl-accountlib` | [触ってみる](https://jsfiddle.net/WietseWind/gkefpnu0/) | [NPM リファレンス](https://www.npmjs.com/package/xrpl-accountlib) | [リポジトリ](https://github.com/WietseWind/xrpl-accountlib) |
+| **C++** | `rippled` 署名ライブラリ | [署名ライブラリを使ってみよう](https://github.com/XRPLF/rippled/tree/develop/Builds/linux#signing-library) | | ([`rippled`](https://github.com/XRPLF/rippled/))の一部 |
+| **Java** | `xrpl4j` | [Javaを使ってみよう](../tutorials/java/build-apps/get-started.md) | [API リファレンス](https://javadoc.io/doc/org.xrpl/) | [リポジトリ](https://github.com/XRPLF/xrpl4j) |
+| **PHP** | `xrpl-php` | [PHPを使ってみよう](../tutorials/php/ecourty_xrpl-php/index.md) | [xrpl-php ドキュメント](https://github.com/EdouardCourty/xrpl-php#readme) | [リポジトリ](https://github.com/EdouardCourty/xrpl-php) |
+| **PHP** | `XRPL_PHP` | [PHPを使ってみよう](../tutorials/php/hardcastle_xrpl_php/build-apps/get-started.md) | [XRPL_PHP ドキュメント](https://alexanderbuzz.github.io/xrpl-php-docs/) | [リポジトリ](https://github.com/AlexanderBuzz/xrpl-php) |
diff --git a/docs/references/client-libraries.md b/docs/references/client-libraries.md
index 1e129c74679..26b13abad72 100644
--- a/docs/references/client-libraries.md
+++ b/docs/references/client-libraries.md
@@ -10,13 +10,14 @@ These client libraries simplify some of the common work of accessing and process
For other programming languages, you can access the XRP Ledger through the [HTTP APIs](http-websocket-apis/index.md).
-| Language | Library Name | Get Started | API Reference | Source Code |
-|---------------------------------|---------------------------|-------------|--------------|-------------|
-| **Python** | `xrpl-py` | [Get Started Using Python](../tutorials/python/build-apps/get-started.md) | [API Reference](https://xrpl-py.readthedocs.io/) | [Repo](https://github.com/XRPLF/xrpl-py) |
-| **JavaScript** / **TypeScript** | `xrpl.js` | [Get Started](../tutorials/javascript/build-apps/get-started.md) | [API Reference](https://js.xrpl.org/) | [Repo](https://github.com/XRPLF/xrpl.js) |
-| **JavaScript** / **TypeScript** | `xrpl-client` | [Get Started](https://jsfiddle.net/WietseWind/35az6p1b/) | [NPM Reference](https://www.npmjs.com/package/xrpl-client) | [Repo](https://github.com/XRPL-Labs/xrpl-client) |
-| **JavaScript** / **TypeScript** | `xrpl-accountlib` | [Get Started](https://jsfiddle.net/WietseWind/gkefpnu0/) | [NPM Reference](https://www.npmjs.com/package/xrpl-accountlib) | [Repo](https://github.com/WietseWind/xrpl-accountlib) |
-| **C++** | `rippled` Signing Library | [Get Started](https://github.com/XRPLF/rippled/tree/develop/Builds/linux#signing-library) | | (Part of [`rippled`](https://github.com/XRPLF/rippled/)) |
-| **Java** | `xrpl4j` | [Get Started Using Java](../tutorials/java/build-apps/get-started.md) | [API Reference](https://javadoc.io/doc/org.xrpl/) | [Repo](https://github.com/XRPLF/xrpl4j) |
-| **PHP** | `XRPL_PHP` | [Get Started Using PHP](../tutorials/php/build-apps/get-started.md) | [XRPL_PHP Docs](https://alexanderbuzz.github.io/xrpl-php-docs/) | [Repo](https://github.com/AlexanderBuzz/xrpl-php) |
-| **Ruby** | `XRPB` | | [XRPB Docs](https://www.rubydoc.info/gems/xrbp) | [Repo](https://github.com/DevNullProd/XRBP) |
+| Language | Library Name | Get Started | API Reference | Source Code |
+|---------------------------------|---------------------------|----------------------------------------------------------------------------------------------|-------------------------------------------------------------------|----------------------------------------------------------|
+| **Python** | `xrpl-py` | [Get Started Using Python](../tutorials/python/build-apps/get-started.md) | [API Reference](https://xrpl-py.readthedocs.io/) | [Repo](https://github.com/XRPLF/xrpl-py) |
+| **JavaScript** / **TypeScript** | `xrpl.js` | [Get Started](../tutorials/javascript/build-apps/get-started.md) | [API Reference](https://js.xrpl.org/) | [Repo](https://github.com/XRPLF/xrpl.js) |
+| **JavaScript** / **TypeScript** | `xrpl-client` | [Get Started](https://jsfiddle.net/WietseWind/35az6p1b/) | [NPM Reference](https://www.npmjs.com/package/xrpl-client) | [Repo](https://github.com/XRPL-Labs/xrpl-client) |
+| **JavaScript** / **TypeScript** | `xrpl-accountlib` | [Get Started](https://jsfiddle.net/WietseWind/gkefpnu0/) | [NPM Reference](https://www.npmjs.com/package/xrpl-accountlib) | [Repo](https://github.com/WietseWind/xrpl-accountlib) |
+| **C++** | `rippled` Signing Library | [Get Started](https://github.com/XRPLF/rippled/tree/develop/Builds/linux#signing-library) | | (Part of [`rippled`](https://github.com/XRPLF/rippled/)) |
+| **Java** | `xrpl4j` | [Get Started Using Java](../tutorials/java/build-apps/get-started.md) | [API Reference](https://javadoc.io/doc/org.xrpl/) | [Repo](https://github.com/XRPLF/xrpl4j) |
+| **PHP** | `xrpl-php` | [Get Started Using xrpl-php](../tutorials/php/ecourty_xrpl-php/index.md) | [XRPL_PHP Docs](https://github.com/EdouardCourty/xrpl-php#readme) | [Repo](https://github.com/EdouardCourty/xrpl-php) |
+| **PHP** | `XRPL_PHP` | [Get Started Using XRPL_PHP](../tutorials/php/hardcastle_xrpl_php/build-apps/get-started.md) | [XRPL_PHP Docs](https://alexanderbuzz.github.io/xrpl-php-docs/) | [Repo](https://github.com/AlexanderBuzz/xrpl-php) |
+| **Ruby** | `XRPB` | | [XRPB Docs](https://www.rubydoc.info/gems/xrbp) | [Repo](https://github.com/DevNullProd/XRBP) |
diff --git a/docs/tutorials/how-tos/send-xrp.md b/docs/tutorials/how-tos/send-xrp.md
index b23e5e9191a..e48dd100f31 100644
--- a/docs/tutorials/how-tos/send-xrp.md
+++ b/docs/tutorials/how-tos/send-xrp.md
@@ -27,7 +27,7 @@ To interact with the XRP Ledger, you need to set up a dev environment with the n
- **JavaScript** with the [xrpl.js library](https://github.com/XRPLF/xrpl.js/). See [Get Started Using JavaScript](../javascript/build-apps/get-started.md) for setup steps.
- **Python** with the [`xrpl-py` library](https://xrpl-py.readthedocs.io/). See [Get Started using Python](../python/build-apps/get-started.md) for setup steps.
- **Java** with the [xrpl4j library](https://github.com/XRPLF/xrpl4j). See [Get Started Using Java](../java/build-apps/get-started.md) for setup steps.
-- **PHP** with the [XRPL_PHP library](https://github.com/AlexanderBuzz/xrpl-php). See [Get Started Using PHP](../php/build-apps/get-started.md) for setup steps.
+- **PHP** with the [PHP Client Libraries](/docs/tutorials/php/index.md)
## Send a Payment on the Test Net
diff --git a/docs/tutorials/index.md b/docs/tutorials/index.md
index 124aa5c2b33..0a2513a427c 100644
--- a/docs/tutorials/index.md
+++ b/docs/tutorials/index.md
@@ -20,7 +20,7 @@ These tutorials walk you through the basics of building a very simple XRP Ledger
{% xrpl-card title="Java" body="Using xrpl4j, a pure Java library." href="/docs/tutorials/java/" image="/img/logos/java.svg" imageAlt="Java logo" /%}
-{% xrpl-card title="PHP" body="Using the XRPL_PHP client library." href="/docs/tutorials/php/" image="/img/logos/php.svg" imageAlt="PHP logo" /%}
+{% xrpl-card title="PHP" body="Using the PHP client libraries." href="/docs/tutorials/php/" image="/img/logos/php.svg" imageAlt="PHP logo" /%}
{% xrpl-card title="HTTP & WebSocket APIs" body="Access the XRP Ledger directly through the APIs of its core server." href="/docs/tutorials/http-websocket-apis/" image="/img/logos/globe.svg" imageAlt="globe icon" /%}
diff --git a/docs/tutorials/php/build-apps/index.md b/docs/tutorials/php/build-apps/index.md
deleted file mode 100644
index 30683240c14..00000000000
--- a/docs/tutorials/php/build-apps/index.md
+++ /dev/null
@@ -1,14 +0,0 @@
----
-html: build-apps-with-php.html
-parent: php.html
-top_nav_grouping: Article Types
-metadata:
- indexPage: true
----
-# Build Applications in PHP
-
-Build applications in PHP.
-
-
-{% child-pages /%}
-
diff --git a/docs/tutorials/php/ecourty_xrpl-php/build-apps/create-a-wallet.md b/docs/tutorials/php/ecourty_xrpl-php/build-apps/create-a-wallet.md
new file mode 100644
index 00000000000..e27f2c2f3bd
--- /dev/null
+++ b/docs/tutorials/php/ecourty_xrpl-php/build-apps/create-a-wallet.md
@@ -0,0 +1,27 @@
+# Create a wallet
+
+Creating an XRP Wallet is the base operation when building applications that interact with the XRP Ledger.
+
+If you want to import a wallet from an existing seed, refer to the [Import a Wallet](./import-a-wallet.md) tutorial.
+
+Wallets can be generated using two different algorithms:
+- ED25519
+- SECP256K1
+
+The XRPL-PHP library supports both algorithms. By default, the `ED25519` algorithm is used.
+
+_If you're interested in discovering how the generation workflows work, refer to the [ED25519 Key Derivation](/docs/concepts/accounts/cryptographic-keys.md#ed25519-key-derivation) or [SECP256K1 Key Dreivation](/docs/concepts/accounts/cryptographic-keys.md#secp256k1-key-derivation) documentation page_.
+
+
+
+```php
+addFunds();
+```
+
+{% admonition type="warning" name="Rate limiting" %}
+Sending too many requests will trigger the Faucet's rate limit.
+Re-import an already funded wallet instead of creating a new random one every time you run your test scripts.
+{% /admonition %}
+
+The funded wallets can then be used to submit transactions to the XRP Ledger.
diff --git a/docs/tutorials/php/ecourty_xrpl-php/build-apps/import-a-wallet.md b/docs/tutorials/php/ecourty_xrpl-php/build-apps/import-a-wallet.md
new file mode 100644
index 00000000000..cdbf31dbe14
--- /dev/null
+++ b/docs/tutorials/php/ecourty_xrpl-php/build-apps/import-a-wallet.md
@@ -0,0 +1,24 @@
+# Import a wallet
+
+Importing an existing wallet is a common operation when building applications that interact with the XRP Ledger.
+
+All you need is your wallet seed. It should look like this:
+- **ED25519**: `sEdSgVhT1uGZErffGfLHX61ZkjAtPg2` (31 long)
+- **SECP256K1**: `ssPjp8iEJug1fFzksyMTQcJKe944V` (29 long)
+
+Then, simply import your wallet using either the `Wallet::generateFromSeed` facade method, or the `WalletGenerator::generateFromSeed` method.
+
+```php
+ 'Payment',
+ 'Account' => $wallet->getAddress(),
+ 'Destination' => 'rPEPPER7kfTD9w2To4CQk6UCfuHM9c6GDY',
+ 'Amount' => '1000000',
+];
+
+$client = new XRPLClient('https://s.altnet.rippletest.net:51234');
+
+$result = $client->submitSingleSignTransaction($transactionPayload, $wallet);
+```
+
+Every field will then be converted into its own [Internal Format](/docs/references/protocol/binary-format.md#internal-format) before being submitted to the XRP Ledger Node.
diff --git a/docs/tutorials/php/ecourty_xrpl-php/build-apps/submit-transactions/mint-an-nft.md b/docs/tutorials/php/ecourty_xrpl-php/build-apps/submit-transactions/mint-an-nft.md
new file mode 100644
index 00000000000..cbaf3e9a41b
--- /dev/null
+++ b/docs/tutorials/php/ecourty_xrpl-php/build-apps/submit-transactions/mint-an-nft.md
@@ -0,0 +1,50 @@
+---
+seo:
+ description: Mint an NFT on the XRP Ledger using the ecourty/xrpl-php library.
+---
+
+# Mint an NFT
+
+Minting an NFT on the XRP Ledger is an easy process.
+You need to craft your transaction payload with care to avoid any errors:
+- Define the flags according to the NFT type you want to mint. [Documentation reference](/docs/references/protocol/transactions/types/nftokenmint#nftokenmint-flags)
+- Define the "content" or your NFT in the `URI` field, this is usually an IPFS link to the NFT metadata.
+- Craft the transaction!
+
+_Here is the [list of all the available fields on the `NFTokenMint` transaction](/docs/references/protocol/transactions/types/nftokenmint.md)_
+
+
+
+Here is a tutorial on how to mint a simple NFT on the testnet, using a random wallet.
+```php
+ 'NFTokenMint',
+ 'Account' => $wallet->getAddress(),
+ 'URI' => '11223344', // Can be virtually anything (Needs to be a hex-encoded)
+ 'Flags' => 8, // Makes the NFT transferable
+ 'TransferFee' => 1000, // Fee for transferring the NFT
+ 'NFTokenTaxon' => 0, // Allows for grouping of NFTs (e.g. by collection, use the same taxon for NFTs of the same collection)
+];
+
+$transactionResult = $client->submitSingleSignTransaction($transactionData, $wallet);
+
+echo 'NFT minted!' . \PHP_EOL;
+```
+
+Easy, right?
+You can then retrieve the transaction hash from the `$transactionResult` object to track the transaction on the XRP Ledger.
+
+More examples can be found in the [ecourty/xrpl-php GitHub repository](https://github.com/EdouardCourty/xrpl-php)
diff --git a/docs/tutorials/php/ecourty_xrpl-php/build-apps/submit-transactions/send-a-payment.md b/docs/tutorials/php/ecourty_xrpl-php/build-apps/submit-transactions/send-a-payment.md
new file mode 100644
index 00000000000..fe852fdaaf9
--- /dev/null
+++ b/docs/tutorials/php/ecourty_xrpl-php/build-apps/submit-transactions/send-a-payment.md
@@ -0,0 +1,36 @@
+---
+seo:
+ description: Send a payment on the XRP Ledger using the ecourty/xrpl-php library.
+---
+
+# Send a Payment
+
+Payment are the most executed transactions on the XRP Ledger!
+All you need is a funded Wallet and a destination address.
+
+
+
+```php
+ 'Payment',
+ 'Account' => $wallet->getAddress(),
+ 'Destination' => $receiverWallet->getAddress(),
+ 'Amount' => XRPConverter::xrpToDrops(25), // 25 XRP
+];
+
+$client->submitSingleSignTransaction($transactionData, $originWallet);
+```
+
+You can then retrieve the transaction hash from the `$transactionResult` object to track the transaction on the XRP Ledger.
+
+More examples can be found in the [ecourty/xrpl-php GitHub repository](https://github.com/EdouardCourty/xrpl-php)
diff --git a/docs/tutorials/php/ecourty_xrpl-php/index.md b/docs/tutorials/php/ecourty_xrpl-php/index.md
new file mode 100644
index 00000000000..7b14aebf7ea
--- /dev/null
+++ b/docs/tutorials/php/ecourty_xrpl-php/index.md
@@ -0,0 +1,99 @@
+---
+seo:
+ description: 'Build PHP-based applications on the XRP Ledger with the ecourty/xrpl-php library.'
+---
+
+# ecourty/xrpl-php
+This library is a lightweight XRPL Client.
+
+It allows you to interact with the XRP Ledger by creating, signing, and submitting transactions, as well as querying an XRP Ledger node.
+
+### Installation
+
+Install `xrpl-php` using Composer:
+
+```bash
+composer require ecourty/xrpl-php
+```
+
+### Get Started
+
+To query the XRP Ledger, all you need is a Node's JSON-RPC URL (there are official public nodes):
+- `https://s1.ripple.com:51234` (Mainnet)
+- `https://s.altnet.rippletest.net:51234` (Testnet)
+- `https://s.devnet.rippletest.net:51234` (Devnet)
+
+
+
+_Read more about [Public Servers](/docs/tutorials/public-servers.md)._
+
+
+
+```php
+ledger->getLedger(); // Will return the latest ledger data
+$ledger = $client->ledger->getLedger(ledgerIndex: '93676329'); // Will return the ledger data for the ledger number 93676329
+
+// There are many other methods available!
+```
+
+
+
+Every data model available in the XRP Ledger response are **represented by objects (PHP classes)** in the `ecourty/xrpl-php` library.
+For example, a `LedgerResult` object is returned when querying a ledger.
+It contains:
+```bash
+object(XRPL\Model\Ledger\LedgerResult)#258 (6) {
+ ["status"]=>
+ string(7) "success"
+ ["ledgerHash"]=>
+ string(64) "98B73707CD08C3618F7EDA2DBD73E45D45496550C5FB033CFF8CB732E0DDE07D"
+ ["ledgerIndex"]=>
+ int(4245419)
+ ["validated"]=>
+ bool(true)
+ ["ledger"]=>
+ object(XRPL\Model\Ledger\Nested\Ledger)#297 (14) {
+ ["accountHash"]=>
+ string(64) "17FAEEE0FC3E8C979FB9B5AB874FC7409060BC37E54CEEA3A15AD96ADD8AA84A"
+ ["closeFlags"]=>
+ int(0)
+ ["closeTime"]=>
+ int(791045302)
+ ["closeTimeHuman"]=>
+ string(34) "2025-Jan-24 14:48:22.000000000 UTC"
+ ["closeTimeResolution"]=>
+ int(10)
+ ["closeTimeIso"]=>
+ string(20) "2025-01-24T14:48:22Z"
+ ["ledgerHash"]=>
+ string(64) "98B73707CD08C3618F7EDA2DBD73E45D45496550C5FB033CFF8CB732E0DDE07D"
+ ["parentLedgerTime"]=>
+ uninitialized(int)
+ ["parentHash"]=>
+ string(64) "EDC7B83D8B0642DE2B3B3EFB84E4FA5C37C2D3B4A001198BA28E98AC82E80E49"
+ ["totalCoins"]=>
+ string(17) "99999988942807397"
+ ["transactionHash"]=>
+ string(64) "3E6E32114E12E5FB7DB301F82975845A69039C3D98334DEB9EE3B51BA3EBE571"
+ ["ledgerIndex"]=>
+ string(7) "4245419"
+ ["closed"]=>
+ bool(true)
+ ["transactionIds"]=>
+ array(0) { # Will be filled if the parameter transactions=true is passed to ::getLedger
+ }
+ ["transactions"]=> # Will be filled if the parameters transactions=true and expand=true are passed to ::getLedger
+ array(0) {
+ }
+ }
+ ["queueData"]=>
+ array(0) {
+ }
+}
+```
\ No newline at end of file
diff --git a/docs/tutorials/php/build-apps/get-started.md b/docs/tutorials/php/hardcastle_xrpl_php/build-apps/get-started.md
similarity index 69%
rename from docs/tutorials/php/build-apps/get-started.md
rename to docs/tutorials/php/hardcastle_xrpl_php/build-apps/get-started.md
index 1ac84f92810..622e37b5158 100644
--- a/docs/tutorials/php/build-apps/get-started.md
+++ b/docs/tutorials/php/hardcastle_xrpl_php/build-apps/get-started.md
@@ -45,7 +45,7 @@ composer require hardcastle/xrpl_php
## Start Building
-When you're working with the XRP Ledger, there are a few things you'll need to manage, whether you're adding XRP to your [account](../../../concepts/accounts/index.md), integrating with the [decentralized exchange](../../../concepts/tokens/decentralized-exchange/index.md), or [issuing tokens](../../../concepts/tokens/index.md). This tutorial walks you through basic patterns common to getting started with all of these use cases and provides sample code for implementing them.
+When you're working with the XRP Ledger, there are a few things you'll need to manage, whether you're adding XRP to your [account](/docs/concepts/accounts/index.md), integrating with the [decentralized exchange](/docs/concepts/tokens/decentralized-exchange/index.md), or [issuing tokens](/docs/concepts/tokens/index.md). This tutorial walks you through basic patterns common to getting started with all of these use cases and provides sample code for implementing them.
Here are the basic steps you'll need to cover for almost any XRP Ledger project:
@@ -75,9 +75,9 @@ Note that PHP has no native support for WebSockets, so the Client does not estab
#### Connect to the production XRP Ledger
-The sample code in the previous section shows you how to connect to the Testnet, which is one of the available [parallel networks](../../../concepts/networks-and-servers/parallel-networks.md). When you're ready to integrate with the production XRP Ledger, you'll need to connect to the Mainnet. You can do that in two ways:
+The sample code in the previous section shows you how to connect to the Testnet, which is one of the available [parallel networks](/docs/concepts/networks-and-servers/parallel-networks.md). When you're ready to integrate with the production XRP Ledger, you'll need to connect to the Mainnet. You can do that in two ways:
-* By [installing the core server](../../../infrastructure/installation/index.md) (`rippled`) and running a node yourself. The core server connects to the Mainnet by default, but you can [change the configuration to use Testnet or Devnet](../../../infrastructure/configuration/connect-your-rippled-to-the-xrp-test-net.md). [There are good reasons to run your own core server](../../../concepts/networks-and-servers/index.md#reasons-to-run-your-own-server). If you run your own server, you can connect to it like so:
+* By [installing the core server](/docs/infrastructure/installation/index.md) (`rippled`) and running a node yourself. The core server connects to the Mainnet by default, but you can [change the configuration to use Testnet or Devnet](/docs/infrastructure/configuration/connect-your-rippled-to-the-xrp-test-net.md). [There are good reasons to run your own core server](/docs/concepts/networks-and-servers/index.md#reasons-to-run-your-own-server). If you run your own server, you can connect to it like so:
```
use XRPL_PHP\Client\JsonRpcClient;
@@ -99,7 +99,7 @@ The sample code in the previous section shows you how to connect to the Testnet,
### 2. Get account
-To store value and execute transactions on the XRP Ledger, you need to get an account: a [set of keys](../../../concepts/accounts/cryptographic-keys.md#key-components) and an [address](../../../concepts/accounts/addresses.md) that's been [funded with enough XRP](../../../concepts/accounts/index.md#creating-accounts) to meet the [account reserve](../../../concepts/accounts/reserves.md). The address is the identifier of your account and you use the [private key](../../../concepts/accounts/cryptographic-keys.md#private-key) to sign transactions that you submit to the XRP Ledger. For production purposes, you should take care to store your keys and set up a [secure signing method](../../../concepts/transactions/secure-signing.md).
+To store value and execute transactions on the XRP Ledger, you need to get an account: a [set of keys](/docs/concepts/accounts/cryptographic-keys.md#key-components) and an [address](/docs/concepts/accounts/addresses.md) that's been [funded with enough XRP](/docs/concepts/accounts/index.md#creating-accounts) to meet the [account reserve](/docs/concepts/accounts/reserves.md). The address is the identifier of your account and you use the [private key](/docs/concepts/accounts/cryptographic-keys.md#private-key) to sign transactions that you submit to the XRP Ledger. For production purposes, you should take care to store your keys and set up a [secure signing method](/docs/concepts/transactions/secure-signing.md).
To generate a new account, `PHP_XRPL` provides the static `generate()` method in the `Wallet` class:
@@ -138,13 +138,13 @@ print_r([
```
-For testing and development purposes, you can use the `fundWallet()` helper function on the XRP Ledger [Testnet](../../../concepts/networks-and-servers/parallel-networks.md):
+For testing and development purposes, you can use the `fundWallet()` helper function on the XRP Ledger [Testnet](/docs/concepts/networks-and-servers/parallel-networks.md):
{% code-snippet file="/_code-samples/get-started/php/get-account-info.php" from="
-- Connect to the XRP Ledger and instantiate your wallet.
-- Make changes to the XRP Ledger using transactions.
-- Get the state of accounts and tokens on the XRP Ledger using requests.
-- Disconnect from the XRP Ledger.
-
-Once familiar with the library functions, you can build sample applications in PHP. We anticipate that the applications you build greatly improve upon these examples. Your feedback and contributions are most welcome.
-
-## Tutorial Modules
-
-{% child-pages /%}
\ No newline at end of file
+Both libraries support the following features:
+- Import and create Wallets (using either ED25519 and SECP256K1 algorithms)
+- Create, Sign and Submit transactions to the XRP Ledger
+- Query an XRP Ledger Node
diff --git a/sidebars.yaml b/sidebars.yaml
index a389cef688c..6b430c065f3 100644
--- a/sidebars.yaml
+++ b/sidebars.yaml
@@ -236,10 +236,21 @@
- page: docs/tutorials/php/index.md
expanded: false
items:
- - page: docs/tutorials/php/build-apps/index.md
+ - page: docs/tutorials/php/ecourty_xrpl-php/index.md
expanded: false
items:
- - page: docs/tutorials/php/build-apps/get-started.md
+ - page: docs/tutorials/php/ecourty_xrpl-php/build-apps/create-a-wallet.md
+ - page: docs/tutorials/php/ecourty_xrpl-php/build-apps/import-a-wallet.md
+ - page: docs/tutorials/php/ecourty_xrpl-php/build-apps/fund-a-test-wallet.md
+ - page: docs/tutorials/php/ecourty_xrpl-php/build-apps/submit-transactions/index.md
+ expanded: false
+ items:
+ - page: docs/tutorials/php/ecourty_xrpl-php/build-apps/submit-transactions/send-a-payment.md
+ - page: docs/tutorials/php/ecourty_xrpl-php/build-apps/submit-transactions/mint-an-nft.md
+ - page: docs/tutorials/php/hardcastle_xrpl_php/index.md
+ expanded: false
+ items:
+ - page: docs/tutorials/php/hardcastle_xrpl_php/build-apps/get-started.md
- page: docs/tutorials/http-websocket-apis/index.md
expanded: false
items: