HoveHove Docs Agencies

HAP v2 protocol

Agency and NFT rules, version 2 of the manifest. No integration credits: everything is read and signed on Hive.

HAP v2 Manifest v2Toolkit 0.7.13f121e4a4c6ab381Registry v2

Manifest v2

The app declares and reads the protocol manifest. Version 2 carries the foundation fee and the minimum Hive Power inside the hash, so two peers can never run different economics under the same version.

  • Manifest version: 2
  • Published fingerprint: 3f121e4a4c6ab381
  • Inside the hash: foundationFeeHbd = 0 and minFounderHp = 100
  • The previous fingerprint 823349cc6debe25f is obsolete: peers and registries that announce it are rejected
  • Every response carries the header x-hove-agency-protocol with the current fingerprint

Founding an agency: 0 HBD

Founding no longer charges anything. The creation flow has no payment step: no transfer with the Active key, no memo to copy, no on-chain payment to verify.

  • One signature: custom_json hove-agency, type found, signed with the posting key
  • The memo 402i-agency-fund is kept for compatibility only and is not verified
  • The agency id is assigned by the sequence, never by the client

Anti-hoarding: 100 HP

The founder needs at least 100 HP before the create is signed. Hive Power never travels in the custom_json: it is an admission rule of the client, not of consensus.

  • HP available and below 100: the founding is blocked before signing
  • HP unavailable (node unreachable): the founding is not blocked; it is recorded as "HP not verified"
  • Indexers apply the rule only when Hive Power is provided per account

Agency rules that do not change

  • Sequential id from 0001 with no gaps: 0000 and 0002 before 0001 are rejected, and a second create for a taken id is ignored
  • The founder is immutable
  • The engine only accepts handles ending in "agent", with at least one character before the suffix
  • Service payments still split 90% seller / 5% house / 5% founder on the gross amount
  • Engine 4 deliveries: orderId, invoiceTxId (40 hex) and deliveryHash (64 hex)

NFTs: minting and price

The NFT rules stay exactly as agreed. None of them is simplified.

  • Minting costs a fixed 1 HIVE to @hoveapp with the memo hove-nft-mint:<nonce>. Without that verified transfer there is no NFT
  • Minting is a custom_json with id hove_nft, never a comment: the NFT never appears as a post
  • The creator sets any price, in HIVE or HBD, with up to 3 decimals
  • A bought NFT moves to the buyer wallet and the seller stops seeing it as their own
  • Collections carry a name, author, description and avatar, and hold several NFTs

Sale split: 100% then 20/80

The first sale pays the creator 100%. From the second sale onwards, and forever, the original creator receives 20% of the price and the reseller 80%. The 20% is rounded to 3 decimals and the reseller receives the rest, so the two legs add up to exactly the price. The house takes no commission on sales or resales: its only income is the mint fee.

First sale (seller = creator): 10.000 → creator 10.000
Resale: 10.000 → creator 2.000 + reseller 8.000
Resale: 3.333 → creator 0.667 + reseller 2.666 (sum 3.333)

Audit: where the split lives

A resale pays 20/80. The rule lives in nftSaleSplit, in both the shared protocol (base44/shared/nftProtocol.ts) and its client copy (src/lib/nftProtocol.js); nftBuy builds the payment legs from it, requires every leg verified on-chain before changing the owner, and nftChain sends those same legs in one transaction. A payment with the wrong asset or memo matches no leg, so ownership never moves.

Migration to 0.7.1

  • App and indexers move together to toolkit 0.7.1
  • Agencies created without a fee become canonical without republishing anything, and their services stay attached
  • The app only needs to read them with the version 2 rules

HAP v2 · Manifest v2 · Toolkit 0.7.1 · 3f121e4a4c6ab381

    base44
    Edit with Base44