Module

Utils — 1 credit

Utility operations for address validation and ENS name resolution. All three methods cost 1 credit. ENS results are cached for 1 hour server-side.

API Key or JWT
validateAddress()
GET 1 credit

Validate an Ethereum-compatible address and return its EIP-55 checksum form. Use this to verify user-provided addresses before sending transactions.

Parameters

NameTypeRequiredDescription
$addressstringYesAddress to validate (any mixed-case 0x hex)

Example

$result = Web3Api::utils()->validateAddress(
    address: '0xd8da6bf26964af9d7eed9e03e53415d37aa96045',  // lowercase
);

if ($result['is_valid']) {
    $checksumAddr = $result['checksum_address'];
    // "0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045" — EIP-55 checksummed
}

Response

[
  'address'          => '0xd8da6bf26964af9d7eed9e03e53415d37aa96045',
  'is_valid'         => true,
  'checksum_address' => '0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045',
]
resolveEns()
GET 1 credit

Resolve an ENS (Ethereum Name Service) name to its registered Ethereum address. Results are cached server-side for 1 hour.

Parameters

NameTypeRequiredDescription
$namestringYesENS name (e.g. "vitalik.eth")

Example

$result = Web3Api::utils()->resolveEns(name: 'vitalik.eth');

echo $result['name'];    // "vitalik.eth"
echo $result['address']; // "0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045"
echo $result['network']; // "ethereum"
echo $result['cached'];  // false — or true if served from cache

Response

[
  'name'    => 'vitalik.eth',
  'address' => '0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045',
  'network' => 'ethereum',
  'cached'  => false,
]
lookupEns()
GET 1 credit

Perform a reverse ENS lookup: given an Ethereum address, return the associated ENS name if one is registered. Results are cached for 1 hour.

Parameters

NameTypeRequiredDescription
$addressstringYesEthereum address to look up

Example

$result = Web3Api::utils()->lookupEns(
    address: '0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045',
);

echo $result['address']; // "0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045"
echo $result['name'];    // "vitalik.eth"  (or null if no reverse record)
echo $result['network']; // "ethereum"

Response

[
  'address' => '0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045',
  'name'    => 'vitalik.eth',
  'network' => 'ethereum',
]