API
Campaign

Campaign

Get campaigns

GET /airdrop/public

Query Parameters

ParameterTypeDescription
partnersstring*Get campaigns with a specified partner
firstnumberNumber of campaigns to return
skipnumberNumber of campaigns to skip
networkstring**Network to get campaigns for
erc721TokensbooleanIf true, return airdrops with ERC721 tokens
metadatabooleanIf true, return conditions with metadata
showTestnetsbooleanIf true, return testnet campaigns

* Valid values: "orb"

** Use chain id as input. Also supports multiple inputs

Response

type Response = {
  data: Array<Campaign>;
  pagination: {
    first: number;
    skip: number;
    count: number;
  };
};

See Campaign

Get campaign details

GET /airdrop/:slug

Response

See Campaign

Get campaign eligibility

GET /airdrop/eligibility

Authorization

Requires a valid API key in X-API-Key header. Request the Coinvise team for an API key

Query Parameters

ParameterTypeDescription
userAddressAddressAddress to check eligibility for
idstringID of the airdrop

Response

Returns EligibilityResponseWithSignature if user is eligible, otherwise EligibilityResponse

Signature can be used with the smart contract to claim the airdrop. mint() methods on the airdrop / NFT contract accepts the signature as a parameter. See here (opens in a new tab)

type EligibilityResponse = {
  operator: Operator;
  conditions: AirdropConditionWithEligibility[];
  eligible: boolean;
  campaignStatus: CampaignStatus;
  hasClaimed: boolean;
  to:
    | {
        type: 'USER_ADDRESS';
        address: string;
      }
    | {
        type: 'LENS_PROFILE';
        address: string;
        profileId: string;
        handle: string;
        tbaLink: string;
      }
    | null;
};
 
type EligibilityResponseWithSignature = EligibilityResponse & {
  eligible: true;
  signature: ethers.Signature;
  campaignStatus: CampaignStatus.LIVE;
  hasClaimed: false;
};

See Operator, AirdropConditionWithEligibility, CampaignStatus