Verdicts
| Verdict | Meaning |
|---|---|
| GO | Every blocking rule passed. Settlement is cleared to broadcast. |
| HOLD | Blocking rules passed but an advisory rule failed. Manual sign-off required. |
| NO-GO | A blocking rule failed. Settlement is refused by the compliance layer. |
| INSUFFICIENT DATA | A rule could not be evaluated because the evidence it needs could not be read. This is not a pass, a failure or a soft refusal — it is the absence of an answer, and it says nothing about the subject. |
A blocking failure gives NO-GO. Otherwise an evidence source that could not be read gives INSUFFICIENT DATA. Otherwise an advisory failure gives HOLD. Otherwise GO.
Rules
| Rule | Check | Severity | Domains |
|---|---|---|---|
ACCOUNT_ACTIVATED | Account activated on mainnet | Blocking | DEX-US, LEND-INST, TOKEN-PVT, MINT-US, CUST-Q, RTL-OPEN |
CREDENTIAL_KYC_LEVEL_1 | Holds kyc level 1 | Blocking | DEX-US, RTL-OPEN |
CREDENTIAL_SANCTIONS_CLEARANCE | Holds sanctions clearance | Blocking | DEX-US, LEND-INST, MINT-US |
RESERVE_SOLVENCY | Clears XRPL owner reserve | Blocking | DEX-US, LEND-INST, TOKEN-PVT, MINT-US, CUST-Q, RTL-OPEN |
SPENDABLE_BALANCE | Spendable balance covers transfer | Blocking | DEX-US, LEND-INST, TOKEN-PVT, MINT-US, CUST-Q, RTL-OPEN |
TRANSFER_CEILING | Within domain transfer ceiling | Blocking | DEX-US, LEND-INST, TOKEN-PVT, CUST-Q, RTL-OPEN |
DOMAIN_GOVERNANCE | Domain governance is active | Advisory | DEX-US, LEND-INST, TOKEN-PVT, CUST-Q, RTL-OPEN |
DOMAIN_ATTESTATION | Account publishes a domain attestation | Advisory | DEX-US, LEND-INST, TOKEN-PVT, MINT-US, CUST-Q, RTL-OPEN |
CREDENTIAL_ACCREDITED_INVESTOR | Holds accredited investor | Blocking | LEND-INST, TOKEN-PVT, MINT-US |
CREDENTIAL_PEP_SCREENING | Holds pep screening | Blocking | TOKEN-PVT |
CREDENTIAL_KYC_LEVEL_2 | Holds kyc level 2 | Blocking | MINT-US, CUST-Q |
CREDENTIAL_INSTITUTIONAL_CUSTODY | Holds institutional custody | Blocking | MINT-US, CUST-Q |
TRANSFER_CEILING | Domain accepts settlements | Blocking | MINT-US |
DOMAIN_GOVERNANCE | Domain governance is active | Blocking | MINT-US |
An evidence rule (EVIDENCE_<SOURCE>, advisory) is added for each source that could not be read, so a missing reading is never treated as a pass.
Reference domains
These are reference fixtures with generic operator names, not real permissioned domains. On a live network the same fields are read from XLS-80 PermissionedDomain objects.
| Domain | Requires | Ceiling (XRP) | Governance |
|---|---|---|---|
| DEX-US US_REGULATED_DEX | KYC_LEVEL_1, SANCTIONS_CLEARANCE | 250,000 | active |
| LEND-INST INSTITUTIONAL_LENDING | ACCREDITED_INVESTOR, SANCTIONS_CLEARANCE | 5,000,000 | active |
| TOKEN-PVT PRIVATE_TOKEN_SALES | ACCREDITED_INVESTOR, PEP_SCREENING | 1,000,000 | review |
| MINT-US STABLECOIN_MINTING | KYC_LEVEL_2, ACCREDITED_INVESTOR, SANCTIONS_CLEARANCE, INSTITUTIONAL_CUSTODY | closed | suspended |
| CUST-Q QUALIFIED_CUSTODY | KYC_LEVEL_2, INSTITUTIONAL_CUSTODY | 20,000,000 | active |
| RTL-OPEN RETAIL_SETTLEMENT | KYC_LEVEL_1 | 10,000 | active |
Institutional policies
An organization's policy moves from draft to pending to active. Drafts are written and simulated by owner, admin, compliance, risk, analyst. A pending policy is activated by owner, admin, compliance, and never by the person who submitted it. The server enforces that rule, not the app. The active version is bound into every receipt it produces.
Generated from src/lib/policy.ts · src/lib/org/governance.ts