m/44'/144'/0'/0/{index}.
Your app signs XRPL transactions via the xrpl_signTransaction RPC method or via
raw hash signing. Then, submit the signed transaction
to the network using xrpl.js.
Features
- Embedded XRPL wallets: create wallets with the
xrplchain type. Addresses use the standardr-prefix format. - Transaction signing: sign any XRPL transaction via
xrpl_signTransaction, which returns a DER-encoded signature and a ready-to-submit transaction blob. - Raw hash signing: sign arbitrary hashes with
raw_signfor full control over serialization. - Policy enforcement: constrain transactions with Privy’s policy engine — restrict destinations, cap amounts, and limit transaction types.
- Key export: export the hex private key or BIP-39 seed phrase for full portability.
Account activation
On testnet, fund wallets using the XRPL faucet:Create a wallet
Sign a transaction
Sign an XRPL transaction using thexrpl_signTransaction RPC method. Your app builds and
encodes the transaction with xrpl.js, passes the prefixed bytes to Privy, and receives a
signed transaction blob ready to submit.
Sign a raw hash
For full control over serialization, your app can compute the XRPL signing hash and sign it directly withraw_sign in hash mode.
xrpl_signTransaction handles DER encoding and blob assembly automatically. Use raw_sign only
when your app needs to control the full signing pipeline.Export keys
XRPL wallets support both private key export (raw hex format) and BIP-39 seed phrase export. The exported private key is a raw hex secp256k1 key. XRPL’s native “family seed” format (base58-encoded 16-byte seed) is not compatible with BIP-44 derivation and is not supported.Enforce policies
XRPL wallets support Privy’s policy engine, so your app can constrain transactions signed viaxrpl_signTransaction:
- Transaction types: restrict which transaction types a wallet can sign using the
TransactionTypefield. - Payment destinations: allowlist or denylist recipient addresses using
Payment.Destination. - Amount limits: cap XRP payment amounts using
Payment.Amount.drops, or IOU values usingPayment.Amount.value. - Offer limits: constrain DEX offers using
OfferCreate.TakerPaysandOfferCreate.TakerGetsfields. - Trust line limits: restrict trust line creation using
TrustSet.LimitAmountfields. - System conditions: gate signing on values such as the current timestamp using the
systemfield source.
Supported transaction types for policy evaluation
Policies can evaluate decoded fields on these transaction types:Payment, OfferCreate,
OfferCancel, and TrustSet.
Wallets with policies can sign any valid XRPL transaction type. However, if the transaction type
is not supported for policy evaluation, the request is denied unless a matching system-level rule
(e.g., a time-based condition) allows it.

