# Developers

- [Use Cases](/developers/use-cases.md)
- [Leverage cookies](/developers/use-cases/leverage-cookies.md): In additional to the ChainvineClient operations, we offer a few global utility methods to assist in keeping track of referrals through the use of cookies.
- [Link Claimer/Referrer](/developers/use-cases/link-claimer-referrer.md): For claimers to be referred directly to your website rather than first connecting their wallet on ChainVine, you will need to ensure any valid referral is “linked” upon wallet connection.
- [Record Link Click](/developers/use-cases/record-link-click.md)
- [Generate a Referrer Link](/developers/use-cases/generate-a-referrer-link.md): If you would like to bypass ChainVine and supply referrers with a referral URL directly on your webpage, you can generate a referral URL for a given wallet address using the "url" endpoint.
- [Record a Transfer Event](/developers/use-cases/record-a-transfer-event.md): For when you intend to complete a requirement for a user programmatically.
- [Complete a Requirement](/developers/use-cases/complete-a-requirement.md): For when you intend to complete a requirement for a user programmatically.
- [Embedded Widget](/developers/embedded-widget.md): Add ChainVine's widget to display your referral program's information on your Web3 site for your logged in user!
- [Implementation](/developers/embedded-widget/implementation.md): Note: the Widget requires React 18+
- [FAQ](/developers/embedded-widget/faq.md)
- [SDK](/developers/sdk.md)
- [Implementation](/developers/sdk/implementation.md)
- [Configuring the Client](/developers/sdk/configuring-the-client.md)
- [Classes and Functions](/developers/sdk/classes-and-functions.md)
- [Utility Methods](/developers/sdk/classes-and-functions/utility-methods.md): We expose a few useful utility methods to aid referrer ID storage when operating in a browser context.
- [ChainvineClient](/developers/sdk/classes-and-functions/chainvineclient.md)
- [getReferralUrl(walletAddress)](/developers/sdk/classes-and-functions/chainvineclient/getreferralurl-walletaddress.md): Retrieves the referral URL for a given wallet address.
- [recordClick(referrer)](/developers/sdk/classes-and-functions/chainvineclient/recordclick-referrer.md): Logs a referral link click for stats tracking
- [linkReferrer(\[payload,\])](/developers/sdk/classes-and-functions/chainvineclient/linkreferrer-payload.md): Links a referrer using the provided referral link payload.
- [referralConversion(\[payload,\])](/developers/sdk/classes-and-functions/chainvineclient/referralconversion-payload.md): Sends referral conversion event.
- [syncUser(walletAddress)](/developers/sdk/classes-and-functions/chainvineclient/syncuser-walletaddress.md): Allows you to clone ChainvineClient instance scoped to a single wallet address without having to fetch your ClientConfig.
- [getCampaignReferralStats(\[payload,\])](/developers/sdk/classes-and-functions/chainvineclient/getcampaignreferralstats-payload.md): We expose some useful campaign information via the SDK, this is accessible via the getCampaignReferralStats method
- [ChainvineUser](/developers/sdk/classes-and-functions/chainvineuser.md)
- [Initializing the client](/developers/sdk/classes-and-functions/chainvineuser/initializing-the-client.md)
- [joinCampaign(\[campaignParams,\])](/developers/sdk/classes-and-functions/chainvineuser/joincampaign-campaignparams.md): Send a request to join a user to a referral program/campaign.
- [getRequirement(\[payload,\])](/developers/sdk/classes-and-functions/chainvineuser/getrequirement-payload.md): Fetches the completion status of a program requirement for the user
- [getUserStats(\[payload,\])](/developers/sdk/classes-and-functions/chainvineuser/getuserstats-payload.md): Fetches the completion status of a program requirement for the user
- [verifyRequirement(\[payload,\])](/developers/sdk/classes-and-functions/chainvineuser/verifyrequirement-payload.md): Attempts to verify a requirement for the user
- [completeRequirement(\[payload,\])](/developers/sdk/classes-and-functions/chainvineuser/completerequirement-payload.md): Mark a program/campaign requirement as completed for the user
- [claimEligibleEarnings(\[payload,\])](/developers/sdk/classes-and-functions/chainvineuser/claimeligibleearnings-payload.md): Claim eligible cryptocurrency earnings for a user of your campaign
- [transferEvent(\[payload,\])](/developers/sdk/classes-and-functions/chainvineuser/transferevent-payload.md)
- [referral(\[campaignParams,\])](/developers/sdk/classes-and-functions/chainvineuser/referral-campaignparams.md)
- [linkToReferrer(referrer)](/developers/sdk/classes-and-functions/chainvineuser/referral-campaignparams/linktoreferrer-referrer.md)
- [url()](/developers/sdk/classes-and-functions/chainvineuser/referral-campaignparams/url.md)
- [setRewardTiersOverride(\[payload,\])](/developers/sdk/classes-and-functions/chainvineuser/setrewardtiersoverride-payload.md): We allow tier percentage overriding should you wish to specify a custom percentage reward for specific users
- [Errors](/developers/sdk/classes-and-functions/errors.md)
- [Authentication](/developers/sdk/classes-and-functions/authentication.md)
- [Getting your API Key](/developers/sdk/classes-and-functions/authentication/getting-your-api-key.md)
- [Allow-listing a domain](/developers/sdk/classes-and-functions/authentication/allow-listing-a-domain.md)
- [FAQ](/developers/sdk/faq.md)
- [Webhooks](/developers/webhooks.md)
- [Open API Specification](/developers/open-api-specification.md)
