# ChainVine API Docs

## ChainVine Documentation

- [Product and Features](https://docs.chainvine.xyz/chainvine/product-and-features.md)
- [Technical Overview](https://docs.chainvine.xyz/chainvine/technical-overview.md): The developer documentation is split into 5 separate sections
- [Use Cases](https://docs.chainvine.xyz/developers/use-cases.md)
- [Leverage cookies](https://docs.chainvine.xyz/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](https://docs.chainvine.xyz/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](https://docs.chainvine.xyz/developers/use-cases/record-link-click.md)
- [Generate a Referrer Link](https://docs.chainvine.xyz/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](https://docs.chainvine.xyz/developers/use-cases/record-a-transfer-event.md): For when you intend to complete a requirement for a user programmatically.
- [Complete a Requirement](https://docs.chainvine.xyz/developers/use-cases/complete-a-requirement.md): For when you intend to complete a requirement for a user programmatically.
- [Embedded Widget](https://docs.chainvine.xyz/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](https://docs.chainvine.xyz/developers/embedded-widget/implementation.md): Note: the Widget requires React 18+
- [FAQ](https://docs.chainvine.xyz/developers/embedded-widget/faq.md)
- [SDK](https://docs.chainvine.xyz/developers/sdk.md)
- [Implementation](https://docs.chainvine.xyz/developers/sdk/implementation.md)
- [Configuring the Client](https://docs.chainvine.xyz/developers/sdk/configuring-the-client.md)
- [Classes and Functions](https://docs.chainvine.xyz/developers/sdk/classes-and-functions.md)
- [Utility Methods](https://docs.chainvine.xyz/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](https://docs.chainvine.xyz/developers/sdk/classes-and-functions/chainvineclient.md)
- [getReferralUrl(walletAddress)](https://docs.chainvine.xyz/developers/sdk/classes-and-functions/chainvineclient/getreferralurl-walletaddress.md): Retrieves the referral URL for a given wallet address.
- [recordClick(referrer)](https://docs.chainvine.xyz/developers/sdk/classes-and-functions/chainvineclient/recordclick-referrer.md): Logs a referral link click for stats tracking
- [linkReferrer(\[payload,\])](https://docs.chainvine.xyz/developers/sdk/classes-and-functions/chainvineclient/linkreferrer-payload.md): Links a referrer using the provided referral link payload.
- [referralConversion(\[payload,\])](https://docs.chainvine.xyz/developers/sdk/classes-and-functions/chainvineclient/referralconversion-payload.md): Sends referral conversion event.
- [syncUser(walletAddress)](https://docs.chainvine.xyz/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,\])](https://docs.chainvine.xyz/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](https://docs.chainvine.xyz/developers/sdk/classes-and-functions/chainvineuser.md)
- [Initializing the client](https://docs.chainvine.xyz/developers/sdk/classes-and-functions/chainvineuser/initializing-the-client.md)
- [joinCampaign(\[campaignParams,\])](https://docs.chainvine.xyz/developers/sdk/classes-and-functions/chainvineuser/joincampaign-campaignparams.md): Send a request to join a user to a referral program/campaign.
- [getRequirement(\[payload,\])](https://docs.chainvine.xyz/developers/sdk/classes-and-functions/chainvineuser/getrequirement-payload.md): Fetches the completion status of a program requirement for the user
- [getUserStats(\[payload,\])](https://docs.chainvine.xyz/developers/sdk/classes-and-functions/chainvineuser/getuserstats-payload.md): Fetches the completion status of a program requirement for the user
- [verifyRequirement(\[payload,\])](https://docs.chainvine.xyz/developers/sdk/classes-and-functions/chainvineuser/verifyrequirement-payload.md): Attempts to verify a requirement for the user
- [completeRequirement(\[payload,\])](https://docs.chainvine.xyz/developers/sdk/classes-and-functions/chainvineuser/completerequirement-payload.md): Mark a program/campaign requirement as completed for the user
- [claimEligibleEarnings(\[payload,\])](https://docs.chainvine.xyz/developers/sdk/classes-and-functions/chainvineuser/claimeligibleearnings-payload.md): Claim eligible cryptocurrency earnings for a user of your campaign
- [transferEvent(\[payload,\])](https://docs.chainvine.xyz/developers/sdk/classes-and-functions/chainvineuser/transferevent-payload.md)
- [referral(\[campaignParams,\])](https://docs.chainvine.xyz/developers/sdk/classes-and-functions/chainvineuser/referral-campaignparams.md)
- [linkToReferrer(referrer)](https://docs.chainvine.xyz/developers/sdk/classes-and-functions/chainvineuser/referral-campaignparams/linktoreferrer-referrer.md)
- [url()](https://docs.chainvine.xyz/developers/sdk/classes-and-functions/chainvineuser/referral-campaignparams/url.md)
- [setRewardTiersOverride(\[payload,\])](https://docs.chainvine.xyz/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](https://docs.chainvine.xyz/developers/sdk/classes-and-functions/errors.md)
- [Authentication](https://docs.chainvine.xyz/developers/sdk/classes-and-functions/authentication.md)
- [Getting your API Key](https://docs.chainvine.xyz/developers/sdk/classes-and-functions/authentication/getting-your-api-key.md)
- [Allow-listing a domain](https://docs.chainvine.xyz/developers/sdk/classes-and-functions/authentication/allow-listing-a-domain.md)
- [FAQ](https://docs.chainvine.xyz/developers/sdk/faq.md)
- [Webhooks](https://docs.chainvine.xyz/developers/webhooks.md)
- [Open API Specification](https://docs.chainvine.xyz/developers/open-api-specification.md)
- [Claiming For Users](https://docs.chainvine.xyz/rewards/claiming-for-users.md)
- [On ChainVine](https://docs.chainvine.xyz/rewards/claiming-for-users/on-chainvine.md)
