Affiliate, ledger & payouts

The affiliate system is built for transparency: every accrual ties to a completed swap, amounts are expressed in USD from the from-asset notional, and partners can export statements, request payouts, and subscribe to webhooks.

From completed swap to your ledger
Attributed order reaches completed
Commission accrues (USD notional × basis points)
Optional: affiliate.commission_accrued webhook
Visible in ledger; request payout when rules allow

Rates and eligibility depend on your partner profile and deployment configuration.

Commission model

  • Each partner has affiliate_commission_bps (basis points; 100 bps = 1%), set by operations (admin). If affiliate is disabled for the account, new accruals do not apply.
  • When an attributed order transitions to completed (provider status sync), the platform computes commission as a share of price_usd_from (USD notional of the amount sent on the from-leg), rounded to cents.
  • Accruals are idempotent per order. Duplicate ledger rows are not created for the same internal order ID.

Ledger

Ledger entry kinds visible to partners include (non-exhaustive):

  • COMMISSION_ACCRUAL: Commission from a completed swap.
  • COMMISSION_RECONCILIATION: Corrections when USD notional is backfilled or adjusted.
  • ADJUSTMENT_CREDIT / ADJUSTMENT_DEBIT: Manual adjustments from operations.
  • PAYOUT: Funds sent (accounting debit against available balance).

GET /partners/affiliate/summary returns ledger balance, pending payout reservations, available balance, commission bps, terms version, and whether affiliate is enabled. Default minimum_payout_usd is 50 unless configured otherwise.

Payout requests

  • Payouts are cryptocurrency only. Partners provide a wallet address and an asset/network label (e.g. “USDT on Tron”). Email or bank payouts are not supported.
  • POST /partners/affiliate/payout-requests submits an amount and optional note; requests go through an admin review workflow (pending → approved → processing → paid / failed / cancelled).
  • Update destination and preferences with PATCH /partners/affiliate/payout-profile (also reflected from profile fields in the app).

Terms acceptance

Partners must accept the current affiliate terms version via POST /partners/affiliate/terms/accept before withdrawals behave as expected in the product UI.

Statements

GET /partners/affiliate/statement.csv?from=YYYY-MM-DD&to=YYYY-MM-DD (UTC) returns CSV for bookkeeping.

In the app

The affiliate console at https://app.navoswap.com/partner/affiliate surfaces balances, payout form, ledger preview, webhooks, and CSV download.