Free Trials Overview (OLD)
Why Free Trials?
Our Free Trials product gives your community the chance to test out an NFT before purchasing.
Let your players dive into gameplay, special levels access, or premium cosmetics, all while they fall in love with the experience you've created for them.
Do more with the API!
This demo shows just one way to do trials (through the Halliday button), but with the Trials API (shown below) you can instantiate trials however and whenever you want!
Trial API - fully custom control over your users and trials
Starting a new trial for any user is just three API calls away. There is no need to store anything extra on your end, we take in whatever user_id format you want!
import axios from 'axios';
const YOUR_API_KEY = "YOUR_API_KEY";
const BLOCKCHAIN = "MUMBAI" // Polygon Testnet
Halliday.init(YOUR_API_KEY, BLOCKCHAIN);
async function main() {
const non_custodial_provider = ... // Get any non-custodial provider you want!
const axios_instance = axios.create({
headers: {
Authorization: `Bearer ${YOUR_API_KEY}`
}
});
// The unique ID that is used to keep track of individual users in your game
const user_game_id = '786F3CBA-534B-47BB-8D02-E3A8B73BBD16';
const { data: user } = axios.post("https://sandbox.halliday.xyz/v1/client/accounts", {
email: "[email protected]",
in_game_player_id: user_game_id,
user_non_custodial_address: await non_custodial_provider.getAddress(),
blockchain_type: BlockchainType.MUMBAI,
});
// Address of the NFT collection you want to trial
const collection_id = "0x3686872dCf3003168345E230c91d7241f08C8AFA";
// Numerical identifier for the token in a collection you want to trial
const token_id = "1";
// Desired length of trial (in hours)
const duration = 24
// Start the trial for the given user
await axios.post("https://sandbox.halliday.xyz/v1/admin/trials", {
collection_id,
token_id,
user_game_id,
duration
});
// That's it! You just successfully trialed one of your NFTs.
// call getAssestsUserCanAccess when you want to see what that user has access to
const access_assets_res = await axios.get(`https://sandbox.halliday.xyz/v1/admin/accounts/${user_game_id}/access`);
}
Halliday Button - keeping it simple!
We offer trials with the click of a (Halliday) button in just 10 lines of Javascript for you!

Updated 5 days ago