Skip to main content
Automated payments let you process transfers programmatically while maintaining human oversight through policy-based approvals. This solution covers service account setup, payout workflows, and high-volume considerations.

What you’ll need

Components to configure

Service account

A service account provides machine identity for automated operations. Grant minimal permissions for payout operations. See the service account guide and API reference.
Never grant approval permissions to service accounts. Keep automation and approval authority separate.

Payout policies

Configure policies that control when automated payouts need human review:
  • Small payouts - May auto-approve with velocity limits for protection
  • Large payouts - Require human approval above threshold
  • Unknown recipients - Require approval for addresses not in whitelist
See how to create policies and process approvals.

Webhooks

Configure webhooks to track payout status in real-time:
  • wallet.transfer.broadcasted - Transaction sent to network
  • wallet.transfer.confirmed - Transaction confirmed
  • wallet.transfer.failed - Transaction failed
  • policy.approval.pending - Approval needed
See how to configure webhooks and the event reference.

Transfer execution

Execute transfers via the API with your service account credentials. See how to create transfers and monitor status.

Policy evaluation flow

When a payout is initiated, policies evaluate the transaction:

Example configurations

Standard payout workflow

PolicyConfigurationAction
Velocity limit$100k/dayBlock (safety cap)
Large payouts>$10kRequire 1-of-2 approval
New recipientsNot in whitelistRequire approval

High-volume operations

For payment processors with high transaction volume:
PolicyConfigurationAction
Very large payouts>$500kRequire 2-of-3 approval
Hourly cap$2M/hourBlock
Frequency limit>1000 tx/hourBlock

High-volume considerations

Rate limits

Dfns API has rate limits to ensure fair usage. For high-volume operations:
  • Check rate limits documentation for current values
  • Implement queuing and backoff strategies
  • Contact support if you need higher limits

Multiple hot wallets

Distribute load across multiple wallets for:
  • Higher throughput
  • Balance management
  • Risk distribution

Reliability

Build reliability into your payout system:
  • Use idempotency keys to prevent duplicates
  • Implement retry logic with exponential backoff
  • Set up monitoring and alerting