Registry
Profiles

Profile

Profiles contain details about Allo participants. An Allo registry profile is required to create a pool. It is also recommended that strategies use Allo profiles for their recipients, but it is not required.

Profile Structure

struct Profile {
    uint256 nonce;
    string name;
    Metadata metadata;
    address owner;
    address anchor;
}
FieldData TypeNotes
nonceuint256A unique uint (any value not already used)
namestringThe profile name.
metadataMetadataSee the metadata section below for more details.
owneraddressThe wallet address of the profile owner.
anchoraddressThe unique id assigned to the profile when it is created.

Metadata

Offchain metadata can be stored in the project registry using the Metadata struct.

struct Metadata {
    uint256 protocol;
    string pointer;
}
FieldData TypeNotes
protocoluint256An id from the list of available protocols.
pointerstringThe pointer to the off chain data.

Currently, the only protocol id available is '1' for IPFS. Others may be added later.

Profile Types

While both grants programs and the builders applying to them create profiles in the registry, it can be useful to distinguish the two.

It is customary for programs to include in their metadata "type":"program", as can be seen when looking at a sample Grant Round profile metadata (opens in a new tab). This distinction is the basis for helping make useful queries in the Indexer.