Skip to main content

Overview

The Governance feature enables you to define and manage organizational policies for all platform operations. Set up approval groups, configure transaction policies, establish quorum requirements, and maintain complete control over who can perform what actions.

What You Can Do

Approval Groups

Create user groups with specific approval responsibilities and quorum requirements

Transaction Policies

Define rules for wallet and counterparty transactions with conditional logic

General Policies

Set platform-wide governance rules for critical operations

Policy History

Track all policy changes and approvals with complete audit trail

Key Capabilities

Policy Categories

The governance interface has five main sections:
Platform-wide governance rules including:Approval Group Management:
  • Activity: Create, Edit, Remove Approval Group
  • Quorum: Master Group (1 approval)
Fiat Transfer:
  • Activity: New Fiat Transfer
  • Quorum: Master Group (1 approval)
Transaction Policy Management:
  • Activity: Edit Counterparty Policy, Edit Custody Policy
  • Quorum: Master Group (2 approvals)
Whitelist:
  • Activity: New Whitelist Address
  • Quorum: Master Group (2 approvals)
Changes to general policy quorums require review by the Crocante team. Submit a request to modify these core rules.

Policy Evaluation Logic

1

Transaction Initiated

User or system initiates a transaction (withdrawal, transfer, etc.)
2

Policy Matching

Platform evaluates policies in priority order:
  • Check if initiator matches policy
  • Verify destination matches
  • Confirm asset matches
  • Check amount is within range
3

First Match Wins

Use the first policy that matches all criteria. Stop evaluation.
4

Apply Quorum

Based on matched policy:
  • If quorum = 0: Auto-approve
  • If quorum > 0: Request approvals from specified group(s)
  • If no match: Deny transaction
5

Await Approvals

Transaction stays pending until:
  • Required approvals received → Execute
  • Timeout or rejection → Cancel

Approval Workflows

Quorum Requirements

Policies specify quorum as:
  • Group Name (n): Requires n approvals from members of that group
  • Multiple Groups: Can require approvals from multiple groups
    • Example: “Master Group (1)\nTeste de Grupo (1)” requires 1 approval from each group
Approvers cannot approve their own transactions. The system automatically excludes the initiator from the approval pool.

Creating Approval Groups

1

Open Approval Groups Tab

Navigate to Governance → Approval Groups
2

Click Create Group

Click the ”+ Create Group” button in the top-right
3

Configure Group

Enter:
  • Group name
  • Member selection (choose users from organization)
  • Description (optional)
4

Submit for Approval

Click “Create” - this action requires approval per “Approval Group Management” policy
5

Wait for Approval

Master Group members approve the new group creation
6

Group Active

Once approved, the group can be used in transaction policies

Editing Policies

Wallet Policies

1

Navigate to Wallet Policies

Go to Governance → Crocante Wallet Policies tab
2

Click Edit Policies

Click “Edit Policies” button in top-right
3

Modify Policy Table

Make changes:
  • Reorder policies by dragging rows (priority matters!)
  • Edit existing policies (name, range, quorum)
  • Add new policies
  • Delete outdated policies
4

Submit for Approval

Click “Save” - changes require approval per “Transaction Policy Management” policy (Master Group with 2 approvals)
5

Review Policy History

Click “Policy History” to see pending approval or past changes
Policy changes don’t take effect until approved. During approval period, old policies remain in force.

Counterparty Policies

Same workflow as Wallet Policies, but under “Counterparty Policies” tab.

Policy Components

The governance UI uses:
  • Tab Navigation: Switch between policy categories
  • Policy Tables: Display current rules with sortable columns
  • Edit Modals: Modify policies and groups
  • History View: Track changes and approvals
  • Info Banners: Show important policy behavior notes

Data Structure

Governance rules follow this structure:
{
  name: string,          // Rule name
  activity: string,      // Actions covered
  quorum: string        // Approval requirement
}
Wallet policies:
{
  order: string,         // Priority
  name: string,          // Policy name
  initiator: string,     // Who can initiate
  destination: string,   // Where can send
  asset: string,         // Which assets
  assetIcon: string,     // Display icon
  range: string,         // Amount limits
  quorum: string         // Approval groups
}
Counterparty policies add:
{
  origin: string,        // Source account type
  // ... other fields same as wallet policies
}
Approval groups:
{
  name: string,          // Group name
  members: string,       // Member count
  lastUpdate: string,    // Last modified
  rules: string,         // Policy count using this group
  status: string         // Active/Inactive
}

Best Practices

Policy Ordering Matters: Place specific policies (e.g., “BTC withdrawals 0-20 USD”) before general policies (e.g., “All assets, all amounts”). The first match wins.
Use Descriptive Names: Name policies clearly (“Policy BTC - 15-30” instead of “Policy 3”) for easier management and auditing.
Balance Security and Usability: Higher quorum requirements increase security but slow operations. Match quorum to transaction risk level.
Avoid Policy Gaps: Ensure legitimate transactions have a matching policy. Unmatchable transactions are automatically denied.
Test with Low Amounts: When adding new policies, test with small transactions first to verify the policy matches correctly.

Common Policy Patterns

Low-Value Auto-Approve

Name: Small Transactions Auto
Range: 0 to 100 USD
Asset: All Assets
Quorum: Master Group (1)  // Fast approval

High-Value Multi-Signature

Name: Large Transfers
Range: 100,000 USD or higher  
Asset: All Assets
Quorum: Master Group (2) + Approver Group (1)  // 3 total approvals

Asset-Specific Rules

Name: BTC Treasury Protection
Asset: BTC
Range: 1 BTC or higher
Destination: Whitelist Only
Quorum: Master Group (3)  // Extra security for BTC

Time-Based Rules

Future versions will support time-based conditions (business hours only, cooling periods) as shown in the Custody policy engine.

Troubleshooting

Transaction denied but should be allowed:
  • Check policy order - is a more specific policy blocking it?
  • Verify all policy criteria match (initiator, asset, amount, destination)
  • Review policy history - did recent changes affect matching?
  • Check if transaction falls in a range gap between policies
Policy changes not taking effect:
  • Verify approval workflow completed
  • Check quorum was met (all required approvals received)
  • Review Activity tab for approval status
  • Contact approvers if stuck pending
Group creation failing:
  • Ensure you have admin permissions
  • Check “Approval Group Management” policy allows your role
  • Verify Master Group has active approvers
  • Review error message for specific validation failures
Approval requests not received:
  • Verify approver is in correct group
  • Check notification settings
  • Review email delivery (check spam folder)
  • Confirm approver account is active
  • Custody - Implements governance policies for custody operations
  • Activity - Shows approval workflows in transaction history
  • Portfolio - Withdrawal policies apply to portfolio transfers

Build docs developers (and LLMs) love