Compliance
✅ Validado on-chain (Sepolia, ERC-4337)
Suite T-REX — bind/unbind de módulos + claim-topics + trusted-issuers validados on-chain. Module-config ops exigem proxy on-chain (config-only retorna 400).
Gerada automaticamente do spec OpenAPI da API (fonte de verdade). 28 endpoint(s).
List compliance modules
GET /v1/compliance/modules
List all compliance modules
Auth: api-key
Respostas: 200, 401
Create compliance module
POST /v1/compliance/modules
Create a new T-REX compliance module
Auth: api-key
Request body:
| Campo | Tipo | Obrigatório | Descrição |
|---|
Respostas: 201, 400, 401
Get compliance module
GET /v1/compliance/modules/{id}
Get compliance module details by ID
Auth: api-key
Path params: id
Respostas: 200, 401, 404
Add allowed country
POST /v1/compliance/modules/{id}/add_allowed_country
Whitelist an ISO 3166-1 country on a CountryAllowModule
Auth: api-key
Path params: id
Request body:
| Campo | Tipo | Obrigatório | Descrição |
|---|
Respostas: 201, 400, 401
Add country restriction
POST /v1/compliance/modules/{id}/add_country_restriction
Add a single country restriction on a CountryRestrictModule
Auth: api-key
Path params: id
Request body:
| Campo | Tipo | Obrigatório | Descrição |
|---|
Respostas: 201, 400, 401
Batch add country restrictions
POST /v1/compliance/modules/{id}/batch_add_country_restrictions
Add multiple country restrictions at once on a CountryRestrictModule
Auth: api-key
Path params: id
Request body:
| Campo | Tipo | Obrigatório | Descrição |
|---|
Respostas: 201, 400, 401
Bind token
POST /v1/compliance/modules/{id}/bind_token
Bind a token to a compliance module
Auth: api-key
Path params: id
Request body:
| Campo | Tipo | Obrigatório | Descrição |
|---|
Respostas: 200, 400, 401
Get bound compliance contract
GET /v1/compliance/modules/{id}/compliance_contract
Get the ModularCompliance contract address this module is bound to
Auth: api-key
Path params: id
Respostas: 200, 401, 404
Check allowed country
GET /v1/compliance/modules/{id}/is_allowed_country
Read CountryAllowModule.isCountryAllowed(compliance,country) on-chain
Auth: api-key
Path params: id
Respostas: 200, 401
Check exchange ID
GET /v1/compliance/modules/{id}/is_exchange_id
Read ExchangeMonthlyLimitsModule.isExchangeID(id) on-chain
Auth: api-key
Path params: id
Respostas: 200, 401
Remove compliance module
DELETE /v1/compliance/modules/{id}/module
Remove a compliance module on-chain
Auth: api-key
Path params: id
Request body:
| Campo | Tipo | Obrigatório | Descrição |
|---|
Respostas: 200, 401, 404
Get module params on-chain
GET /v1/compliance/modules/{id}/module_params
Read on-chain parameters of a compliance module (max_balance, supply_limit, restricted_countries)
Auth: api-key
Path params: id
Respostas: 200, 401, 404
Remove allowed country
POST /v1/compliance/modules/{id}/remove_allowed_country
Remove a country from whitelist on a CountryAllowModule
Auth: api-key
Path params: id
Request body:
| Campo | Tipo | Obrigatório | Descrição |
|---|
Respostas: 201, 400, 401
Remove country restriction
POST /v1/compliance/modules/{id}/remove_country_restriction
Remove a country restriction from a CountryRestrictModule
Auth: api-key
Path params: id
Request body:
| Campo | Tipo | Obrigatório | Descrição |
|---|
Respostas: 201, 400, 401
Add compliance rule
POST /v1/compliance/modules/{id}/rules
Add a rule to a compliance module
Auth: api-key
Path params: id
Request body:
| Campo | Tipo | Obrigatório | Descrição |
|---|
Respostas: 201, 400, 401
Tag/untag exchange ID
POST /v1/compliance/modules/{id}/set_exchange_id
Add or remove an ONCHAINID as an exchange on an ExchangeMonthlyLimitsModule (owner-only)
Auth: api-key
Path params: id
Request body:
| Campo | Tipo | Obrigatório | Descrição |
|---|
Respostas: 201, 400, 401
Set exchange monthly limit
POST /v1/compliance/modules/{id}/set_exchange_monthly_limit
Set monthly transfer cap toward an exchange ONCHAINID on an ExchangeMonthlyLimitsModule
Auth: api-key
Path params: id
Request body:
| Campo | Tipo | Obrigatório | Descrição |
|---|
Respostas: 201, 400, 401
Set max balance
POST /v1/compliance/modules/{id}/set_max_balance
Update the max balance parameter on a MaxBalanceModule
Auth: api-key
Path params: id
Request body:
| Campo | Tipo | Obrigatório | Descrição |
|---|
Respostas: 201, 400, 401
Set supply limit
POST /v1/compliance/modules/{id}/set_supply_limit
Update the supply limit parameter on a SupplyLimitModule
Auth: api-key
Path params: id
Request body:
| Campo | Tipo | Obrigatório | Descrição |
|---|
Respostas: 201, 400, 401
Set time transfer limits
POST /v1/compliance/modules/{id}/set_time_transfer_limits
Set up to 4 {period_sec,max_amount} windows on a TimeTransfersLimitsModule (batch)
Auth: api-key
Path params: id
Request body:
| Campo | Tipo | Obrigatório | Descrição |
|---|
Respostas: 201, 400, 401
Set transfer fees
POST /v1/compliance/modules/{id}/set_transfer_fees
Update fee rate (bps) and collector wallet on a TransferFeesModule
Auth: api-key
Path params: id
Request body:
| Campo | Tipo | Obrigatório | Descrição |
|---|
Respostas: 201, 400, 401
Get time transfer limits
GET /v1/compliance/modules/{id}/time_transfer_limits
Read TimeTransfersLimitsModule.getTimeTransferLimits(compliance) on-chain
Auth: api-key
Path params: id
Respostas: 200, 401
Get transfer fees
GET /v1/compliance/modules/{id}/transfer_fees
Read TransferFeesModule.getFee(compliance) on-chain
Auth: api-key
Path params: id
Respostas: 200, 401
Unbind token
POST /v1/compliance/modules/{id}/unbind_token
Unbind a token from a compliance module
Auth: api-key
Path params: id
Request body:
| Campo | Tipo | Obrigatório | Descrição |
|---|
Respostas: 200, 400, 401
Check module bound
GET /v1/compliance/modules/is_module_bound
Check if a compliance module is bound to a contract
Auth: api-key
Respostas: 200, 401
Check token bound
GET /v1/compliance/modules/is_token_bound
Check if a token is bound to a compliance contract
Auth: api-key
Respostas: 200, 401
Get modules on-chain
GET /v1/compliance/modules/on_chain
Query compliance modules registered on-chain
Auth: api-key
Respostas: 200, 401
Check compliance
POST /v1/tokens/{id}/compliance/check
Check if a transfer is compliant with the token's compliance rules
Auth: api-key
Path params: id
Request body:
| Campo | Tipo | Obrigatório | Descrição |
|---|
Respostas: 200, 400, 401