ZAP Vault Mission

This short guide explains how you can validate and reward someone for holding a ZAP Vault.

What are ZAP Vaults?

ZAP Vaults unlock exclusive benefits on the ZAP platform, including token distributions, NFT Drops, and early access to features.

ZAP Vault holders are ZAP's early community, and are a great resource for your project to tap into. If you want to give away whitelist amount or token airdrops, here's how you do it.

Setting Up A Vault Mission

  • Step 1: Head to your ZAP Creator dashboard and click the on-chain mission.


  • Step 2: Select Type > Validate Smart Contract State


  • Step 3: Paste the Vault Smart Contract into the Contract Address box.

The Vault Smart Contract is: 0x5C39483e407763b20E28069f3A8e0E13c0CeeBBA


  • Step 4: Paste the ABI into the ABI field and select accountData from the toggle box. Please copy and paste the ABI from the very bottom of this page.


  • Step 5: Ignore the Input field and set Output conditions to "Not Applicable" except numberOfVaults. For numberOfVaults, set the desired amount of Vaults that a user needs to complete this mission.


  • Step 6: Choose the desired amount of Allocation/XP a user will receive for completing this mission and publish your mission!

ABI (Paste into ABI field):

[ { "type": "constructor", "inputs": [ { "name": "erc20paymentToken", "type": "address", "internalType": "contract IERC20" }, { "name": "zapPaymentAddress", "type": "address", "internalType": "address" }, { "name": "zapAccountAddress", "type": "address", "internalType": "address" }, { "name": "partnerPaymentAddress", "type": "address", "internalType": "address" }, { "name": "partnerAccountAddress", "type": "address", "internalType": "address" } ], "stateMutability": "nonpayable" }, { "name": "AccessControlBadConfirmation", "type": "error", "inputs": [ ] }, { "name": "AccessControlUnauthorizedAccount", "type": "error", "inputs": [ { "name": "account", "type": "address", "internalType": "address" }, { "name": "neededRole", "type": "bytes32", "internalType": "bytes32" } ] }, { "name": "OwnableInvalidOwner", "type": "error", "inputs": [ { "name": "owner", "type": "address", "internalType": "address" } ] }, { "name": "OwnableUnauthorizedAccount", "type": "error", "inputs": [ { "name": "account", "type": "address", "internalType": "address" } ] }, { "name": "VaultsAllAllocated", "type": "error", "inputs": [ ] }, { "name": "AccountCreated", "type": "event", "inputs": [ { "name": "accountAddress", "type": "address", "indexed": true, "internalType": "address" }, { "name": "referralCode", "type": "string", "indexed": true, "internalType": "string" } ], "anonymous": false }, { "name": "OwnershipTransferred", "type": "event", "inputs": [ { "name": "previousOwner", "type": "address", "indexed": true, "internalType": "address" }, { "name": "newOwner", "type": "address", "indexed": true, "internalType": "address" } ], "anonymous": false }, { "name": "RoleAdminChanged", "type": "event", "inputs": [ { "name": "role", "type": "bytes32", "indexed": true, "internalType": "bytes32" }, { "name": "previousAdminRole", "type": "bytes32", "indexed": true, "internalType": "bytes32" }, { "name": "newAdminRole", "type": "bytes32", "indexed": true, "internalType": "bytes32" } ], "anonymous": false }, { "name": "RoleGranted", "type": "event", "inputs": [ { "name": "role", "type": "bytes32", "indexed": true, "internalType": "bytes32" }, { "name": "account", "type": "address", "indexed": true, "internalType": "address" }, { "name": "sender", "type": "address", "indexed": true, "internalType": "address" } ], "anonymous": false }, { "name": "RoleRevoked", "type": "event", "inputs": [ { "name": "role", "type": "bytes32", "indexed": true, "internalType": "bytes32" }, { "name": "account", "type": "address", "indexed": true, "internalType": "address" }, { "name": "sender", "type": "address", "indexed": true, "internalType": "address" } ], "anonymous": false }, { "name": "VaultsPurchased", "type": "event", "inputs": [ { "name": "accountAddress", "type": "address", "indexed": true, "internalType": "address" }, { "name": "numberOfVaults", "type": "uint256", "indexed": false, "internalType": "uint256" }, { "name": "referralCode", "type": "string", "indexed": false, "internalType": "string" } ], "anonymous": false }, { "name": "ACCOUNT_ADMIN_ROLE", "type": "function", "inputs": [ ], "outputs": [ { "name": "", "type": "bytes32", "internalType": "bytes32" } ], "stateMutability": "view" }, { "name": "DEFAULT_ADMIN_ROLE", "type": "function", "inputs": [ ], "outputs": [ { "name": "", "type": "bytes32", "internalType": "bytes32" } ], "stateMutability": "view" }, { "name": "MASTER_ADMIN_ROLE", "type": "function", "inputs": [ ], "outputs": [ { "name": "", "type": "bytes32", "internalType": "bytes32" } ], "stateMutability": "view" }, { "name": "accountData", "type": "function", "inputs": [ { "name": "", "type": "address", "internalType": "address" } ], "outputs": [ { "name": "accountId", "type": "uint256", "internalType": "uint256" }, { "name": "numberOfVaults", "type": "uint256", "internalType": "uint256" }, { "name": "referrer", "type": "address", "internalType": "address" }, { "name": "referralCode", "type": "string", "internalType": "string" }, { "name": "numberOfReferrals", "type": "uint256", "internalType": "uint256" } ], "stateMutability": "view" }, { "name": "addOneVault", "type": "function", "inputs": [ { "name": "accountAddress", "type": "address", "internalType": "address" } ], "outputs": [ ], "stateMutability": "nonpayable" }, { "name": "allAccounts", "type": "function", "inputs": [ { "name": "", "type": "uint256", "internalType": "uint256" } ], "outputs": [ { "name": "", "type": "address", "internalType": "address" } ], "stateMutability": "view" }, { "name": "codeToAddress", "type": "function", "inputs": [ { "name": "", "type": "string", "internalType": "string" } ], "outputs": [ { "name": "", "type": "address", "internalType": "address" } ], "stateMutability": "view" }, { "name": "createAccount", "type": "function", "inputs": [ { "name": "accountAddress", "type": "address", "internalType": "address" }, { "name": "referralCode", "type": "string", "internalType": "string" } ], "outputs": [ ], "stateMutability": "nonpayable" }, { "name": "getReferralCode", "type": "function", "inputs": [ { "name": "accountAddress", "type": "address", "internalType": "address" } ], "outputs": [ { "name": "", "type": "string", "internalType": "string" } ], "stateMutability": "view" }, { "name": "getRoleAdmin", "type": "function", "inputs": [ { "name": "role", "type": "bytes32", "internalType": "bytes32" } ], "outputs": [ { "name": "", "type": "bytes32", "internalType": "bytes32" } ], "stateMutability": "view" }, { "name": "getRoleMember", "type": "function", "inputs": [ { "name": "role", "type": "bytes32", "internalType": "bytes32" }, { "name": "index", "type": "uint256", "internalType": "uint256" } ], "outputs": [ { "name": "", "type": "address", "internalType": "address" } ], "stateMutability": "view" }, { "name": "getRoleMemberCount", "type": "function", "inputs": [ { "name": "role", "type": "bytes32", "internalType": "bytes32" } ], "outputs": [ { "name": "", "type": "uint256", "internalType": "uint256" } ], "stateMutability": "view" }, { "name": "grantRole", "type": "function", "inputs": [ { "name": "role", "type": "bytes32", "internalType": "bytes32" }, { "name": "account", "type": "address", "internalType": "address" } ], "outputs": [ ], "stateMutability": "nonpayable" }, { "name": "hasRole", "type": "function", "inputs": [ { "name": "role", "type": "bytes32", "internalType": "bytes32" }, { "name": "account", "type": "address", "internalType": "address" } ], "outputs": [ { "name": "", "type": "bool", "internalType": "bool" } ], "stateMutability": "view" }, { "name": "isSaleActive", "type": "function", "inputs": [ ], "outputs": [ { "name": "", "type": "bool", "internalType": "bool" } ], "stateMutability": "view" }, { "name": "nextAccountID", "type": "function", "inputs": [ ], "outputs": [ { "name": "", "type": "uint256", "internalType": "uint256" } ], "stateMutability": "view" }, { "name": "owner", "type": "function", "inputs": [ ], "outputs": [ { "name": "", "type": "address", "internalType": "address" } ], "stateMutability": "view" }, { "name": "partnerAddress", "type": "function", "inputs": [ ], "outputs": [ { "name": "", "type": "address", "internalType": "address" } ], "stateMutability": "view" }, { "name": "paymentToken", "type": "function", "inputs": [ ], "outputs": [ { "name": "", "type": "address", "internalType": "contract IERC20" } ], "stateMutability": "view" }, { "name": "pricePerVault", "type": "function", "inputs": [ ], "outputs": [ { "name": "price", "type": "uint256", "internalType": "uint256" }, { "name": "leftAtThisPrice", "type": "uint256", "internalType": "uint256" } ], "stateMutability": "view" }, { "name": "purchaseMoreVaults", "type": "function", "inputs": [ { "name": "numberOfVaults", "type": "uint256", "internalType": "uint256" } ], "outputs": [ ], "stateMutability": "nonpayable" }, { "name": "purchaseVaults", "type": "function", "inputs": [ { "name": "referralCode", "type": "string", "internalType": "string" }, { "name": "numberOfVaults", "type": "uint256", "internalType": "uint256" } ], "outputs": [ ], "stateMutability": "nonpayable" }, { "name": "renounceOwnership", "type": "function", "inputs": [ ], "outputs": [ ], "stateMutability": "nonpayable" }, { "name": "renounceRole", "type": "function", "inputs": [ { "name": "role", "type": "bytes32", "internalType": "bytes32" }, { "name": "callerConfirmation", "type": "address", "internalType": "address" } ], "outputs": [ ], "stateMutability": "nonpayable" }, { "name": "retrieve721", "type": "function", "inputs": [ { "name": "tracker", "type": "address", "internalType": "address" }, { "name": "id", "type": "uint256", "internalType": "uint256" } ], "outputs": [ ], "stateMutability": "nonpayable" }, { "name": "retrieveERC20", "type": "function", "inputs": [ { "name": "tracker", "type": "address", "internalType": "address" }, { "name": "amount", "type": "uint256", "internalType": "uint256" } ], "outputs": [ ], "stateMutability": "nonpayable" }, { "name": "retrieveNative", "type": "function", "inputs": [ ], "outputs": [ ], "stateMutability": "nonpayable" }, { "name": "revokeRole", "type": "function", "inputs": [ { "name": "role", "type": "bytes32", "internalType": "bytes32" }, { "name": "account", "type": "address", "internalType": "address" } ], "outputs": [ ], "stateMutability": "nonpayable" }, { "name": "setIsSaleActive", "type": "function", "inputs": [ { "name": "state", "type": "bool", "internalType": "bool" } ], "outputs": [ ], "stateMutability": "nonpayable" }, { "name": "setNumberOfVaults", "type": "function", "inputs": [ { "name": "accountAddress", "type": "address", "internalType": "address" }, { "name": "value", "type": "uint256", "internalType": "uint256" } ], "outputs": [ ], "stateMutability": "nonpayable" }, { "name": "supportsInterface", "type": "function", "inputs": [ { "name": "interfaceId", "type": "bytes4", "internalType": "bytes4" } ], "outputs": [ { "name": "", "type": "bool", "internalType": "bool" } ], "stateMutability": "view" }, { "name": "transferOwnership", "type": "function", "inputs": [ { "name": "newOwner", "type": "address", "internalType": "address" } ], "outputs": [ ], "stateMutability": "nonpayable" }, { "name": "vaultCount", "type": "function", "inputs": [ ], "outputs": [ { "name": "", "type": "uint256", "internalType": "uint256" } ], "stateMutability": "view" }, { "name": "zapAddress", "type": "function", "inputs": [ ], "outputs": [ { "name": "", "type": "address", "internalType": "address" } ], "stateMutability": "view" } ]

Last updated