ALLOW, REVIEW, or BLOCK, and enables your policy engine to select direct settlement, additional approval, SafeSend, or programmable Escrow.
Where Cardinal fits
Keep Cardinal inside the secure service boundary that already manages transaction proposals and approvals.- A user, policy process, or authorised system creates a transfer proposal.
- Your platform authenticates the requester and validates account, vault, mandate, and destination rules.
- A server-side Cardinal adapter submits the final transaction intent to the Protection API.
- Your policy engine combines Cardinal’s decision with internal controls.
- Required approvers review the same immutable intent and findings.
- Your existing HSM, MPC, multisig, or wallet infrastructure signs and broadcasts only after every control passes.
- The custodian records the transaction hash and final settlement state.
Control point
Run Cardinal after the proposal is complete, but before approval quorum, key release, signing, or broadcast.
Canonical transaction intent
Bind the Cardinal decision to the exact action that approvers and signers will authorise.from, to, chain, token, and amount. Include contract_address, contract_verified, approval_amount, and permissions when the proposed action involves a contract call or token approval.
Generate or preserve an internal intent hash from the canonical payload. Store it with the Cardinal request_id, policy result, approval record, and signed transaction.
Decision and approval policy
Internal policy may be stricter than Cardinal. Never weaken a
BLOCK decision or treat a timeout, invalid response, or unavailable service as ALLOW.
Separation of duties
Cardinal should complement, not replace, institutional controls:- Keep proposal creation separate from approval and signing.
- Require the configured quorum for the vault, asset, value, and destination.
- Prevent the proposer from altering the intent after approval.
- Bind every approval to the intent hash and Cardinal decision.
- Require fresh approval when recipient, chain, token, amount, contract, permissions, or route changes.
- Record emergency overrides with named authority, reason, time, and independent review.
- Keep Cardinal API credentials separate from custody keys and signing infrastructure.
Protected settlement routes
Your policy engine may use the decision to select one of these paths:- Direct settlement: normal custodian signing flow after an
ALLOWdecision and all internal approvals. - Additional approval: require a higher quorum, specialist review, or delayed signing for
REVIEW. - SafeSend: route an eligible pilot transfer through a delay or cancellation-window flow. The verified integration is currently on Arbitrum Sepolia testnet.
- Programmable Escrow: use an agreed pilot flow where release conditions, cancellation, or counterparty approval are required.
- Stop: prevent key release, signing, and broadcast after
BLOCK.
Vault and treasury use cases
A pilot can begin with one or more controlled scenarios:- Treasury transfers to approved counterparties
- New or changed withdrawal destinations
- High-value or unusual asset movements
- OTC or institutional payment settlement
- Token approvals and permission changes
- Smart-contract interactions initiated from a managed vault
- Transfers that require enhanced review or protected settlement
Re-check and freshness rules
Run a new check whenever the final intent changes, including:- Source vault or sub-account
- Recipient or approved-destination status
- Network, token, or amount
- Contract target or function
- Approval amount or permissions
- Settlement route
- Transaction data produced after simulation or signing preparation
Audit and reconciliation
Store enough evidence to reconstruct the complete control path:- Proposal, vault, account, and workflow identifiers
- Cardinal
request_id, decision, findings, and check time - Canonical intent and intent hash
- Internal policy result and selected settlement route
- Approver identities, roles, timestamps, and quorum outcome
- Override, acknowledgement, or manual-review evidence
- Signing request ID, transaction hash, and broadcast time
- Final on-chain status and reconciliation result
- Re-check history and superseded intent versions
Reliability and failure handling
Treat Cardinal as a security control:- Apply short, bounded timeouts and controlled retries.
- Use exponential backoff for
429responses. - Do not retry validation or authentication failures until the request is corrected.
- Pause or queue the proposal when Cardinal is unavailable.
- Do not silently bypass the check or substitute mock decisions.
- Alert operations when latency or error thresholds are exceeded.
- Reconcile interrupted workflows so a stale approval cannot reach signing.
Current capability boundary
The current Protection API provides pre-transaction decisioning and deterministic checks for the submitted intent. Supported input slugs includeethereum, bnb, polygon, base, arbitrum, optimism, and solana; this does not mean every chain has completed custodian or vault production validation.
Incoming-funds analysis, source-of-funds tracing, illicit-exposure detection, sanctions screening, and one-to-two-hop exposure analysis are roadmap capabilities. Cardinal should not currently be presented as a complete AML, KYT, sanctions, custody-compliance, protocol-risk, or stolen-funds screening system.
The custodian or vault operator remains responsible for custody controls, customer due diligence, mandate enforcement, legal and jurisdictional review, AML policy, transaction monitoring, case management, key governance, and regulatory obligations.
Pilot checklist
Before enabling a custodian or vault workflow:- Agree on the vaults, assets, networks, transaction types, and value limits in scope.
- Document the proposal, review, approval, signing, broadcast, and reconciliation boundaries.
- Keep the Cardinal API key in a secret manager and rotate it under an agreed procedure.
- Confirm Cardinal cannot access custody keys or signing material.
- Test
ALLOW,REVIEW,BLOCK, timeout,429, and unavailable-service paths. - Verify intent hashing, re-checks, expiry, quorum, and separation of duties.
- Test destination changes, contract calls, approval changes, and emergency overrides.
- Reconcile Cardinal request IDs with proposal IDs, signing requests, and transaction hashes.
- Confirm SafeSend or Escrow addresses, audits, fees, networks, and production readiness separately.
- Complete custodian security, legal, AML, licensing, and jurisdiction-specific review.
Next steps
Start with one vault, one network, a narrow asset set, explicit limits, and manual handling forREVIEW. Expand only after decision quality, latency, approval integrity, signing controls, and settlement reconciliation meet the agreed acceptance criteria.
