Developer Hub
🔮 For applications
SDK
Freebet
useBonuses

useBonuses

The useBonuses hook used retrieve all of a user's bonuses (currently limited to freebets).

ℹ️

You can find more information Here.

Usage

import { useBonuses } from '@azuro-org/sdk'
 
const { data: bonuses } = useBonuses({
  account: '0x...',
  affiliate: '0x...', // your affiliate address
})
 
const activeFreebets = bonuses?.filter((freebet) => {
  return freebet.status === BonusStatus.Available
})
ℹ️

You can find a usage example in our demo (opens in a new tab).

Props

  account: Address // user's address
  affiliate: Address // your affiliate address
  chainId?: ChainId
  query?: QueryParameter<Bonus[]>
enum BonusType {
  FreeBet = 'FreeBet',
}
 
enum BonusStatus {
  Used = 'Used',
  Available = 'Available',
}
 
enum FreebetType {
  OnlyWin = 'OnlyWin',
  AllWin = 'AllWin',
}
 
enum BetRestrictionType {
  Ordinar = 'Ordinar',
  Combo = 'Combo',
}
 
enum EventRestrictionState {
  Live = 'Live',
  Prematch = 'Prematch',
}
 
type BonusBase = {
  id: string
  type: BonusType,
  amount: string
  status: BonusStatus
  chainId: ChainId
  expiresAt: number
  usedAt: number
  createdAt: number
}
 
type Freebet = {
  type: BonusType.FreeBet
  params: {
    isBetSponsored: boolean
    isFeeSponsored: boolean
    isSponsoredBetReturnable: boolean
  }
  settings: {
    type: FreebetType
    feeSponsored: boolean
    betRestriction: {
      type: BetRestrictionType | undefined
      minOdds: string
      maxOdds: string | undefined
    }
    eventRestriction: {
      state: EventRestrictionState | undefined
    }
    periodOfValidityMs: number
  }
} & BonusBase
 
export type Bonus = Freebet

Return Value

UseQueryResult<Bonus[]>
import { type UseQueryResult } from '@tanstack/react-query'