testnet
GitHub

OKRW_EAS_PERIODIC_VOLUME_LIMIT_POLICY

component compliance

Cumulative period-based OKRW transfer limit, with the limit depending on EAS attestation status. The Travel-Rule-tier primitive.

Combines PERIODIC_VOLUME_POLICY's sliding-window cumulative tracking with EAS attestation conditioning, giving un-attested users a strict daily/monthly OKRW cap and attested users a higher (or unlimited at this layer) cap. The standard primitive for Travel-Rule–style thresholds.

Parameter schema

``json
{
"eas_contract": "<address>",
"index_contract": "<address>",
"schema_uid": "<bytes32>",
"period": "24h | 7d | 30d | <duration string>",
"limit": "int"
}
`

limit is the cumulative cap (in aokrw) for senders who do NOT hold the attestation, over the given period`. Attested senders are not capped by this template.

Evaluation

1. Check whether the sender holds a valid attestation under schema_uid.
2. If yes → admit (no cumulative cap from this template).
3. If no → compute usedSoFar = sum of sender's outgoing OKRW transactions over the past period. If usedSoFar + amount > limit → reject with PeriodicVolumeAboveLimit. Otherwise admit, and the new amount counts against future evaluations until it ages out of the window.

The accounting is per-sender (not per-recipient), and the windows for attested vs un-attested users are independent — flipping from un-attested to attested mid-window doesn't carry forward usage.

ReasonCode on rejection

PeriodicVolumeAboveLimit — wallet UX: "daily/monthly limit reached for un-verified accounts; complete KYC to remove the cap, or wait until <window resets>".

Typical usage

  • Travel Rule compliance: un-attested users capped at 1,000,000 OKRW per 24h (the FIU reporting threshold for some jurisdictions). Once a user completes KYC and gets the schema's attestation, the cap effectively disappears.
  • Anti-fraud: pair with DENYLIST_POLICY and OKRW_EAS_TRANSFER_LIMIT_POLICY to bound damage from compromised un-attested accounts.
  • The most common production deployment of all six templates — usually one of the first templates registered on a Maroo network.
Source: maroo
ESC
Type to search