Skip to main content
POST
Asks the identity register your instance writes to whether a transfer between two wallets would pass its checks. Use it as a pre-flight check, so a refused transfer does not revert on chain.
On an ERC-3643 register, allowed: true only means both wallets are verified on the register. No compliance rule is evaluated there, and amount and both balances are ignored.
On a Trusset register, the register checks the sender, then the receiver. Each must hold an identity that is not revoked, not hard-expired and not frozen. A soft-expired identity still passes. The register then asks each compliance module active on it, which sees amount and both balances.

Body Parameters

string
required
Sender wallet.
string
required
Receiver wallet.
string
default:"0"
The amount as a whole number in the token’s smallest unit, such as "1000000000000000000000" for 1,000 tokens with 18 decimals. A decimal string such as "1000.5" fails with CHECK_FAILED.
string
default:"0"
The sender’s balance before the transfer, in the same unit.
string
default:"0"
The receiver’s balance before the transfer, in the same unit.
The basic compliance module refuses a transfer larger than fromBalance. With the default of 0, any nonzero amount fails wherever that module is active. Send the real balances.

Response Fields

object
An ERC-3643 register only answers 0, 1 or 2. A register that cannot be read answers 500 CHECK_FAILED, never allowed: false.

Error Codes