xrpl_signTransaction.
- Your app uses
xrpl_signTransactionfor RPC transaction signing. Rules for this method can use thexrpl_transactionfield source below. - Your app uses
raw_signfor raw hash signing. Rules that apply toraw_signrequests can only usesystemconditions, since there’s no decoded transaction to evaluate. - XRPL policies also apply to the
exportPrivateKeyandexportSeedPhrasemethods. No other method is supported —*is not a valid method for thexrplchain type.
Payment, OfferCreate, OfferCancel, and TrustSet. All conditions use the xrpl_transaction field source.
Restrict to Payment transactions only
Allowlist Payment destinations
Cap XRP payment amount
XRP amounts are expressed in drops (1 XRP = 1,000,000 drops). Cap native XRP transfers with thePayment.Amount.drops field.
Restrict IOU payments by currency and issuer
For issued currency (IOU) payments, constrain the token, issuer, and amount. UsePayment.Amount.value, Payment.Amount.currency, and Payment.Amount.issuer.
Payment.Amount.drops and Payment.Amount.value are mutually exclusive — a condition using
.drops matches only native XRP payments, while .value matches only IOU payments.Cap OfferCreate amounts
Your app can constrain DEX offers with theOfferCreate.TakerPays and OfferCreate.TakerGets fields.
Restrict TrustSet limits
Your app can control which trust lines a wallet establishes and set a maximum amount.Denylist destinations with condition sets
Reference a dynamic address list within_condition_set. Manage the list via the condition sets API.
The policy engine denies a request by default if no rule’s conditions are satisfied. Pair the
DENY rule with an unconditional ALLOW rule for the same method — DENY still takes precedence
for sanctioned addresses, and every other request falls through to the ALLOW rule.Only allow signing after a certain date
Your app can gate signing on the current timestamp with system conditions.Combine transaction and system conditions
Deny all signing requests
* is not a supported method for the xrpl chain type. To deny every xrpl_signTransaction
request, use an empty-conditions DENY rule for that method instead.
Supported policy fields
address type fields accept both classic r-addresses and untagged X-addresses — Privy
normalizes X-addresses to classic format before comparing. Tagged X-addresses are rejected when
the policy is created. To restrict by destination tag, add a separate Payment.DestinationTag
condition alongside Payment.Destination.
