initiate_project_transfer
Initiate a project transfer to another wallet. Freezes owner-side mutations until the transfer is accepted, cancelled, or expired.
Instructions
Initiate a two-party project transfer (v1.59+). You must currently own the project (gateway verifies against fresh DB state). Creates a pending row with 72h expiry and freezes owner-side mutations on the project until accepted, cancelled, or expired. The recipient gets the project under the migrate billing policy (project moves into their billing account). Owner's tier lease is NOT refunded. GitHub repo ownership is NOT transferred. Calls POST /projects/v1/:project_id/transfers.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| project_id | Yes | Project id to transfer. You must currently own it (the gateway verifies against fresh DB state). | |
| to_wallet | Yes | Recipient wallet address (any case — the gateway lowercases). Must differ from the current owner. | |
| billing_policy | No | Billing policy. Phase 1A supports only `migrate` (default). The project moves into the recipient's billing account. | |
| message | No | Optional free-text note shown to the recipient in the preview and notification emails. | |
| kysigned_record_id | No | Optional KySigned record id. Phase 1A stores this verbatim (no verification). Phase 1B will verify against the canonical terms hash. |