XRP Address Validation

Check an XRP Ledger address, classic or X-address with its destination tag and network, against the XRPL alphabet and checksum. No on-chain lookup.

Free to try xrp-address-validate

Example

Input
{
  "address": "rPdvC6ccq8hCdPKSPJkPmyZ4Mi1oG2FFkT"
}
Answer
{
  "tag": null,
  "input": "rPdvC6ccq8hCdPKSPJkPmyZ4Mi1oG2FFkT",
  "valid": true,
  "network": null,
  "normalized": "rPdvC6ccq8hCdPKSPJkPmyZ4Mi1oG2FFkT",
  "classic_form": "rPdvC6ccq8hCdPKSPJkPmyZ4Mi1oG2FFkT",
  "address_format": "classic",
  "x_address_form": "XV5sbjUmgPpvXv4ixFWZ5ptAYZ6PD28Sq49uo34VyjnmK5H"
}

Try it

Runs the real tool from your browser, with no key. Free calls are limited to 300 a month across all free tools.

Edit the values, then run.

Inputs

FieldTypeRequiredWhat it is
addressstringYesXRP Ledger address (e.g. rPdvC6ccq8hCdPKSPJkPmyZ4Mi1oG2FFkT or X7AcgcsBL6XDcUb289X4mJ8djcdyKaB5hJDWMArnXr61cqZ)

Output fields

How reliably each field appears in a successful answer.

FieldTypeAppears
taginteger or nullSometimes (present only for some inputs)
inputstringAlways (present in every successful answer)
validbooleanAlways (present in every successful answer)
networkone of mainnet, testnet, nullSometimes (present only for some inputs)
normalizedstring or nullUsually (present for most inputs)
classic_formstring or nullUsually (present for most inputs)
address_formatone of classic, x-address, nullUsually (present for most inputs)
x_address_formstring or nullUsually (present for most inputs)

How to call it

The same tool through each route. MCP clients reach it through Strale’s server at https://api.strale.io/mcp; the call below is what the agent sends.

# Free tool: works without a key, within a monthly allowance. Add your key for more.
curl -X POST https://api.strale.io/v1/do \
  -H 'Content-Type: application/json' \
  -d '{
    "capability_slug": "xrp-address-validate",
    "inputs": {
      "address": "rPdvC6ccq8hCdPKSPJkPmyZ4Mi1oG2FFkT"
    },
    "max_price_cents": 5
  }'

Limitations

  • Format and checksum only — no on-chain check

    Validates address structure only. Does not check whether the account exists on-chain, has been activated with a reserve, or holds any balance.

    What to do instead: Use an XRPL node or rippled API for on-chain account state.

  • Classic addresses don't encode network

    Only X-addresses encode mainnet vs. testnet. For classic r-addresses, the same address is valid on both networks; "network" will be null.

  • Destination tag is part of X-address only

    For classic addresses, destination tags are sent separately as a transaction field. The "tag" output will be null for classic addresses even if the user's intent was to include one.