Joining as a partner
From a partner card to the first payout.
The programme is not open yet — this is how the process will look once it is. Every step already exists in code.
Card
Partner description
Name, topics and regions, mechanics and what you pay for, which consent is needed, the “how we are paid” disclosure in Ukrainian and English, where to deliver requests.
- topics: backup_power.ua, windows.ua, dental.ua…
- regions as ISO 3166-2 codes
- in Kyiv: river bank and districts
you and our operator
Eligibility
Checked by code
A licence where a fee per deal requires one; forbidden topic and region pairs; the consent a region needs. Fail — status “rejected” with the reason.
dealgen code
Contract
Signing and status
The contract reference goes into the card and the status changes from “draft” to “active”. Until then the partner is not shown.
furnigen owner
Requests
Delivery with retries
Manually, by email or to your webhook: the body is signed with HMAC, and on failure retried after 1, 5 and 30 minutes, 2 and 12 hours. Here is the package from the example:
your CRM
{ "format": "dealgen-lead/1", "lead_id": 1, "created": "2026-10-05T09:00:00+00:00", "topic": "moving.us", "region": "US-TX", "contact": { "name": "Demo Person", "email": "demo@example.invalid" }, "consent_id": "1", "consent": { "id": "1", "ts": "2026-10-05T09:00:00+00:00", "lang": "en", "text": "I agree that Example Movers Network (placeholder) may contact me about y…" }, "calculation": { "format": "movegen.moving_cost_estimate/1", "inputs": { "home_size": "2br", "distance_miles": 1200, "origin_state": "TX", "dest_state": "CO", "packing_service": "none" }, "result": { "range_usd": [ 1460, 16700 ], "is_quote": false, "…": "" }, "assumptions": "[7]", "payload": { "…": "" } } }Payouts
Postback and ledger
You confirm a deal with a postback and a secret; the entry goes to the ledger with statuses “pending → confirmed → paid” or “reversed”. A repeat does not duplicate the entry.
you and accounting
Reconciliation
Neutrality on every build
Order and disclosure are checked by tests on every build; the rate never affects display. A paused partner disappears even from links already issued.
operator
Technical connection: secret, webhook and postback
coming soonOnly active partners receive requests — after the eligibility check and a contract. There is no public access: the integration works with a secret we issue with the contract.
- Secret: issued by the operator after the contract; every request is signed with it (HMAC) and you confirm deals with it.
- Webhook: a request arrives as a signed dealgen-lead/1 package; on failure it is retried after 1, 5 and 30 minutes, 2 and 12 hours.
- Postback: confirm a deal with the same secret — one ledger entry, repeats are not duplicated.
Request delivery opens with the gateway launch. Without an integration the operator passes a request on or it arrives by email. To connect, write to us — see the Contact page.
What we never do
These are not promises on a page but rules in the code: a partner that breaks them fails the eligibility check and is never shown.
No paid placement
A higher position cannot be bought: an offer has no field for partnership terms, and a tool answer rejects keys such as partner or commission.
No ranking by rate
The order is by name. The rate is kept only for the payout ledger.
checked: rates reversed — the order is the same
No fees per patient
Clinics pay only a flat listing fee or per click. A fee per request or per treatment is rejected by the check.
checked: a clinic paying per request is rejected, a flat listing fee is accepted
Turkey is switched off
An intermediary in Turkish medical tourism must hold a USHAŞ certificate — we do not, so handoffs are off.
checked: dental.tr — forbidden
No mortgages or gambling
Topics where neutrality cannot be proven to a regulator, or where advertising is banned, are switched off in code.
checked: US mortgages and gambling — forbidden
No cold contacts
A request exists only after consent that names you. Contacts are never resold.