Skip to main content

Policy Management

Policies let you control how transfers are handled before signing and broadcast. Use them to automatically approve low-risk activity, require manual approval for sensitive transfers, reject prohibited destinations, or throttle repeated activity.

What Policies Do

In Paratro, policies act as transaction guardrails. They are evaluated when a transfer is created and decide whether the transfer should continue automatically, wait for approval, be rejected, or be rate limited. This makes policies useful for:
  • treasury allowlists
  • spending controls
  • business-hour enforcement
  • high-frequency transfer protection

How Policy Evaluation Works

Paratro evaluates active policies during transfer creation.
  1. Active policies for the client and wallet are loaded.
  2. Policies are evaluated by priority, from highest to lowest.
  3. The first matching policy decides the action.
  4. If no active policies exist, the transfer proceeds with AUTO_APPROVE.
  5. If policies exist but none match, the transfer falls back to REQUIRE_APPROVAL.
This model keeps policy behavior predictable and makes rule ordering explicit.

Supported Policy Types

Policy typeWhat it checksCommon use
TRANSFER_LIMITSingle-transfer or daily amount thresholdsRequire approval for large transfers
TIME_RESTRICTIONAllowed days, hours, and timezone windowsBlock or escalate activity outside business hours
VELOCITY_LIMITNumber of transfers within a time windowSlow down repeated transfer attempts
WHITELISTApproved destination addressesAuto-approve transfers to known treasury or exchange addresses
BLACKLISTBlocked or sensitive destination addressesReject or escalate transfers to prohibited destinations

Supported Actions

ActionResult
AUTO_APPROVETransfer continues without manual approval
REQUIRE_APPROVALTransfer is created and waits for approvers
AUTO_REJECTTransfer is blocked immediately
RATE_LIMITTransfer is rejected because activity exceeded the configured rate limit

Basic Usage Flow

  1. Create a policy for the wallet or tenant you want to protect.
  2. Choose the policy type and the action that should happen when it matches.
  3. Set a clear priority so rule order is intentional.
  4. Enable the policy and test it with a low-risk transfer.
  5. Review the resulting transaction status and Audit Logs.

Example Scenarios

  • Use WHITELIST with AUTO_APPROVE for known internal treasury addresses.
  • Use TRANSFER_LIMIT with REQUIRE_APPROVAL for transfers above an operating threshold.
  • Use TIME_RESTRICTION with AUTO_REJECT outside approved hours.
  • Use VELOCITY_LIMIT with RATE_LIMIT to slow repeated transfer attempts from the same wallet.

Operational Tips

  • Keep policy sets small and easy to reason about.
  • Assign explicit priorities instead of relying on creation order.
  • Test new policies with small transfers before production rollout.
  • Review approval behavior and audit trails regularly.
  • Update policies when wallet tiers, approver groups, or operating hours change.