Skip to content

Manage Limits

Access prerequisites

  • Permission (module): viewLimits OR manageLimits to open and list; manageLimits to create, edit or delete (either module is sufficient to view; create/edit/delete always requires manageLimits).
  • Licence/Feature: None.
  • Menu container: GENERAL → Users group

What it is / when to use

Screen for registering the platform's limit profiles (also called "general limits"). Each profile is a named set of caps per movement type — external crypto transfer, TED, PIX, same-ownership transfer, internal transfer and withdrawal. The profiles created here are then assigned to users individually via the User details screen, where the operator selects which limit profile applies to that customer.

Use it when setting up the tenant's limits policy (e.g. "Standard", "Qualified Investor", "Verified Account") and when adjusting the caps for each profile. This screen does not operate on a specific customer — it defines the templates; the customer↔profile binding is done in User details.

Pre-conditions

  • Permission: viewLimits or manageLimits registered for the operator's role. The permission is dual — the static CPM enum (E_PERMISSION_MODULES.viewLimits / E_PERMISSION_MODULES.manageLimits) validates the route in the API-Gateway and the corresponding dynamic module must be associated with the role in the database for the UI to release the menu item. The listing (getAllGeneralLimits) accepts either of the two; create/edit/delete (createGeneralLimits / updateGeneralLimits / deleteGeneralLimits) requires manageLimits.
  • Licence/Feature: none.
  • Dependencies on other screens: none for creating profiles. For a profile to take effect, it must be assigned to a user in User details (call updateGeneralLimitsForUser).

Step by step

  1. Access the Users → Manage Limits menu (/manage-limits/list).
  2. The table shows the existing profiles with Type (profile name) and the Crypto Transfer cap.
  3. Click New to create a profile; or use the view / edit / delete icons on an existing profile row.
  4. In the form, fill in the Limit Name, attach the profile image and enter the caps per movement type.
  5. Click Save. For both creation and editing, a confirmation footer (bottom-sheet) is displayed before persisting.
  6. To apply the profile to a customer, go to User details and select the desired limit profile.

Fields

Creation/editing form (routes /manage-limits/create, /manage-limits/edit/:id, /manage-limits/details/:id):

FieldWhat it isRequired?Effect on system/backend
Limit Name (Type)Readable identifier for the profile (e.g. "Standard", "Qualified Investor")YesSaved in IGeneralLimits.type in the CPM. Immutable after creation — the field is disabled in edit mode (only editable on creation). Validated by colectionNameValidator (no invalid characters).
ImageProfile image/icon, sent via uploadYesUploaded via the files service and URL saved in IGeneralLimits.image. The Save button is blocked without type and without image (validateSave).
Crypto TransferExternal crypto transfer capNoSaves crypto_external_transfer. This is the only cap column displayed in the listing.
TED TransferTED capNoSaves ted_transfer.
PIX TransferPIX capNoSaves pix_transfer.
Same-ownership TransferCap for transfers between accounts belonging to the same holderNoSaves same_account_transfer.
Internal TransferInternal transfer cap (between wallets on the platform)NoSaves internal_pix_transfer.
WithdrawalsWithdrawal capNoSaves withdraw_transfer.

Empty caps

The cap fields are not required in the form. A profile can be created with just a name and image, with caps filled in later (edit mode). Caps left blank remain without a value in the profile — review the policy for each movement type before leaving a cap empty.

Actions and modals

  • New: opens the blank form (/manage-limits/create). Requires manageLimits.
  • View (eye): opens the profile in read mode (/manage-limits/details/:id), with an Edit button to switch.
  • Edit (pencil): opens the form with the profile data (/manage-limits/edit/:id). The Limit Name is locked. The Save button only enables if a real change was made to any field (editValidate compares against the original).
  • Delete (bin): opens a confirmation bottom-sheet; on confirm, calls deleteGeneralLimits/:id. Requires manageLimits.
  • Save: confirmation bottom-sheet before persisting, both for creation and editing.

Business rules / cautions

Attention

  • Immutable name: the profile name cannot be changed after creation. To "rename", create a new profile and re-assign the users.
  • This screen does not bind users. Creating or editing a profile here does not automatically change any customer's limit. The customer↔profile binding is done in User details via updateGeneralLimitsForUser. Editing the caps of an already-assigned profile takes effect for the customers using that profile.
  • Image required: without an image the Save button is blocked — attach the image before attempting to save.
  • Financial values: the caps represent monetary values and are handled with precision (BigNumber) on the backend — do not round during verification; check the decimal places according to the type (token vs. fiat).