Awards

The awards endpoints allow platforms to fund and distribute digital assets to multiple participants in a single batch. Unlike /rewards, awards are a two-step flow: a platform first funds the awards pool with a chosen asset, then distributes that asset equally across a list of participants.

Step 1: POST /awards/fund

Funds the platform's awards pool by purchasing a specified digital asset.

Key Parameters

  • underlying: The digital asset to be acquired (e.g., BTC, ETH, SOL, USDC). See the supported assets list for the full enum.
  • quoted_currency: The settlement currency for the funding trade. Supported values: CAD, EUR, GBP, JPY, MXN, USD.
  • quantity or total: Provide exactly one, not both. quantity specifies the amount of underlying to acquire; total specifies the amount of quoted_currency to spend.

Step 2: POST /awards/distribute

Distributes funded assets equally among a list of participants.

Key Parameters

  • asset: The digital asset to distribute. Must match the asset previously acquired via POST /awards/fund.
  • quantity: The per-participant distribution amount. Each participant_code in the request receives this amount of asset.
  • participant_codes: The list of participant codes that will receive the award.
  • quoted_currency: The settlement currency context for the distribution. Supported values: CAD, EUR, GBP, JPY, MXN, USD.

Best Practices

  • Fund before distribute: Ensure the awards pool holds enough of the target asset before calling /awards/distribute. The pool is funded through /awards/fund and is separate from your trading or treasury accounts. Total required inventory equals quantity × number of participant_codes.
  • Participant eligibility: Each participant code in /awards/distribute must be a customer your platform operates for. Validate participant codes against your internal records before submission.
  • Audit trails: /awards/fund returns the executed quote along with a trade_id (and a trade_ids_list when the fill spans multiple trades). /awards/distribute returns a confirms array pairing each participant_code with its booked trade_id. Log both for reconciliation against your internal participant ledgers.
  • No reversals: Once a fund or distribute call succeeds, the asset move is final. Double-check participant identifiers and amounts before submission.