soneso / stellar-php-sdk
Stellar PHP SDK for the Stellar Network
Requires
- php: >=8.0
- ext-bcmath: *
- ext-gmp: *
- ext-sodium: *
- christian-riesen/base32: ~1.6
- guzzlehttp/guzzle: ^7.3
- phpseclib/phpseclib: ^3.0
- psr/log: ^1.1 || ^2.0 || ^3.0
- yosymfony/toml: ~1.0
Requires (Dev)
- league/uri: 7.5.1
- phpdocumentor/phpdocumentor: ^3.9
- phpstan/phpstan: ^2.2
- phpunit/phpunit: ~10.0
Suggests
- ext-pcntl: Required for process forking in streaming integration tests (Unix only)
This package is not auto-updated.
Last update: 2026-06-11 17:39:10 UTC
README
Build and sign Stellar transactions, query Horizon, and interact with Soroban smart contracts via RPC. Communicate with anchors and external services using built-in support for 19 SEPs.
Installation
composer require soneso/stellar-php-sdk
Requires PHP 8.0+.
Quick examples
Send a payment
Transfer XLM between accounts:
$payment = (new PaymentOperationBuilder($receiverId, Asset::native(), '100'))->build(); $tx = (new TransactionBuilder($account))->addOperation($payment)->build(); $tx->sign($senderKeyPair, Network::testnet()); $sdk->submitTransaction($tx);
Trust an asset
Enable your account to receive a token (like USDC):
$asset = Asset::createNonNativeAsset('USDC', $issuerAccountId); $trustOp = (new ChangeTrustOperationBuilder($asset))->build(); $tx = (new TransactionBuilder($account))->addOperation($trustOp)->build(); $tx->sign($accountKeyPair, Network::testnet()); $sdk->submitTransaction($tx);
Call a smart contract
Invoke a Soroban contract method:
$client = SorobanClient::forClientOptions(new ClientOptions( sourceAccountKeyPair: $keyPair, contractId: 'CABC...', network: Network::testnet(), rpcUrl: 'https://soroban-testnet.stellar.org' )); $result = $client->invokeMethod('hello', [XdrSCVal::forSymbol('World')]);
For complete walkthroughs, see the documentation.
Agent Skill
This repository includes an Agent Skill that teaches AI coding agents how to use this SDK. See skills/ for installation instructions.
Documentation
| Guide | Description |
|---|---|
| Quick start | Your first transaction in 15 minutes |
| Getting started | Keys, accounts, and fundamentals |
| SDK usage | Transactions, operations, Horizon queries, streaming |
| Soroban | Smart contract deployment and interaction |
| SEPs | Anchor integration, authentication, KYC, etc. |
Compatibility
Feedback
If you're using this SDK, feedback helps improve it:
Contributing
See CONTRIBUTING.md for guidelines.
License
Apache 2.0. See LICENSE.