Skip to main content

Solana Protocol

Ekza Space uses Anchor programs to represent creator collaboration, asset ownership, virtual Spaces, avatar identity, and revenue accounting on Solana.

Protocol Map

ProgramRepositoryProgram IDPurpose
solana_stellarsolana-stellar3rVXfq7LLSLqbDzvZuSrQoMytwczLj2Q8Hue62rxPZAAUniverses, assets, lineage, releases, revenue vaults, contributor shares.
solana_ekza_spacesolana-ekza-spaceBms233NNbKb5FAcsjCmmCAU98oCuBXwLrLXNE5sBRdbbFinite numbered Space NFTs and Space settings.
user_profilesolana-avatars56kfTdE1xmCkZ2eDuikD7S5Mr15nmdzQENDWfmdMVttUser profile PDA and selected avatar NFT.
avatar_nft_mintersolana-avatars29KLLArkfCfRGPgTh4k4qzXvR2JkkXfRnnNZTKn54TKzAvatar collection data, minting, fee escrow, and Stellar release links.

solana_stellar

Stellar is the protocol core for collaborative 3D asset production.

Main accounts:

AccountPurpose
RegistryGlobal universe count.
UniverseIndexLookup from global index to universe.
UniverseWorkspace owned by a creator or studio.
AssetTyped content record backed by metadata hash and preview hash.
AssetParentDirected lineage edge from child asset to parent asset.
ReleaseImmutable production snapshot for an approved asset.
ReleaseVaultPDA-controlled revenue vault.
ContributorShareBasis-point revenue share and claim state.

Important seeds:

PDASeeds
Registry["registry"]
Universe["universe", owner, universe_index_le]
Universe index["universe_index", global_index_le]
Asset["asset", universe, asset_index_le]
Link["link", child_asset, parent_asset]
Release["release", universe, release_index_le]
Release vault["release_vault", release]
Contributor share["share", release, contributor]

Core instructions:

  • create_universe
  • update_universe
  • close_universe
  • create_asset
  • update_asset_metadata
  • add_asset_parent
  • submit_asset
  • approve_asset
  • reject_asset
  • close_asset
  • create_release
  • add_release_share
  • finalize_release
  • finalize_lineage_equal_release
  • finalize_weighted_release
  • link_avatar_data
  • deposit_revenue
  • claim_revenue

solana_ekza_space

Ekza Space provides finite numbered Space NFTs.

Each Space is a 1/1 mint plus a PDA storing settings:

  • space_id;
  • mint;
  • owner;
  • name;
  • space_config_uri;
  • is_open;
  • is_editable_by_others;
  • editor allowlist;
  • reserved extension bytes.

The current implementation uses space_v1 as the Space PDA seed root.

solana-avatars

The avatar stack has two programs.

user_profile stores a wallet profile:

  • owner;
  • username;
  • description;
  • selected avatar mint;
  • creation timestamp.

avatar_nft_minter stores avatar collection data:

  • IPFS hash policy;
  • creator;
  • max supply;
  • current supply;
  • mint fee;
  • unclaimed fees;
  • Stellar release links.

The minter enforces non-inflationary NFT behavior by revoking mint and freeze authority after minting.

Metadata Strategy

The protocol stores compact references on-chain:

  • metadata hash;
  • preview hash;
  • metadata URI;
  • license enum;
  • mint;
  • PDA state.

Rich 3D data belongs in IPFS or another content-addressed storage layer.

Verification Commands

Run protocol tests from each repository:

cd /Users/wotori/git/ekza/solana-stellar
yarn --cwd sdk build
anchor test

cd /Users/wotori/git/ekza/solana-ekza-space
anchor build
anchor run litesvm

cd /Users/wotori/git/ekza/solana-avatars
anchor test