Selective Disclosure
Configuring Selective Disclosure
Selective disclosure allows specific on-chain data to be made public without exposing the rest of the private network. Administrators use this feature to share verifiable information such as token supply, bytecode, or other approved contract data, while keeping internal transactions and state private.
1. Open the Selective Disclosure page
- Go to the Admin Dashboard at
http://localhost:3000
. - Select Selective Disclosure from the sidebar.
- You will see a list of registered contracts and disclosure options for each.
2. Enable disclosure for a contract
- Select a contract from the list or register a new one if it is not yet added.
- Choose the disclosure types to enable:
- Bytecode disclosure — exposes the deployed bytecode for verification.
- ERC-20 supply disclosure — allows public queries for total and circulating supply.
- Click Save.
Once enabled, the corresponding public endpoints become available through the Permissions API.
3. Manage ERC-20 lock addresses
For ERC-20 contracts, you can specify lock addresses that represent non-circulating balances (for example, treasury or reserve wallets).
- Select the ERC-20 contract.
- Under Lock Addresses, click Add Address.
- Enter the address to exclude from circulating supply calculations.
- Click Save.
These addresses are subtracted from the total supply when calculating circulating supply.
4. Verify public endpoints
After enabling disclosure, anyone can query the following unauthenticated endpoints:
Endpoint | Description | Example |
---|---|---|
/api/public-check/bytecode?address=<contract> | Returns the verified bytecode of a disclosed contract | https://your-domain/api/public-check/bytecode?address=0x123... |
/api/public-check/erc20?address=<contract> | Returns total and circulating supply for disclosed ERC-20s | https://your-domain/api/public-check/erc20?address=0x123... |
Example response:
{
"totalSupply": { "value": "0x52B7D2DCF" },
"decimals": 18,
"lockedBalances": [
{ "address": "0xF00...", "balance": "0x1BC16D674EC80000" }
]
}
5. Testing selective disclosure
- Open a browser or API client.
- Query one of the public endpoints using a disclosed contract address.
- Confirm that:
- The response includes only the data you enabled.
- Other non-disclosed contracts return 404 Not Found.
If the endpoint does not return data, verify that disclosure is enabled in the Admin Dashboard.
6. Best practices
- Disclose only data that is required for transparency or auditability.
- Keep contract addresses for disclosure under strict admin control.
- Use lock addresses to accurately represent circulating supply.
- Review disclosure settings periodically as contract logic evolves.
Summary
Selective disclosure provides a controlled way to share public-facing data from a private or permissioned Prividium network. It allows external users to verify contract authenticity and supply metrics without compromising confidential state information.
Next Step
Return to Configuring Prividium Overview or review Permissions to adjust access rules.