glossary·2026-03-09·1 min read

Program ID

Program ID

Every Aleo program has a unique identifier in the format name.aleo. Once deployed, this ID is permanent - no other program can use the same name on that network.

leo
program my_token.aleo {
    @noupgrade
    constructor() {}

    fn ping() {}
}

Program IDs are used in imports, cross-program calls, and the REST API. When querying the network for program state or calling a specific transition, you reference the program by its ID.

Choose program names carefully - you can't rename or redeploy to the same ID. During development, use descriptive names that won't collide on testnet or mainnet.