Skip to content

Manager Contracts

The Manager Contracts serve as primary entry points for the Nestor Protocol, handling critical market operations including permission oversight, treasury functions, security issuance/transfer/settlement, and deposit attestations for NestorFundDepositTokens.

Four Core Manager Contracts

NestorPermissionsManager

This contract governs participant authorization within the protocol. It defines an enumeration of user types (PROTOCOL_TREASURY, PERMISSIONED_CUSTODIAN, etc.) and establishes which agents can register users and manage associated claims.

NestorTransferManager

Manages token transfers and collects transaction fees according to manager-configured schedules. The contract supports two operational modes:

onlyTreasury Mode: PROTOCOL_TREASURY executes exchanges via the exchangeTokens function, handling primary and secondary trades with optional fee collection.

Treasury Transfer Flow

Process: 1. PROTOCOL_ADMIN establishes transfer fees 2. PROTOCOL_TREASURY invokes exchangeTokens with transaction polarity 3. Transfer executes using ERC-3643-compliant IToken.forcedTransfer

onlyCounterpart Mode: Enables peer-to-peer bilateral trading through createTransferOffer, confirmTransferOffer, and cancelTransferOffer functions with optional protocol fees.

Bilateral P2P Transfer

Process: 1. PROTOCOL_ADMIN sets transfer fees 2. Investor X creates offer via createTransferOffer 3. Investor Y confirms via confirmTransferOffer using IToken.transferFrom

NestorTreasuryManager

Manages minting, transferring, and burning of Nestor tokens:

  • Minting: Creates Fund Deposit Tokens, Digital Security Tokens, and On-Chain Asset Tokens
  • Management: Tracks existing tokens, prevents duplicates for same currency/IBAN
  • Permissions: PROTOCOL_ADMIN initiates minting; PROTOCOL_TREASURY and valid agents handle subsequent supply increases, transfers, and burns

NestorAttestationManager

Provides proof-of-reserve attestations for NestorFundDepositToken underlying balances. Independent PERMISSIONED_FUND_ACCOUNTANT signers submit regular balance snapshots.

Attestation Fields:

Field Description
CASH_IBAN Account IBAN
CURRENCY 3-letter currency code
REPORT_START_DATE Report period start
REPORT_END_DATE Report period end
CASH_BALANCE Balance at REPORT_END_DATE
LAST_TX_COUNTERPARTY_ID Last transaction party ID
LAST_TX_TIMESTAMP Last transaction time
LAST_TX_AMOUNT Last transaction amount (credit positive, debit negative)