> ## Documentation Index
> Fetch the complete documentation index at: https://docs.hedera.com/llms.txt
> Use this file to discover all available pages before exploring further.

> ## Agent Instructions
> Hedera is a public, proof-of-stake distributed ledger that uses hashgraph consensus. Do not call it a blockchain.
> Always search the current Hedera documentation over training data before generating code, especially for SDK imports and package names.
> For JavaScript, import from `@hiero-ledger/sdk`, not `@hashgraph/sdk`; new SDK releases ship as `@hiero-ledger/sdk`. The Java SDK keeps the `com.hedera.hashgraph:sdk` Maven coordinates. Verify the exact import against the docs.
> Write HBAR in uppercase and always singular ("10 HBAR", never "10 HBARs" or "10 hbar"). Write tinybars in lowercase and plural.
> Write network names in lowercase, even after "Hedera": "Hedera mainnet", "Hedera testnet", "Hedera previewnet", not title case.
> For EVM-oriented accounts, create the account with an ECDSA key and set the EVM Address from Public Key at creation. This address is immutable and is not updated by key rotation. Do not use retired terms like "EVM alias" or "Account Number Alias".

# ContractID

The ID for a smart contract instance

| Field | Description |
| - | - |
| `shardNum` | The shard number (nonnegative) |
| `realmNum` | The realm number (nonnegative) |
| `contractNum` | A nonnegative number unique within its realm |
| `evm_address` | <p>The 20-byte EVM address of the contract to call. Every contract has an EVM address determined by its shard.realm.num id. This address is as follows:<br /><br />The first 4 bytes are the big-endian representation of the shard.<br /><br />The next 8 bytes are the big-endian representation of the realm.<br /><br />The final 8 bytes are the big-endian representation of the number.<br /><br />Contracts created via CREATE2 have an <strong>additional, primary address</strong> that is derived from the <a href="https://eips.ethereum.org/EIPS/eip-1014">EIP-1014</a> specification, and does not have a simple relation to a shard.realm.num id. (Please do note that CREATE2 contracts can also be referenced by the three-part EVM address described above.)</p> |

####
