I am working on a web application where I need to generate Ethereum addresses in PHP, how do i go about generating a random Ethereum public/private key pair in PHP? thanks.


1 Answer 1


As I said, you coud use JSON rpc to create a wallet and and set password. But PHP and geth don't go well together, it will limit your app. I recommend going directly with web3.js, javascrio/jquery/nodejs.

For generating wallet thought JSON-RPC (pass sent over the network):

//create eth wallet supplying pass, return wallet address if created

function getethwallet($pass) {

    $url = "http://node.ip:8545";   
    $data = array(
                 "jsonrpc" => "2.0",
                 "method" => "personal_newAccount",
                 "params" => array($pass),
                 "id" => "1"

    $json_encoded_data = json_encode($data);

$ch = curl_init($url);                                                                      
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, "POST");                                                                     
curl_setopt($ch, CURLOPT_POSTFIELDS, $json_encoded_data);                                                                  
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);                                                                      
curl_setopt($ch, CURLOPT_HTTPHEADER, array(                                                                          
    'Content-Type: application/json',                                                                                
    'Content-Length: ' . strlen($json_encoded_data))                                                                       

$result = json_decode(curl_exec($ch));

        $parsed = $result->result;

return $parsed;
  • Why -1 down? It's definitively the best answer.
    – btc4cash
    Commented Feb 19, 2018 at 23:58
  • The OP asked for any possibility for address generation in PHP :p setting up node.js environment is limited for some apps.. :p but anyway. thanks for your answer Commented Dec 3, 2020 at 12:27

Not the answer you're looking for? Browse other questions tagged or ask your own question.