Skip to content

Proof of Ship

Bounties paid on the ships HEY counts, by a contract anyone can read.

A funder opens a bounty on a project in the ShipEscrow contract. When the window ends, HEY signs how many of the project’s ships it counted in that window, with the evidence id of each. The builder hands the signature to the contract, and the contract pays the builder from the bounty.

A signature says what HEY counted, never that a project is good, safe or worth funding. Funders choose what to fund; HEY holds, moves and earns nothing in a bounty. HEY signs only for an address its records already tie to the project: the signer of a verified wallet claim for its token, or that token’s recorded deployer.

The escrows HEY signs for

The public reads

  • GET /api/v1/proof-of-ship/tie?slug=<slug>

    The payout addresses HEY would sign for on that project right now, or the reason there are none.

  • GET /api/v1/proof-of-ship/ships?slug=<slug>&since=<unix seconds>&until=<unix seconds>

    How many ships HEY counts in the window, with every evidence id. Unsigned.

  • GET /api/v1/proof-of-ship/attestation?slug=<slug>&builder=<address>&since=<unix seconds>&until=<unix seconds>&escrow=<escrow>

    The same count, signed as EIP-712 typed data for the escrow named, which pays the builder with it.

What counts is the rule activity status reads, narrowed to the window and to one ship of each kind a day. The API reference gives every field.

The code and the app

Proof of Ship — bounties paid on counted ships | HEY Research Lab