Monero-PHP
A PHP library for the Monero simplewallet JSON-RPC interface., (*1)
For more information about Monero, please visit https://getmonero.org/home., (*2)
If you found this useful, feel free to donate!, (*3)
XMR: 47Vmj6BXSRPax69cVdqVP5APVLkcxxjjXdcP9fJWZdNc5mEpn3fXQY1CFmJDvyUXzj2Fy9XafvUgMbW91ZoqwqmQ6RjbVtp, (*4)
Installation
Install the library using Composer., (*5)
composer require psychicat/monero-php
Create an Instance of the Wallet
require 'vendor/autoload.php';
use Monero\Wallet;
$wallet = new Monero\Wallet();
Default hostname and port connects to http://127.0.0.1:18082., (*6)
To connect to an external IP or different port:, (*7)
$hostname = YOUR_WALLET_IP;
$port = YOUR_WALLET_PORT;
$wallet = new Monero\Wallet($hostname, $port);
Wallet Methods
getBalance
$balance = $wallet->getBalance();
Responds with the current balance and unlocked (spendable) balance of the wallet in atomic units. Divide by 1e12 to convert., (*8)
Example response:, (*9)
{ balance: 3611980142579999, unlocked_balance: 3611980142579999 }
getAddress
$address = $wallet->getAddress();
Responds with the Monero address of the wallet., (*10)
Example response:, (*11)
{ address: '47Vmj6BXSRPax69cVdqVP5APVLkcxxjjXdcP9fJWZdNc5mEpn3fXQY1CFmJDvyUXzj2Fy9XafvUgMbW91ZoqwqmQ6RjbVtp' }
transfer
$tx_hash = $wallet->transfer($options);
Transfers Monero to a single recipient OR a group of recipients in a single transaction. Responds with the transaction hash of the payment., (*12)
Parameters:, (*13)
-
options - an array containing destinations (object OR array of objects), mixin (int), unlock_time (int), payment_id (string). Only destinations is required. Default mixin value is 4.
$options = [
'destinations' => (object) [
'amount' => '1',
'address' => '47Vmj6BXSRPax69cVdqVP5APVLkcxxjjXdcP9fJWZdNc5mEpn3fXQY1CFmJDvyUXzj2Fy9XafvUgMbW91ZoqwqmQ6RjbVtp'
]
];
Example response:, (*14)
{ tx_hash: '<b9272a68b0f242769baa1ac2f723b826a7efdc5ba0c71a2feff4f292967936d8>', tx_key: '' }
transferSplit
$tx_hash = $wallet->transferSplit($options);
Same as transfer(), but can split into more than one transaction if necessary. Responds with a list of transaction hashes., (*15)
Additional property available for the options array:, (*16)
-
new_algorithm - true to use the new transaction construction algorithm. defaults to false. (boolean)
Example response:, (*17)
{ tx_hash_list: [ '<f17fb226ebfdf784a0f5814e1c5bb78c19ea26930a0d706c9dc1085a250ceb37>' ] }
sweepDust
$tx_hashes = $wallet->sweepDust();
Sends all dust outputs back to the wallet, to make funds easier to spend and mix. Responds with a list of the corresponding transaction hashes., (*18)
Example response:, (*19)
{ tx_hash_list: [ '<75c666fc96120a643321a5e76c0376b40761582ee40cc4917e8d1379a2c8ad9f>' ] }
getPayments
$payments = $wallet->getPayments($payment_id);
Returns a list of incoming payments using a given payment ID., (*20)
Parameters:, (*21)
-
paymentID - the payment ID to scan wallet for included transactions (string)
getBulkPayments
$payments = $wallet->getBulkPayments($payment_id, $height);
Returns a list of incoming payments using a single payment ID or a list of payment IDs from a given height., (*22)
Parameters:, (*23)
-
paymentIDs - the payment ID or list of IDs to scan wallet for (array)
-
minHeight - the minimum block height to begin scanning from (example: 800000) (int)
incomingTransfers
$transfers = $wallet->incomingTransfers($type);
Returns a list of incoming transfers to the wallet., (*24)
Parameters:, (*25)
-
type - accepts "all": all the transfers, "available": only transfers that are not yet spent, or "unavailable": only transfers which have been spent (string)
queryKey
$key = $wallet->queryKey($type);
Returns the wallet's spend key (mnemonic seed) or view private key., (*26)
Parameters:, (*27)
-
type - accepts "mnemonic": the mnemonic seed for restoring the wallet, or "view_key": the wallet's view key (string)
integratedAddress
$integratedAddress = $wallet->integratedAddress($payment_id);
Make and return a new integrated address from your wallet address and a given payment ID, or generate a random payment ID if none is given., (*28)
Parameters:, (*29)
-
payment_id - a 64 character hexadecimal string. If not provided, a random payment ID is automatically generated. (string, optional)
Example response:, (*30)
{ integrated_address: '4HCSju123guax69cVdqVP5APVLkcxxjjXdcP9fJWZdNc5mEpn3fXQY1CFmJDvyUXzj2Fy9XafvUgMbW91ZoqwqmQ96NYBVqEd6JAu9j3gk' }
splitIntegrated
$splitIntegrated = $wallet->splitIntegrated($integrated_address);
Returns the standard address and payment ID corresponding for a given integrated address., (*31)
Parameters:, (*32)
-
integrated_address - an Monero integrated address (string)
Example response:, (*33)
{ payment_id: '<61eec5ffd3b9cb57>',
standard_address: '47Vmj6BXSRPax69cVdqVP5APVLkcxxjjXdcP9fJWZdNc5mEpn3fXQY1CFmJDvyUXzj2Fy9XafvUgMbW91ZoqwqmQ6RjbVtp' }
getHeight
Usage:, (*34)
$height = $wallet->getHeight();
Returns the current block height of the daemon., (*35)
Example response:, (*36)
{ height: 874458 }
stopWallet
$wallet->stopWallet();
Cleanly shuts down the current simplewallet process., (*37)