references
Honeycomb Protocol API Reference
Welcome to the Honeycomb Protocol GraphQL API Reference! This documentation provides all the details about the available GraphQL types, queries, mutations, and their parameters.
API Endpoints
https://edge.test.honeycombprotocol.com/
API Endpoints
Production: https://edge.test.honeycombprotocol.com/
Queries
Resources
resources
Description
Fetch resources based on provided filters. Returns an array of Resource objects.
Response
Returns [Resource!]!
Example
Query
query Resources(
$addresses: [Bytes!],
$projects: [Pubkey!],
$mints: [Pubkey!]
) {
resources(
addresses: $addresses,
projects: $projects,
mints: $mints
) {
address
bump
project
mint
storage {
kind
params {
...ResourceStorageParamsFragment
}
}
kind {
kind
params {
... on ResourceKindParamsHplFungible {
...ResourceKindParamsHplFungibleFragment
}
... on ResourceKindParamsWrappedFungible {
...ResourceKindParamsWrappedFungibleFragment
}
... on ResourceKindParamsHplNonFungible {
...ResourceKindParamsHplNonFungibleFragment
}
... on ResourceKindParamsWrappedMplCore {
...ResourceKindParamsWrappedMplCoreFragment
}
}
}
}
}
Variables
{
"addresses": [Bytes],
"projects": [Pubkey],
"mints": [Pubkey]
}
Response
{
"data": {
"resources": [
{
"address": Bytes,
"bump": 987,
"project": Pubkey,
"mint": Pubkey,
"storage": ResourceStorage,
"kind": ResourceKind
}
]
}
}
faucets
Description
Fetch faucets based on provided filters. Returns an array of Faucet objects.
Response
Returns [Faucet!]!
Example
Query
query Faucets(
$addresses: [Bytes!],
$projects: [Pubkey!],
$resources: [Pubkey!]
) {
faucets(
addresses: $addresses,
projects: $projects,
resources: $resources
) {
address
project
resource
amount
repeatInterval
lastClaimed
}
}
Variables
{
"addresses": [Bytes],
"projects": [Pubkey],
"resources": [Pubkey]
}
Response
{
"data": {
"faucets": [
{
"address": Bytes,
"project": Pubkey,
"resource": Pubkey,
"amount": {},
"repeatInterval": {},
"lastClaimed": {}
}
]
}
}
createCreateNewResourceTransaction
Description
Create a transaction for creating a new resource. Returns a CreateInitResourceTransactionResponse object.
Response
Returns a CreateInitResourceTransactionResponse!
Arguments
Name | Description |
---|---|
project - String! | Project PDA address. Required |
authority - String! | Project authority wallet address. Required |
params - InitResourceInput! | Params for initializing the resource. Required |
delegateAuthority - String | Delegate authority for the resource. Optional |
payer - String | Payer for the transaction. Optional |
lutAddresses - [String!] | Array of lookup table addresses. Only needed in case the transaction is too large. Optional |
computeUnitPrice - Int | Compute unit price for the transaction. A higher compute unit price will result in a faster transaction when the network is busy. Optional |
Example
Query
query CreateCreateNewResourceTransaction(
$project: String!,
$authority: String!,
$params: InitResourceInput!,
$delegateAuthority: String,
$payer: String,
$lutAddresses: [String!],
$computeUnitPrice: Int
) {
createCreateNewResourceTransaction(
project: $project,
authority: $authority,
params: $params,
delegateAuthority: $delegateAuthority,
payer: $payer,
lutAddresses: $lutAddresses,
computeUnitPrice: $computeUnitPrice
) {
tx {
transaction
blockhash
lastValidBlockHeight
}
resource
}
}
Variables
{
"project": "xyz789",
"authority": "xyz789",
"params": InitResourceInput,
"delegateAuthority": "abc123",
"payer": "abc123",
"lutAddresses": ["xyz789"],
"computeUnitPrice": 123
}
Response
{
"data": {
"createCreateNewResourceTransaction": {
"tx": Transaction,
"resource": Bytes
}
}
}
createCreateNewResourceTreeTransaction
Description
Create a transaction for creating a new resource tree. Resource trees are used to store resource ownership and usage information for resources. Returns a Transaction object.
Response
Returns a TreeSetupResponse!
Arguments
Name | Description |
---|---|
project - String! | Project PDA address. Required |
resource - String! | Resource PDA address. Required |
authority - String! | Project authority wallet address. Required |
treeConfig - TreeSetupConfig! | Configuration settings for the tree. Requires either the basic or advanced config. Required |
delegateAuthority - String | Delegate authority for the resource. Optional |
payer - String | Payer for the transaction. Optional |
lutAddresses - [String!] | Array of lookup table addresses. Only needed in case the transaction is too large. Optional |
computeUnitPrice - Int | Compute unit price for the transaction. A higher compute unit price will result in a faster transaction when the network is busy. Optional |
Example
Query
query CreateCreateNewResourceTreeTransaction(
$project: String!,
$resource: String!,
$authority: String!,
$treeConfig: TreeSetupConfig!,
$delegateAuthority: String,
$payer: String,
$lutAddresses: [String!],
$computeUnitPrice: Int
) {
createCreateNewResourceTreeTransaction(
project: $project,
resource: $resource,
authority: $authority,
treeConfig: $treeConfig,
delegateAuthority: $delegateAuthority,
payer: $payer,
lutAddresses: $lutAddresses,
computeUnitPrice: $computeUnitPrice
) {
tx {
transaction
blockhash
lastValidBlockHeight
}
treeAddress
proofBytes
space
cost
maxTreeCapacity
}
}
Variables
{
"project": "xyz789",
"resource": "xyz789",
"authority": "abc123",
"treeConfig": TreeSetupConfig,
"delegateAuthority": "xyz789",
"payer": "xyz789",
"lutAddresses": ["abc123"],
"computeUnitPrice": 987
}
Response
{
"data": {
"createCreateNewResourceTreeTransaction": {
"tx": Transaction,
"treeAddress": Bytes,
"proofBytes": 123,
"space": 987,
"cost": 987.65,
"maxTreeCapacity": 987
}
}
}
createMintResourceTransaction
Description
Create a transaction for minting a resource. Returns a Transaction object.
Response
Returns a Transaction!
Arguments
Name | Description |
---|---|
resource - String! | Resource PDA address. This is the resource that will be minted. Required |
owner - String! | Owner's wallet address to mint the resource to. Required |
authority - String! | Project authority wallet address. Required |
amount - BigInt! | Amount of resource to mint. Required |
delegateAuthority - String | Delegate authority for the resource. Optional |
payer - String | Payer for the transaction. Optional |
lutAddresses - [String!] | Array of lookup table addresses. Only needed in case the transaction is too large. Optional |
computeUnitPrice - Int | Compute unit price for the transaction. A higher compute unit price will result in a faster transaction when the network is busy. Optional |
Example
Query
query CreateMintResourceTransaction(
$resource: String!,
$owner: String!,
$authority: String!,
$amount: BigInt!,
$delegateAuthority: String,
$payer: String,
$lutAddresses: [String!],
$computeUnitPrice: Int
) {
createMintResourceTransaction(
resource: $resource,
owner: $owner,
authority: $authority,
amount: $amount,
delegateAuthority: $delegateAuthority,
payer: $payer,
lutAddresses: $lutAddresses,
computeUnitPrice: $computeUnitPrice
) {
transaction
blockhash
lastValidBlockHeight
}
}
Variables
{
"resource": "abc123",
"owner": "xyz789",
"authority": "xyz789",
"amount": {},
"delegateAuthority": "xyz789",
"payer": "xyz789",
"lutAddresses": ["abc123"],
"computeUnitPrice": 123
}
Response
{
"data": {
"createMintResourceTransaction": {
"transaction": Bytes,
"blockhash": "xyz789",
"lastValidBlockHeight": 987
}
}
}
createBurnResourceTransaction
Description
Create a transaction for burning a resource. Returns a Transaction object.
Response
Returns a Transaction!
Arguments
Name | Description |
---|---|
resource - String! | Resource PDA address. Required |
amount - BigInt! | Amount of resource to burn. Required |
authority - String! | Resource owner's wallet address. This will usually be a user who has the resource and wants to burn it. Required |
owner - String | |
payer - String | Payer for the transaction. Optional |
delegateAuthority - String | Delegate authority for the resource. Optional |
lutAddresses - [String!] | Array of lookup table addresses. Only needed in case the transaction is too large. Optional |
computeUnitPrice - Int | Compute unit price for the transaction. A higher compute unit price will result in a faster transaction when the network is busy. Optional |
Example
Query
query CreateBurnResourceTransaction(
$resource: String!,
$amount: BigInt!,
$authority: String!,
$owner: String,
$payer: String,
$delegateAuthority: String,
$lutAddresses: [String!],
$computeUnitPrice: Int
) {
createBurnResourceTransaction(
resource: $resource,
amount: $amount,
authority: $authority,
owner: $owner,
payer: $payer,
delegateAuthority: $delegateAuthority,
lutAddresses: $lutAddresses,
computeUnitPrice: $computeUnitPrice
) {
transaction
blockhash
lastValidBlockHeight
}
}
Variables
{
"resource": "abc123",
"amount": {},
"authority": "xyz789",
"owner": "abc123",
"payer": "xyz789",
"delegateAuthority": "xyz789",
"lutAddresses": ["xyz789"],
"computeUnitPrice": 123
}
Response
{
"data": {
"createBurnResourceTransaction": {
"transaction": Bytes,
"blockhash": "xyz789",
"lastValidBlockHeight": 987
}
}
}
createCreateUnwrapHoldingTransaction
Description
Create a transaction for unwrapping a resource. By default resources exist in a compressed state, unwrapping a resource mints that resource so it can be used in an app or even traded on a marketplace. Returns a Transaction object.
Response
Returns a Transaction!
Arguments
Name | Description |
---|---|
resource - String! | Resource PDA address. This resource will be unwrapped. Required |
amount - BigInt! | Amount of resource to unwrap. Required |
authority - String! | Resource owner's wallet address. This will usually be a user who has the wrapped resource and wants to unwrap it. Required |
payer - String | Payer for the transaction. Optional |
lutAddresses - [String!] | Array of lookup table addresses. Only needed in case the transaction is too large. Optional |
computeUnitPrice - Int | Compute unit price for the transaction. A higher compute unit price will result in a faster transaction when the network is busy. Optional |
Example
Query
query CreateCreateUnwrapHoldingTransaction(
$resource: String!,
$amount: BigInt!,
$authority: String!,
$payer: String,
$lutAddresses: [String!],
$computeUnitPrice: Int
) {
createCreateUnwrapHoldingTransaction(
resource: $resource,
amount: $amount,
authority: $authority,
payer: $payer,
lutAddresses: $lutAddresses,
computeUnitPrice: $computeUnitPrice
) {
transaction
blockhash
lastValidBlockHeight
}
}
Variables
{
"resource": "abc123",
"amount": {},
"authority": "abc123",
"payer": "xyz789",
"lutAddresses": ["abc123"],
"computeUnitPrice": 123
}
Response
{
"data": {
"createCreateUnwrapHoldingTransaction": {
"transaction": Bytes,
"blockhash": "xyz789",
"lastValidBlockHeight": 123
}
}
}
createCreateWrapHoldingTransaction
Description
Create a transaction for wrapping a resource. Wrapping a resource compresses it. Returns a Transaction object.
Response
Returns a Transaction!
Arguments
Name | Description |
---|---|
resource - String! | Resource PDA address. Required |
amount - BigInt! | Params for wrapping the resource. Required |
authority - String! | Resource owner's wallet address. This will usually be a user who has the unwrapped resource and wants to wrap it. Required |
payer - String | Payer for the transaction. Optional |
lutAddresses - [String!] | Array of lookup table addresses. Only needed in case the transaction is too large. Optional |
computeUnitPrice - Int | Compute unit price for the transaction. A higher compute unit price will result in a faster transaction when the network is busy. Optional |
Example
Query
query CreateCreateWrapHoldingTransaction(
$resource: String!,
$amount: BigInt!,
$authority: String!,
$payer: String,
$lutAddresses: [String!],
$computeUnitPrice: Int
) {
createCreateWrapHoldingTransaction(
resource: $resource,
amount: $amount,
authority: $authority,
payer: $payer,
lutAddresses: $lutAddresses,
computeUnitPrice: $computeUnitPrice
) {
transaction
blockhash
lastValidBlockHeight
}
}
Variables
{
"resource": "abc123",
"amount": {},
"authority": "abc123",
"payer": "abc123",
"lutAddresses": ["abc123"],
"computeUnitPrice": 123
}
Response
{
"data": {
"createCreateWrapHoldingTransaction": {
"transaction": Bytes,
"blockhash": "abc123",
"lastValidBlockHeight": 987
}
}
}
createTransferResourceTransaction
Description
Create a transaction for transferring a resource. Returns a Transaction object.
Response
Returns a Transaction!
Arguments
Name | Description |
---|---|
resource - String! | Resource PDA address. The owner must have this resource to transfer. Required |
owner - String! | Resource owner's wallet address. This user must already have the resource. Required |
recipient - String! | Recipient address to transfer the resource to. Required |
amount - BigInt! | Amount of resource to transfer. Required |
payer - String | Payer for the transaction. Optional |
lutAddresses - [String!] | Array of lookup table addresses. Only needed in case the transaction is too large. Optional |
computeUnitPrice - Int | Compute unit price for the transaction. A higher compute unit price will result in a faster transaction when the network is busy. Optional |
Example
Query
query CreateTransferResourceTransaction(
$resource: String!,
$owner: String!,
$recipient: String!,
$amount: BigInt!,
$payer: String,
$lutAddresses: [String!],
$computeUnitPrice: Int
) {
createTransferResourceTransaction(
resource: $resource,
owner: $owner,
recipient: $recipient,
amount: $amount,
payer: $payer,
lutAddresses: $lutAddresses,
computeUnitPrice: $computeUnitPrice
) {
transaction
blockhash
lastValidBlockHeight
}
}
Variables
{
"resource": "abc123",
"owner": "abc123",
"recipient": "abc123",
"amount": {},
"payer": "xyz789",
"lutAddresses": ["xyz789"],
"computeUnitPrice": 987
}
Response
{
"data": {
"createTransferResourceTransaction": {
"transaction": Bytes,
"blockhash": "xyz789",
"lastValidBlockHeight": 123
}
}
}
Crafting
recipes
Description
Fetch recipes based on provided filters. Returns an array of Recipe objects.
Response
Returns [Recipe!]!
Example
Query
query Recipes(
$addresses: [Bytes!],
$projects: [Pubkey!]
) {
recipes(
addresses: $addresses,
projects: $projects
) {
address
bump
project
key
xp
ingredients {
resourceAddress
amount
}
meal {
resourceAddress
amount
}
}
}
Variables
{
"addresses": [Bytes],
"projects": [Pubkey]
}
Response
{
"data": {
"recipes": [
{
"address": Bytes,
"bump": 123,
"project": Pubkey,
"key": Pubkey,
"xp": {},
"ingredients": [Ingredient],
"meal": Meal
}
]
}
}
createInitializeRecipeTransaction
Description
Create a transaction for a new recipe. Returns a CreateInitializeRecipeTransactionResponse object.
Response
Arguments
Name | Description |
---|---|
project - String! | Project PDA address. Required |
xp - BigInt! | Experience points required for the recipe. Only profiles with at least this much experience can craft the recipe. Required |
ingredients - [IngredientsInput!]! | Array of ingredients for the recipe. Required |
meal - MealInput! | Information about the resource produced by the recipe. Required |
authority - String! | Project authority wallet address. Required |
delegateAuthority - String | Delegate authority for the recipe. Optional |
payer - String | Payer for the transaction. Optional |
lutAddresses - [String!] | Array of lookup table addresses. Only needed in case the transaction is too large. Optional |
computeUnitPrice - Int | Compute unit price for the transaction. A higher compute unit price will result in a faster transaction when the network is busy. Optional |
Example
Query
query CreateInitializeRecipeTransaction(
$project: String!,
$xp: BigInt!,
$ingredients: [IngredientsInput!]!,
$meal: MealInput!,
$authority: String!,
$delegateAuthority: String,
$payer: String,
$lutAddresses: [String!],
$computeUnitPrice: Int
) {
createInitializeRecipeTransaction(
project: $project,
xp: $xp,
ingredients: $ingredients,
meal: $meal,
authority: $authority,
delegateAuthority: $delegateAuthority,
payer: $payer,
lutAddresses: $lutAddresses,
computeUnitPrice: $computeUnitPrice
) {
transactions {
transactions
blockhash
lastValidBlockHeight
}
recipe
}
}
Variables
{
"project": "abc123",
"xp": {},
"ingredients": [IngredientsInput],
"meal": MealInput,
"authority": "abc123",
"delegateAuthority": "abc123",
"payer": "xyz789",
"lutAddresses": ["abc123"],
"computeUnitPrice": 123
}
Response
{
"data": {
"createInitializeRecipeTransaction": {
"transactions": Transactions,
"recipe": Bytes
}
}
}
createAddIngredientsTransaction
Description
Create transactions for adding ingredients to an existing recipe. Returns a Transactions object.
Response
Returns a Transactions!
Arguments
Name | Description |
---|---|
recipe - String! | Recipe PDA address to add ingredients to. Required |
ingredients - [IngredientsInput!]! | Array of ingredients to add to the recipe. Required |
authority - String! | Project authority wallet address. Required |
delegateAuthority - String | Delegate authority for the recipe. Optional |
payer - String | Payer for the transaction. Optional |
lutAddresses - [String!] | Array of lookup table addresses. Only needed in case the transaction is too large. Optional |
computeUnitPrice - Int | Compute unit price for the transaction. A higher compute unit price will result in a faster transaction when the network is busy. Optional |
Example
Query
query CreateAddIngredientsTransaction(
$recipe: String!,
$ingredients: [IngredientsInput!]!,
$authority: String!,
$delegateAuthority: String,
$payer: String,
$lutAddresses: [String!],
$computeUnitPrice: Int
) {
createAddIngredientsTransaction(
recipe: $recipe,
ingredients: $ingredients,
authority: $authority,
delegateAuthority: $delegateAuthority,
payer: $payer,
lutAddresses: $lutAddresses,
computeUnitPrice: $computeUnitPrice
) {
transactions
blockhash
lastValidBlockHeight
}
}
Variables
{
"recipe": "abc123",
"ingredients": [IngredientsInput],
"authority": "abc123",
"delegateAuthority": "abc123",
"payer": "abc123",
"lutAddresses": ["abc123"],
"computeUnitPrice": 987
}
Response
{
"data": {
"createAddIngredientsTransaction": {
"transactions": [Bytes],
"blockhash": "abc123",
"lastValidBlockHeight": 123
}
}
}
createRemoveIngredientsTransaction
Description
Create transactions for removing ingredients from an existing recipe. Returns a Transactions object.
Response
Returns a Transactions!
Arguments
Name | Description |
---|---|
recipe - String! | Recipe PDA address to remove ingredients from. Required |
ingredients - [String!]! | Array of resource PDA addresses to remove as the recipe ingredients. Required |
authority - String! | Project authority wallet address. Required |
delegateAuthority - String | Delegate authority for the recipe. Optional |
payer - String | Payer for the transaction. Optional |
lutAddresses - [String!] | Array of lookup table addresses. Only needed in case the transaction is too large. Optional |
computeUnitPrice - Int | Compute unit price for the transaction. A higher compute unit price will result in a faster transaction when the network is busy. Optional |
Example
Query
query CreateRemoveIngredientsTransaction(
$recipe: String!,
$ingredients: [String!]!,
$authority: String!,
$delegateAuthority: String,
$payer: String,
$lutAddresses: [String!],
$computeUnitPrice: Int
) {
createRemoveIngredientsTransaction(
recipe: $recipe,
ingredients: $ingredients,
authority: $authority,
delegateAuthority: $delegateAuthority,
payer: $payer,
lutAddresses: $lutAddresses,
computeUnitPrice: $computeUnitPrice
) {
transactions
blockhash
lastValidBlockHeight
}
}
Variables
{
"recipe": "xyz789",
"ingredients": ["xyz789"],
"authority": "abc123",
"delegateAuthority": "abc123",
"payer": "xyz789",
"lutAddresses": ["xyz789"],
"computeUnitPrice": 123
}
Response
{
"data": {
"createRemoveIngredientsTransaction": {
"transactions": [Bytes],
"blockhash": "xyz789",
"lastValidBlockHeight": 123
}
}
}
createInitCookingProcessTransactions
Description
Step 1 in crafting/cooking. Create a transaction for beginning the cooking process. Returns a CreateBeginCookingTransactionResponse object.
Response
Returns a Transactions!
Arguments
Name | Description |
---|---|
recipe - String! | Recipe PDA address. Required |
authority - String! | Authority for cooking. Required |
payer - String | Payer for the transaction. Optional |
lutAddresses - [String!] | Array of lookup table addresses. Only needed in case the transaction is too large. Optional |
computeUnitPrice - Int | Compute unit price for the transaction. A higher compute unit price will result in a faster transaction when the network is busy. Optional |
Example
Query
query CreateInitCookingProcessTransactions(
$recipe: String!,
$authority: String!,
$payer: String,
$lutAddresses: [String!],
$computeUnitPrice: Int
) {
createInitCookingProcessTransactions(
recipe: $recipe,
authority: $authority,
payer: $payer,
lutAddresses: $lutAddresses,
computeUnitPrice: $computeUnitPrice
) {
transactions
blockhash
lastValidBlockHeight
}
}
Variables
{
"recipe": "abc123",
"authority": "abc123",
"payer": "xyz789",
"lutAddresses": ["xyz789"],
"computeUnitPrice": 123
}
Response
{
"data": {
"createInitCookingProcessTransactions": {
"transactions": [Bytes],
"blockhash": "abc123",
"lastValidBlockHeight": 123
}
}
}
Mission
mission
Description
Fetch missions based on provided filters. Returns an array of Mission objects.
Response
Returns [Mission!]!
Example
Query
query Mission(
$addresses: [Bytes!],
$missionPools: [Pubkey!]
) {
mission(
addresses: $addresses,
missionPools: $missionPools
) {
address
program_id
discriminator
bump
project
missionPool
name
minXp
cost {
amount
resource_address
}
requirement {
... on TimeRequirement {
...TimeRequirementFragment
}
}
rewards {
min
max
rewardType {
... on XpRewardType {
...XpRewardTypeFragment
}
... on ResourceRewardType {
...ResourceRewardTypeFragment
}
}
}
}
}
Variables
{
"addresses": [Bytes],
"missionPools": [Pubkey]
}
Response
{
"data": {
"mission": [
{
"address": Bytes,
"program_id": Bytes,
"discriminator": Bytes,
"bump": 987,
"project": Pubkey,
"missionPool": Pubkey,
"name": "xyz789",
"minXp": {},
"cost": MissionCost,
"requirement": TimeRequirement,
"rewards": [Reward]
}
]
}
}
missionPool
Description
Fetch mission pools based on provided filters. Returns an array of MissionPool objects. @group('Mission')
Response
Returns [MissionPool!]!
Example
Query
query MissionPool(
$addresses: [Bytes!],
$project: Pubkey
) {
missionPool(
addresses: $addresses,
project: $project
) {
address
program_id
discriminator
bump
project
name
factionsMerkleRoot
randomizerRound
characterModels
guildKits
}
}
Variables
{
"addresses": [Bytes],
"project": Pubkey
}
Response
{
"data": {
"missionPool": [
{
"address": Bytes,
"program_id": Bytes,
"discriminator": Bytes,
"bump": 987,
"project": Pubkey,
"name": "abc123",
"factionsMerkleRoot": Bytes,
"randomizerRound": 123,
"characterModels": [Pubkey],
"guildKits": [987]
}
]
}
}
createCreateMissionPoolTransaction
Description
Create a transaction for a new mission pool. Returns a CreateCreateMissionPoolTransactionResponse object.
Response
Arguments
Name | Description |
---|---|
data - NewMissionPoolData! | Metadata for creating the mission pool. Required |
lutAddresses - [String!] | Array of lookup table addresses. Only needed in case the transaction is too large. Optional |
computeUnitPrice - Int | Compute unit price for the transaction. A higher compute unit price will result in a faster transaction when the network is busy. Optional |
Example
Query
query CreateCreateMissionPoolTransaction(
$data: NewMissionPoolData!,
$lutAddresses: [String!],
$computeUnitPrice: Int
) {
createCreateMissionPoolTransaction(
data: $data,
lutAddresses: $lutAddresses,
computeUnitPrice: $computeUnitPrice
) {
tx {
transaction
blockhash
lastValidBlockHeight
}
missionPoolAddress
}
}
Variables
{
"data": NewMissionPoolData,
"lutAddresses": ["abc123"],
"computeUnitPrice": 123
}
Response
{
"data": {
"createCreateMissionPoolTransaction": {
"tx": Transaction,
"missionPoolAddress": Bytes
}
}
}
createUpdateMissionPoolTransaction
Description
Create a transaction for updating a mission pool. Returns a CreateUpdateMissionPoolTransactionResponse object.
Response
Arguments
Name | Description |
---|---|
data - UpdateMissionPoolData! | Metadata for updating the mission pool. Required |
lutAddresses - [String!] | Array of lookup table addresses. Only needed in case the transaction is too large. Optional |
computeUnitPrice - Int | Compute unit price for the transaction. A higher compute unit price will result in a faster transaction when the network is busy. Optional |
Example
Query
query CreateUpdateMissionPoolTransaction(
$data: UpdateMissionPoolData!,
$lutAddresses: [String!],
$computeUnitPrice: Int
) {
createUpdateMissionPoolTransaction(
data: $data,
lutAddresses: $lutAddresses,
computeUnitPrice: $computeUnitPrice
) {
tx {
transaction
blockhash
lastValidBlockHeight
}
}
}
Variables
{
"data": UpdateMissionPoolData,
"lutAddresses": ["xyz789"],
"computeUnitPrice": 123
}
Response
{
"data": {
"createUpdateMissionPoolTransaction": {
"tx": Transaction
}
}
}
createCreateMissionTransaction
Description
Create a transaction for a new mission. Returns a CreateCreateMissionTransactionResponse object.
Response
Returns a CreateCreateMissionTransactionResponse!
Arguments
Name | Description |
---|---|
data - NewMissionData! | Metadata for creating the mission. Required |
lutAddresses - [String!] | Array of lookup table addresses. Only needed in case the transaction is too large. Optional |
computeUnitPrice - Int | Compute unit price for the transaction. A higher compute unit price will result in a faster transaction when the network is busy. Optional |
Example
Query
query CreateCreateMissionTransaction(
$data: NewMissionData!,
$lutAddresses: [String!],
$computeUnitPrice: Int
) {
createCreateMissionTransaction(
data: $data,
lutAddresses: $lutAddresses,
computeUnitPrice: $computeUnitPrice
) {
tx {
transaction
blockhash
lastValidBlockHeight
}
missionAddress
}
}
Variables
{
"data": NewMissionData,
"lutAddresses": ["xyz789"],
"computeUnitPrice": 987
}
Response
{
"data": {
"createCreateMissionTransaction": {
"tx": Transaction,
"missionAddress": Bytes
}
}
}
createUpdateMissionTransaction
Description
Create a transaction for updating an existing mission.
Response
Returns a Transaction!
Arguments
Name | Description |
---|---|
missionAddress - String! | Mission address. Required |
authority - String! | Authority for Mission. Required |
params - UpdateMissionInput! | Update params for the mission. Required |
payer - String | Payer for the transaction. Optional |
delegateAuthority - String | Delegate authority for the mission. Optional |
lutAddresses - [String!] | Array of lookup table addresses. Only needed in case the transaction is too large. Optional |
computeUnitPrice - Int | Compute unit price for the transaction. A higher compute unit price will result in a faster transaction when the network is busy. Optional |
Example
Query
query CreateUpdateMissionTransaction(
$missionAddress: String!,
$authority: String!,
$params: UpdateMissionInput!,
$payer: String,
$delegateAuthority: String,
$lutAddresses: [String!],
$computeUnitPrice: Int
) {
createUpdateMissionTransaction(
missionAddress: $missionAddress,
authority: $authority,
params: $params,
payer: $payer,
delegateAuthority: $delegateAuthority,
lutAddresses: $lutAddresses,
computeUnitPrice: $computeUnitPrice
) {
transaction
blockhash
lastValidBlockHeight
}
}
Variables
{
"missionAddress": "xyz789",
"authority": "xyz789",
"params": UpdateMissionInput,
"payer": "abc123",
"delegateAuthority": "abc123",
"lutAddresses": ["abc123"],
"computeUnitPrice": 123
}
Response
{
"data": {
"createUpdateMissionTransaction": {
"transaction": Bytes,
"blockhash": "xyz789",
"lastValidBlockHeight": 123
}
}
}
createSendCharactersOnMissionTransaction
Description
Create transactions for sending characters on a mission. The characters' character model must be allowed to participate in the mission (see updateMission). Returns a Transactions object.
Response
Returns a Transactions!
Arguments
Name | Description |
---|---|
data - ParticipateOnMissionData! | Metadata for sending characters on a mission. Required |
lutAddresses - [String!] | Array of lookup table addresses. Only needed in case the transaction is too large. Optional |
computeUnitPrice - Int | Compute unit price for the transaction. A higher compute unit price will result in a faster transaction when the network is busy. Optional |
Example
Query
query CreateSendCharactersOnMissionTransaction(
$data: ParticipateOnMissionData!,
$lutAddresses: [String!],
$computeUnitPrice: Int
) {
createSendCharactersOnMissionTransaction(
data: $data,
lutAddresses: $lutAddresses,
computeUnitPrice: $computeUnitPrice
) {
transactions
blockhash
lastValidBlockHeight
}
}
Variables
{
"data": ParticipateOnMissionData,
"lutAddresses": ["abc123"],
"computeUnitPrice": 123
}
Response
{
"data": {
"createSendCharactersOnMissionTransaction": {
"transactions": [Bytes],
"blockhash": "xyz789",
"lastValidBlockHeight": 987
}
}
}
Staking
stakingPools
Description
Fetch staking pools based on provided filters. Returns an array of StakingPool objects.
Response
Returns [StakingPool!]!
Example
Query
query StakingPools(
$addresses: [Bytes!],
$projects: [Pubkey!],
$names: [String!]
) {
stakingPools(
addresses: $addresses,
projects: $projects,
names: $names
) {
address
bump
project
key
resource
lockType {
kind
}
name
rewardsPerDuration
rewardsDuration
maxRewardsDuration
minStakeDuration
cooldownDuration
resetStakeDuration
allowedMints
totalStaked
startTime
endTime
characterModels
}
}
Variables
{
"addresses": [Bytes],
"projects": [Pubkey],
"names": ["xyz789"]
}
Response
{
"data": {
"stakingPools": [
{
"address": Bytes,
"bump": 987,
"project": Pubkey,
"key": Pubkey,
"resource": Pubkey,
"lockType": LockType,
"name": "xyz789",
"rewardsPerDuration": {},
"rewardsDuration": {},
"maxRewardsDuration": {},
"minStakeDuration": {},
"cooldownDuration": {},
"resetStakeDuration": true,
"allowedMints": true,
"totalStaked": {},
"startTime": {},
"endTime": {},
"characterModels": [Pubkey]
}
]
}
}
multipliers
Description
Fetch staking multipliers based on provided filters. Returns an array of Multipliers objects.
Response
Returns [Multipliers!]!
Example
Query
query Multipliers(
$addresses: [Bytes!],
$stakingPools: [Pubkey!]
) {
multipliers(
addresses: $addresses,
stakingPools: $stakingPools
) {
address
bump
stakingPool
decimals
durationMultipliers {
value
multiplierType {
...MultiplierTypeFragment
}
}
countMultipliers {
value
multiplierType {
...MultiplierTypeFragment
}
}
creatorMultipliers {
value
multiplierType {
...MultiplierTypeFragment
}
}
collectionMultipliers {
value
multiplierType {
...MultiplierTypeFragment
}
}
}
}
Variables
{
"addresses": [Bytes],
"stakingPools": [Pubkey]
}
Response
{
"data": {
"multipliers": [
{
"address": Bytes,
"bump": 987,
"stakingPool": Pubkey,
"decimals": 123,
"durationMultipliers": [Multiplier],
"countMultipliers": [Multiplier],
"creatorMultipliers": [Multiplier],
"collectionMultipliers": [Multiplier]
}
]
}
}
stakers
Description
Fetch stakers based on provided filters. Returns an array of Staker objects. Returns an array of Staker objects.
Response
Returns [Staker!]!
Example
Query
query Stakers(
$addresses: [Bytes!],
$stakingPools: [Pubkey!],
$wallets: [Pubkey!]
) {
stakers(
addresses: $addresses,
stakingPools: $stakingPools,
wallets: $wallets
) {
address
bump
stakingPool
wallet
totalStaked
}
}
Variables
{
"addresses": [Bytes],
"stakingPools": [Pubkey],
"wallets": [Pubkey]
}
Response
{
"data": {
"stakers": [
{
"address": Bytes,
"bump": 987,
"stakingPool": Pubkey,
"wallet": Pubkey,
"totalStaked": {}
}
]
}
}
createCreateStakingPoolTransaction
Description
Create a transaction for a new staking pool. Returns a CreateCreateStakingPoolTransactionResponse object.
Response
Arguments
Name | Description |
---|---|
project - String! | Project address. Required |
resource - String! | Resource address. This resource will be used for staking pool rewards. Required |
metadata - CreateStakingPoolMetadataInput! | Metadata information of the staking pool. Required |
authority - String! | Project authority wallet address. Required |
multiplier - InitStakingMultiplierMetadataInput | Metadata information for initializing staking multipliers. Optional |
delegateAuthority - String | Delegate authority for the staking pool. Optional |
payer - String | Payer for the transaction. Optional |
lutAddresses - [String!] | Array of lookup table addresses. Only needed in case the transaction is too large. Optional |
computeUnitPrice - Int | Compute unit price for the transaction. A higher compute unit price will result in a faster transaction when the network is busy. Optional |
Example
Query
query CreateCreateStakingPoolTransaction(
$project: String!,
$resource: String!,
$metadata: CreateStakingPoolMetadataInput!,
$authority: String!,
$multiplier: InitStakingMultiplierMetadataInput,
$delegateAuthority: String,
$payer: String,
$lutAddresses: [String!],
$computeUnitPrice: Int
) {
createCreateStakingPoolTransaction(
project: $project,
resource: $resource,
metadata: $metadata,
authority: $authority,
multiplier: $multiplier,
delegateAuthority: $delegateAuthority,
payer: $payer,
lutAddresses: $lutAddresses,
computeUnitPrice: $computeUnitPrice
) {
transactions {
transactions
blockhash
lastValidBlockHeight
}
stakingPoolAddress
multipliersAddress
}
}
Variables
{
"project": "abc123",
"resource": "xyz789",
"metadata": CreateStakingPoolMetadataInput,
"authority": "xyz789",
"multiplier": InitStakingMultiplierMetadataInput,
"delegateAuthority": "xyz789",
"payer": "xyz789",
"lutAddresses": ["xyz789"],
"computeUnitPrice": 123
}
Response
{
"data": {
"createCreateStakingPoolTransaction": {
"transactions": Transactions,
"stakingPoolAddress": Bytes,
"multipliersAddress": Bytes
}
}
}
createUpdateStakingPoolTransaction
Description
Create a transaction for updating an existing staking pool. Returns a Transaction object.
Response
Returns a Transaction!
Arguments
Name | Description |
---|---|
project - String! | Project PDA address. Required |
stakingPool - String! | Staking pool PDA address. This is the staking pool that will be updated Required |
metadata - UpdateStakingPoolMetadataInput | Metadata information to update for the staking pool. Optional |
authority - String! | Project authority wallet address. Required |
characterModel - String | Character model to add to the staking pool. Optional |
resource - String | Resource address. In case the Resource needs to be updated/replaced. Optional |
delegateAuthority - String | Delegate authority for the staking pool. Optional |
payer - String | Payer for the transaction. Optional |
lutAddresses - [String!] | Array of lookup table addresses. Only needed in case the transaction is too large. Optional |
computeUnitPrice - Int | Compute unit price for the transaction. A higher compute unit price will result in a faster transaction when the network is busy. Optional |
Example
Query
query CreateUpdateStakingPoolTransaction(
$project: String!,
$stakingPool: String!,
$metadata: UpdateStakingPoolMetadataInput,
$authority: String!,
$characterModel: String,
$resource: String,
$delegateAuthority: String,
$payer: String,
$lutAddresses: [String!],
$computeUnitPrice: Int
) {
createUpdateStakingPoolTransaction(
project: $project,
stakingPool: $stakingPool,
metadata: $metadata,
authority: $authority,
characterModel: $characterModel,
resource: $resource,
delegateAuthority: $delegateAuthority,
payer: $payer,
lutAddresses: $lutAddresses,
computeUnitPrice: $computeUnitPrice
) {
transaction
blockhash
lastValidBlockHeight
}
}
Variables
{
"project": "abc123",
"stakingPool": "xyz789",
"metadata": UpdateStakingPoolMetadataInput,
"authority": "xyz789",
"characterModel": "abc123",
"resource": "xyz789",
"delegateAuthority": "abc123",
"payer": "abc123",
"lutAddresses": ["xyz789"],
"computeUnitPrice": 123
}
Response
{
"data": {
"createUpdateStakingPoolTransaction": {
"transaction": Bytes,
"blockhash": "abc123",
"lastValidBlockHeight": 123
}
}
}
createInitMultipliersTransaction
Description
Create a transaction for new staking multipliers. Returns a CreateInitMultipliersTransactionResponse object.
Response
Arguments
Name | Description |
---|---|
project - String! | Project PDA address. Required |
stakingPool - String! | Staking pool PDA address. Required |
decimals - Int! | Number of decimal places for the multipliers. Example: 2 for 0.01; the smallest unit in this case would be 0.01, and passing 1 would mean 1% extra rewards. Required |
multipliers - [AddMultiplierMetadataInput]! | Array of multipliers to add, including metadata information. Required |
authority - String! | Project authority wallet address. Required |
delegateAuthority - String | Delegate authority for the staking pool. Optional |
payer - String | Payer for the transaction. Optional |
lutAddresses - [String!] | Array of lookup table addresses. Only needed in case the transaction is too large. Optional |
computeUnitPrice - Int | Compute unit price for the transaction. A higher compute unit price will result in a faster transaction when the network is busy. Optional |
Example
Query
query CreateInitMultipliersTransaction(
$project: String!,
$stakingPool: String!,
$decimals: Int!,
$multipliers: [AddMultiplierMetadataInput]!,
$authority: String!,
$delegateAuthority: String,
$payer: String,
$lutAddresses: [String!],
$computeUnitPrice: Int
) {
createInitMultipliersTransaction(
project: $project,
stakingPool: $stakingPool,
decimals: $decimals,
multipliers: $multipliers,
authority: $authority,
delegateAuthority: $delegateAuthority,
payer: $payer,
lutAddresses: $lutAddresses,
computeUnitPrice: $computeUnitPrice
) {
tx {
transaction
blockhash
lastValidBlockHeight
}
multipliersAddress
}
}
Variables
{
"project": "xyz789",
"stakingPool": "xyz789",
"decimals": 987,
"multipliers": [AddMultiplierMetadataInput],
"authority": "abc123",
"delegateAuthority": "abc123",
"payer": "abc123",
"lutAddresses": ["abc123"],
"computeUnitPrice": 123
}
Response
{
"data": {
"createInitMultipliersTransaction": {
"tx": Transaction,
"multipliersAddress": Bytes
}
}
}
createAddMultiplierTransaction
Description
Create a transaction for adding a multiplier. Returns a Transaction object.
Response
Returns a Transaction!
Arguments
Name | Description |
---|---|
project - String! | Project PDA address. Required |
multiplier - String! | Multiplier PDA address. Required |
metadata - AddMultiplierMetadataInput! | Metadata information that will be added to the existing multiplier. Required |
authority - String! | Project authority wallet address. Required |
delegateAuthority - String | Delegate authority for the staking pool. Optional |
payer - String | Payer for the transaction. Optional |
lutAddresses - [String!] | Array of lookup table addresses. Only needed in case the transaction is too large. Optional |
computeUnitPrice - Int | Compute unit price for the transaction. A higher compute unit price will result in a faster transaction when the network is busy. Optional |
Example
Query
query CreateAddMultiplierTransaction(
$project: String!,
$multiplier: String!,
$metadata: AddMultiplierMetadataInput!,
$authority: String!,
$delegateAuthority: String,
$payer: String,
$lutAddresses: [String!],
$computeUnitPrice: Int
) {
createAddMultiplierTransaction(
project: $project,
multiplier: $multiplier,
metadata: $metadata,
authority: $authority,
delegateAuthority: $delegateAuthority,
payer: $payer,
lutAddresses: $lutAddresses,
computeUnitPrice: $computeUnitPrice
) {
transaction
blockhash
lastValidBlockHeight
}
}
Variables
{
"project": "abc123",
"multiplier": "abc123",
"metadata": AddMultiplierMetadataInput,
"authority": "xyz789",
"delegateAuthority": "abc123",
"payer": "xyz789",
"lutAddresses": ["xyz789"],
"computeUnitPrice": 987
}
Response
{
"data": {
"createAddMultiplierTransaction": {
"transaction": Bytes,
"blockhash": "xyz789",
"lastValidBlockHeight": 987
}
}
}
createStakeCharactersTransactions
Description
Create transactions for staking characters on an existing staking pool. The characters' character model must be allowed to stake on the staking pool (see updateStakingPool). Returns a Transactions object.
Response
Returns a Transactions!
Arguments
Name | Description |
---|---|
characterAddresses - [String!]! | Array of character addresses. Required |
project - String! | Project address. Required |
characterModel - String! | Character model associated with the characters. Required |
stakingPool - String! | Staking pool PDA address. The characters' character model should be allowed to stake on this staking pool. Required |
feePayer - String | Fee payer for the transactions. Optional |
lutAddresses - [String!] | Array of lookup table addresses. Only needed in case the transaction is too large. Optional |
computeUnitPrice - Int | Compute unit price for the transaction. A higher compute unit price will result in a faster transaction when the network is busy. Optional |
Example
Query
query CreateStakeCharactersTransactions(
$characterAddresses: [String!]!,
$project: String!,
$characterModel: String!,
$stakingPool: String!,
$feePayer: String,
$lutAddresses: [String!],
$computeUnitPrice: Int
) {
createStakeCharactersTransactions(
characterAddresses: $characterAddresses,
project: $project,
characterModel: $characterModel,
stakingPool: $stakingPool,
feePayer: $feePayer,
lutAddresses: $lutAddresses,
computeUnitPrice: $computeUnitPrice
) {
transactions
blockhash
lastValidBlockHeight
}
}
Variables
{
"characterAddresses": ["abc123"],
"project": "xyz789",
"characterModel": "abc123",
"stakingPool": "abc123",
"feePayer": "abc123",
"lutAddresses": ["xyz789"],
"computeUnitPrice": 123
}
Response
{
"data": {
"createStakeCharactersTransactions": {
"transactions": [Bytes],
"blockhash": "abc123",
"lastValidBlockHeight": 123
}
}
}
createClaimStakingRewardsTransactions
Description
Create transactions for claiming staking rewards. Returns a Transactions object.
Response
Returns a Transactions!
Arguments
Name | Description |
---|---|
characterAddresses - [String!]! | Array of character addresses to claim rewards for. Required |
characterModel - String! | Character model associated with the characters. Required |
feePayer - String | Fee payer for the transactions. Optional |
lutAddresses - [String!] | Array of lookup table addresses. Only needed in case the transaction is too large. Optional |
computeUnitPrice - Int | Compute unit price for the transaction. A higher compute unit price will result in a faster transaction when the network is busy. Optional |
Example
Query
query CreateClaimStakingRewardsTransactions(
$characterAddresses: [String!]!,
$characterModel: String!,
$feePayer: String,
$lutAddresses: [String!],
$computeUnitPrice: Int
) {
createClaimStakingRewardsTransactions(
characterAddresses: $characterAddresses,
characterModel: $characterModel,
feePayer: $feePayer,
lutAddresses: $lutAddresses,
computeUnitPrice: $computeUnitPrice
) {
transactions
blockhash
lastValidBlockHeight
}
}
Variables
{
"characterAddresses": ["xyz789"],
"characterModel": "xyz789",
"feePayer": "xyz789",
"lutAddresses": ["xyz789"],
"computeUnitPrice": 123
}
Response
{
"data": {
"createClaimStakingRewardsTransactions": {
"transactions": [Bytes],
"blockhash": "abc123",
"lastValidBlockHeight": 987
}
}
}
createUnstakeCharactersTransactions
Description
Create transactions for unstaking characters. Returns a Transactions object.
Response
Returns a Transactions!
Arguments
Name | Description |
---|---|
characterAddresses - [String!]! | Array of character addresses to unstake. Required |
characterModel - String! | Character model associated with the characters. Required |
feePayer - String | Fee payer for the transactions. Optional |
lutAddresses - [String!] | Array of lookup table addresses. Only needed in case the transaction is too large. Optional |
computeUnitPrice - Int | Compute unit price for the transaction. A higher compute unit price will result in a faster transaction when the network is busy. Optional |
Example
Query
query CreateUnstakeCharactersTransactions(
$characterAddresses: [String!]!,
$characterModel: String!,
$feePayer: String,
$lutAddresses: [String!],
$computeUnitPrice: Int
) {
createUnstakeCharactersTransactions(
characterAddresses: $characterAddresses,
characterModel: $characterModel,
feePayer: $feePayer,
lutAddresses: $lutAddresses,
computeUnitPrice: $computeUnitPrice
) {
transactions
blockhash
lastValidBlockHeight
}
}
Variables
{
"characterAddresses": ["xyz789"],
"characterModel": "abc123",
"feePayer": "abc123",
"lutAddresses": ["xyz789"],
"computeUnitPrice": 987
}
Response
{
"data": {
"createUnstakeCharactersTransactions": {
"transactions": [Bytes],
"blockhash": "abc123",
"lastValidBlockHeight": 123
}
}
}
Character
characterTrait
Description
Fetch character traits based on provided filters. Returns an array of CharacterTrait objects.
Response
Returns [CharacterTrait!]!
Example
Query
query CharacterTrait(
$addresses: [Bytes!],
$trees: [Bytes!],
$includeProof: Boolean
) {
characterTrait(
addresses: $addresses,
trees: $trees,
includeProof: $includeProof
) {
address
tree_id
leaf_idx
label
name
uri
proof {
root
proof
node_index
leaf
maxDepth
leaf_index
tree_id
canopy_depth
}
}
}
Variables
{
"addresses": [Bytes],
"trees": [Bytes],
"includeProof": true
}
Response
{
"data": {
"characterTrait": [
{
"address": Bytes,
"tree_id": Bytes,
"leaf_idx": {},
"label": "abc123",
"name": "xyz789",
"uri": "xyz789",
"proof": Proof
}
]
}
}
characterModel
Description
Fetch character models based on provided filters. Returns an array of CharacterModel objects.
Response
Returns [CharacterModel!]!
Example
Query
query CharacterModel(
$addresses: [Bytes!],
$project: Pubkey
) {
characterModel(
addresses: $addresses,
project: $project
) {
address
program_id
discriminator
bump
key
project
config {
... on CharacterConfigWrapped {
...CharacterConfigWrappedFragment
}
... on CharacterConfigAssembled {
...CharacterConfigAssembledFragment
}
}
attributes
merkle_trees {
active
schema
merkle_trees
}
}
}
Variables
{
"addresses": [Bytes],
"project": Pubkey
}
Response
{
"data": {
"characterModel": [
{
"address": Bytes,
"program_id": Bytes,
"discriminator": Bytes,
"bump": 987,
"key": Pubkey,
"project": Pubkey,
"config": CharacterConfigWrapped,
"attributes": VecMapGeneric,
"merkle_trees": ControlledMerkleTrees
}
]
}
}
character
Description
Fetch characters based on provided filters. Returns an array of Character objects.
Response
Returns [Character!]!
Arguments
Name | Description |
---|---|
addresses - [Bytes!] | Array of character addresses. Optional |
filters - CharactersFilter | Additional filter criteria for fetching characters. Optional |
trees - [Bytes!] | Array of tree addresses to filter characters. Any characters stored in these trees will be fetched. Optional |
wallets - [Pubkey!] | Array of owner wallet addresses to filter characters. Any characters these wallet adddresses own will be fetched. Optional |
mints - [Pubkey!] | Array of NFT/cNFT mint addresses to filter characters. Note that this is different from the character addresses. Mints in this context refer to the NFT/cNFT addresses before they were used to create a character. Optional |
attributeHashes - [Pubkey!] | Array of attribute hashes to filter characters by. Optional |
includeProof - Boolean | Whether to include proof in the response. Defaults to false. Optional |
Example
Query
query Character(
$addresses: [Bytes!],
$filters: CharactersFilter,
$trees: [Bytes!],
$wallets: [Pubkey!],
$mints: [Pubkey!],
$attributeHashes: [Pubkey!],
$includeProof: Boolean
) {
character(
addresses: $addresses,
filters: $filters,
trees: $trees,
wallets: $wallets,
mints: $mints,
attributeHashes: $attributeHashes,
includeProof: $includeProof
) {
address
tree_id
leaf_idx
owner
source {
kind
params {
... on Wrapped {
...WrappedFragment
}
... on Assembled {
...AssembledFragment
}
}
}
usedBy {
kind
params {
... on UsedByStaking {
...UsedByStakingFragment
}
... on UsedByMission {
...UsedByMissionFragment
}
... on UsedByGuild {
...UsedByGuildFragment
}
... on UsedByEjected {
...UsedByEjectedFragment
}
... on UsedByCustom {
...UsedByCustomFragment
}
}
}
proof {
root
proof
node_index
leaf
maxDepth
leaf_index
tree_id
canopy_depth
}
asset
}
}
Variables
{
"addresses": [Bytes],
"filters": CharactersFilter,
"trees": [Bytes],
"wallets": [Pubkey],
"mints": [Pubkey],
"attributeHashes": [Pubkey],
"includeProof": true
}
Response
{
"data": {
"character": [
{
"address": Bytes,
"tree_id": Bytes,
"leaf_idx": {},
"owner": Pubkey,
"source": CharacterSource,
"usedBy": CharacterUsedBy,
"proof": Proof,
"asset": {}
}
]
}
}
characterHistory
Description
Fetch character history based on provided filters. Returns an array of CharacterHistory objects.
Response
Returns [CharacterHistory!]!
Example
Query
query CharacterHistory(
$addresses: [Bytes!]!,
$event: [String!]
) {
characterHistory(
addresses: $addresses,
event: $event
) {
address
event
event_data
time
}
}
Variables
{
"addresses": [Bytes],
"event": ["xyz789"]
}
Response
{
"data": {
"characterHistory": [
{
"address": Bytes,
"event": "xyz789",
"event_data": {},
"time": "xyz789"
}
]
}
}
createAddCharacterTraitsTransactions
Description
Create transactions for adding character traits. Returns a Transactions object.
Response
Returns a Transactions!
Arguments
Name | Description |
---|---|
assemblerConfig - String! | Assembler config address. Required |
traits - [CharacterTraitInput!]! | Array of character traits to add to the assembler config. Required |
authority - String! | Project authority's public key. Required |
payer - String | Payer for the transaction. Optional |
lutAddresses - [String!] | Array of lookup table addresses. Only needed in case the transaction is too large. Optional |
computeUnitPrice - Int | Compute unit price for the transaction. A higher compute unit price will result in a faster transaction when the network is busy. Optional |
Example
Query
query CreateAddCharacterTraitsTransactions(
$assemblerConfig: String!,
$traits: [CharacterTraitInput!]!,
$authority: String!,
$payer: String,
$lutAddresses: [String!],
$computeUnitPrice: Int
) {
createAddCharacterTraitsTransactions(
assemblerConfig: $assemblerConfig,
traits: $traits,
authority: $authority,
payer: $payer,
lutAddresses: $lutAddresses,
computeUnitPrice: $computeUnitPrice
) {
transactions
blockhash
lastValidBlockHeight
}
}
Variables
{
"assemblerConfig": "xyz789",
"traits": [CharacterTraitInput],
"authority": "xyz789",
"payer": "xyz789",
"lutAddresses": ["abc123"],
"computeUnitPrice": 123
}
Response
{
"data": {
"createAddCharacterTraitsTransactions": {
"transactions": [Bytes],
"blockhash": "xyz789",
"lastValidBlockHeight": 987
}
}
}
createRemoveCharacterTraitsTransactions
Description
Create transactions for removing character traits. Returns an array of Transactions objects.
Response
Returns a Transactions!
Arguments
Name | Description |
---|---|
assemblerConfig - String! | Assembler config address. Required |
traitsAddresses - [String!]! | Array of character traits Addresses to remove from the assembler config. Required |
authority - String! | Project authority's public key. Required |
payer - String | Payer for the transaction. Optional |
lutAddresses - [String!] | Array of lookup table addresses. Only needed in case the transaction is too large. Optional |
computeUnitPrice - Int | Compute unit price for the transaction. A higher compute unit price will result in a faster transaction when the network is busy. Optional |
Example
Query
query CreateRemoveCharacterTraitsTransactions(
$assemblerConfig: String!,
$traitsAddresses: [String!]!,
$authority: String!,
$payer: String,
$lutAddresses: [String!],
$computeUnitPrice: Int
) {
createRemoveCharacterTraitsTransactions(
assemblerConfig: $assemblerConfig,
traitsAddresses: $traitsAddresses,
authority: $authority,
payer: $payer,
lutAddresses: $lutAddresses,
computeUnitPrice: $computeUnitPrice
) {
transactions
blockhash
lastValidBlockHeight
}
}
Variables
{
"assemblerConfig": "xyz789",
"traitsAddresses": ["xyz789"],
"authority": "xyz789",
"payer": "xyz789",
"lutAddresses": ["abc123"],
"computeUnitPrice": 123
}
Response
{
"data": {
"createRemoveCharacterTraitsTransactions": {
"transactions": [Bytes],
"blockhash": "abc123",
"lastValidBlockHeight": 123
}
}
}
createCreateCharacterModelTransaction
Description
Create a transaction for a new character model. Returns a CreateCharacterModelTransactionResponse object.
Response
Returns a CreateCharacterModelTransactionResponse!
Arguments
Name | Description |
---|---|
config - CharacterConfigInput! | Configuration options for the characters that will be created using this model. Required |
attributes - VecMapGeneric | Attributes for the character model. Optional |
project - String! | Project PDA address. Required |
authority - String! | Project authority's public key. Required |
payer - String | Payer for the transaction. Optional |
lutAddresses - [String!] | Array of lookup table addresses. Only needed in case the transaction is too large. Optional |
computeUnitPrice - Int | Compute unit price for the transaction. A higher compute unit price will result in a faster transaction when the network is busy. Optional |
Example
Query
query CreateCreateCharacterModelTransaction(
$config: CharacterConfigInput!,
$attributes: VecMapGeneric,
$project: String!,
$authority: String!,
$payer: String,
$lutAddresses: [String!],
$computeUnitPrice: Int
) {
createCreateCharacterModelTransaction(
config: $config,
attributes: $attributes,
project: $project,
authority: $authority,
payer: $payer,
lutAddresses: $lutAddresses,
computeUnitPrice: $computeUnitPrice
) {
tx {
transaction
blockhash
lastValidBlockHeight
}
characterModel
}
}
Variables
{
"config": CharacterConfigInput,
"attributes": VecMapGeneric,
"project": "abc123",
"authority": "xyz789",
"payer": "abc123",
"lutAddresses": ["xyz789"],
"computeUnitPrice": 987
}
Response
{
"data": {
"createCreateCharacterModelTransaction": {
"tx": Transaction,
"characterModel": Bytes
}
}
}
createCreateCharactersTreeTransaction
Description
Create a transaction for a new characters tree. Character trees are used to store character ownership and usage information for characters that belong to a certain character model. Returns a Transaction object.
Response
Returns a TreeSetupResponse!
Arguments
Name | Description |
---|---|
treeConfig - TreeSetupConfig! | Configuration settings for the tree. Requires either the basic or advanced config. Required |
project - String! | Project PDA address. Required |
characterModel - String! | Character model address. All characters that get created based on this model will be saved in this tree. Required |
authority - String! | Project authority public key. Required |
payer - String | Payer for the transaction. Optional |
lutAddresses - [String!] | Array of lookup table addresses. Only needed in case the transaction is too large. Optional |
computeUnitPrice - Int | Compute unit price for the transaction. A higher compute unit price will result in a faster transaction when the network is busy. Optional |
Example
Query
query CreateCreateCharactersTreeTransaction(
$treeConfig: TreeSetupConfig!,
$project: String!,
$characterModel: String!,
$authority: String!,
$payer: String,
$lutAddresses: [String!],
$computeUnitPrice: Int
) {
createCreateCharactersTreeTransaction(
treeConfig: $treeConfig,
project: $project,
characterModel: $characterModel,
authority: $authority,
payer: $payer,
lutAddresses: $lutAddresses,
computeUnitPrice: $computeUnitPrice
) {
tx {
transaction
blockhash
lastValidBlockHeight
}
treeAddress
proofBytes
space
cost
maxTreeCapacity
}
}
Variables
{
"treeConfig": TreeSetupConfig,
"project": "xyz789",
"characterModel": "abc123",
"authority": "abc123",
"payer": "abc123",
"lutAddresses": ["xyz789"],
"computeUnitPrice": 987
}
Response
{
"data": {
"createCreateCharactersTreeTransaction": {
"tx": Transaction,
"treeAddress": Bytes,
"proofBytes": 987,
"space": 987,
"cost": 123.45,
"maxTreeCapacity": 123
}
}
}
createAssembleCharacterTransaction
Description
Create a transaction for assembling a character. Returns a Transaction object.
Response
Returns a Transaction!
Arguments
Name | Description |
---|---|
attributes - VecMapGeneric! | Array of attributes to associate with the character. These attributes and their values must already exist in the assembler. Required |
project - String! | Project PDA address. Required |
assemblerConfig - String! | Character assembler address. Required |
characterModel - String! | Character model address. This model will be used to create the character. Required |
charactersTree - String! | Address of the characters tree in which this character will be stored. This tree should already exist and be associated with the provided character model. Required |
wallet - String! | Wallet address for which this character will be created. Required |
lutAddresses - [String!] | Array of lookup table addresses. Only needed in case the transaction is too large. Optional |
computeUnitPrice - Int | Compute unit price for the transaction. A higher compute unit price will result in a faster transaction when the network is busy. Optional |
Example
Query
query CreateAssembleCharacterTransaction(
$attributes: VecMapGeneric!,
$project: String!,
$assemblerConfig: String!,
$characterModel: String!,
$charactersTree: String!,
$wallet: String!,
$lutAddresses: [String!],
$computeUnitPrice: Int
) {
createAssembleCharacterTransaction(
attributes: $attributes,
project: $project,
assemblerConfig: $assemblerConfig,
characterModel: $characterModel,
charactersTree: $charactersTree,
wallet: $wallet,
lutAddresses: $lutAddresses,
computeUnitPrice: $computeUnitPrice
) {
transaction
blockhash
lastValidBlockHeight
}
}
Variables
{
"attributes": VecMapGeneric,
"project": "xyz789",
"assemblerConfig": "abc123",
"characterModel": "abc123",
"charactersTree": "xyz789",
"wallet": "abc123",
"lutAddresses": ["abc123"],
"computeUnitPrice": 123
}
Response
{
"data": {
"createAssembleCharacterTransaction": {
"transaction": Bytes,
"blockhash": "abc123",
"lastValidBlockHeight": 987
}
}
}
createUpdateCharacterTraitsTransaction
Description
Create a transaction for updating a character's traits. Returns a Transaction object.
Response
Returns a Transaction!
Arguments
Name | Description |
---|---|
characterAddress - String! | Character address. This character will be updated. Required |
attributes - VecMapGeneric! | Array of attributes to update for the character. These attributes must already exist in the assembler config. Required |
project - String! | Project PDA address. Required |
assemblerConfig - String! | Assembler config address. Required |
characterModel - String! | Character model address. This model will be used to create the character. Required |
charactersTree - String! | Characters tree address. This tree should already exist and be associated with the provided character model. Required |
wallet - String! | Wallet address of the character owner. Required |
lutAddresses - [String!] | Array of lookup table addresses. Only needed in case the transaction is too large. Optional |
computeUnitPrice - Int | Compute unit price for the transaction. A higher compute unit price will result in a faster transaction when the network is busy. Optional |
Example
Query
query CreateUpdateCharacterTraitsTransaction(
$characterAddress: String!,
$attributes: VecMapGeneric!,
$project: String!,
$assemblerConfig: String!,
$characterModel: String!,
$charactersTree: String!,
$wallet: String!,
$lutAddresses: [String!],
$computeUnitPrice: Int
) {
createUpdateCharacterTraitsTransaction(
characterAddress: $characterAddress,
attributes: $attributes,
project: $project,
assemblerConfig: $assemblerConfig,
characterModel: $characterModel,
charactersTree: $charactersTree,
wallet: $wallet,
lutAddresses: $lutAddresses,
computeUnitPrice: $computeUnitPrice
) {
transaction
blockhash
lastValidBlockHeight
}
}
Variables
{
"characterAddress": "abc123",
"attributes": VecMapGeneric,
"project": "abc123",
"assemblerConfig": "xyz789",
"characterModel": "xyz789",
"charactersTree": "xyz789",
"wallet": "xyz789",
"lutAddresses": ["abc123"],
"computeUnitPrice": 123
}
Response
{
"data": {
"createUpdateCharacterTraitsTransaction": {
"transaction": Bytes,
"blockhash": "abc123",
"lastValidBlockHeight": 987
}
}
}
createPopulateAssembleablCharacterTransaction
Description
Create a transaction for populating an assembleable character. Returns a Transaction object.
Response
Returns a Transaction!
Arguments
Name | Description |
---|---|
attributes - VecMapGeneric! | Array of attributes to associate with the character. Required |
project - String! | Project PDA address. Required |
characterModel - String! | Character model address. This model will be used to create the character. Required |
charactersTree - String! | Characters tree address. This tree should already exist and be associated with the provided character model. Required |
mint - String! | NFT/cNFT mint address. This NFT should fit the criteria defined in the character model. Required |
owner - String! | Wallet address for which this character will be created. Required |
updateAuthority - String! | Character's update authority. Required |
payer - String | Payer for the transaction. Optional |
lutAddresses - [String!] | Array of lookup table addresses. Only needed in case the transaction is too large. Optional |
computeUnitPrice - Int | Compute unit price for the transaction. A higher compute unit price will result in a faster transaction when the network is busy. Optional |
Example
Query
query CreatePopulateAssembleablCharacterTransaction(
$attributes: VecMapGeneric!,
$project: String!,
$characterModel: String!,
$charactersTree: String!,
$mint: String!,
$owner: String!,
$updateAuthority: String!,
$payer: String,
$lutAddresses: [String!],
$computeUnitPrice: Int
) {
createPopulateAssembleablCharacterTransaction(
attributes: $attributes,
project: $project,
characterModel: $characterModel,
charactersTree: $charactersTree,
mint: $mint,
owner: $owner,
updateAuthority: $updateAuthority,
payer: $payer,
lutAddresses: $lutAddresses,
computeUnitPrice: $computeUnitPrice
) {
transaction
blockhash
lastValidBlockHeight
}
}
Variables
{
"attributes": VecMapGeneric,
"project": "abc123",
"characterModel": "xyz789",
"charactersTree": "abc123",
"mint": "abc123",
"owner": "abc123",
"updateAuthority": "xyz789",
"payer": "abc123",
"lutAddresses": ["abc123"],
"computeUnitPrice": 123
}
Response
{
"data": {
"createPopulateAssembleablCharacterTransaction": {
"transaction": Bytes,
"blockhash": "xyz789",
"lastValidBlockHeight": 987
}
}
}
createWrapAssetsToCharacterTransactions
Description
Create transactions for wrapping assets to a character. Wrapping freezes the assets and creates a new character. Returns a Transactions object.
Response
Returns a Transactions!
Arguments
Name | Description |
---|---|
mintList - [String!]! | Array of NFT/cNFT addresses to create characters from. These NFTs should fit the criteria defined in the character model. Required |
project - String! | Project PDA address. Required |
characterModel - String! | Character model address. This model will be used to create the character. Required |
wallet - String! | |
libreplexDeployment - String | Libreplex deployment identifier. Optional |
lutAddresses - [String!] | Array of lookup table addresses. Only needed in case the transaction is too large. Optional |
computeUnitPrice - Int | Compute unit price for the transaction. A higher compute unit price will result in a faster transaction when the network is busy. Optional |
Example
Query
query CreateWrapAssetsToCharacterTransactions(
$mintList: [String!]!,
$project: String!,
$characterModel: String!,
$wallet: String!,
$libreplexDeployment: String,
$lutAddresses: [String!],
$computeUnitPrice: Int
) {
createWrapAssetsToCharacterTransactions(
mintList: $mintList,
project: $project,
characterModel: $characterModel,
wallet: $wallet,
libreplexDeployment: $libreplexDeployment,
lutAddresses: $lutAddresses,
computeUnitPrice: $computeUnitPrice
) {
transactions
blockhash
lastValidBlockHeight
}
}
Variables
{
"mintList": ["xyz789"],
"project": "xyz789",
"characterModel": "abc123",
"wallet": "xyz789",
"libreplexDeployment": "abc123",
"lutAddresses": ["abc123"],
"computeUnitPrice": 123
}
Response
{
"data": {
"createWrapAssetsToCharacterTransactions": {
"transactions": [Bytes],
"blockhash": "xyz789",
"lastValidBlockHeight": 987
}
}
}
createUnwrapAssetsFromCharacterTransactions
Description
Create transactions for unwrapping assets from a character. Unwrapping unfreezes the assets and removes the character from Honeycomb. Returns a Transactions object.
Response
Returns a Transactions!
Arguments
Name | Description |
---|---|
characterAddresses - [String!]! | Array of character addresses. These characters will be unwrapped. Required |
project - String! | Project PDA address. Required |
characterModel - String! | Character model address. This is the model that was used when wrapping the character. Required |
wallet - String! | Character owner's wallet address. Required |
libreplexDeployment - String | Libreplex deployment identifier. Optional |
lutAddresses - [String!] | Array of lookup table addresses. Only needed in case the transaction is too large. Optional |
computeUnitPrice - Int | Compute unit price for the transaction. A higher compute unit price will result in a faster transaction when the network is busy. Optional |
Example
Query
query CreateUnwrapAssetsFromCharacterTransactions(
$characterAddresses: [String!]!,
$project: String!,
$characterModel: String!,
$wallet: String!,
$libreplexDeployment: String,
$lutAddresses: [String!],
$computeUnitPrice: Int
) {
createUnwrapAssetsFromCharacterTransactions(
characterAddresses: $characterAddresses,
project: $project,
characterModel: $characterModel,
wallet: $wallet,
libreplexDeployment: $libreplexDeployment,
lutAddresses: $lutAddresses,
computeUnitPrice: $computeUnitPrice
) {
transactions
blockhash
lastValidBlockHeight
}
}
Variables
{
"characterAddresses": ["abc123"],
"project": "xyz789",
"characterModel": "xyz789",
"wallet": "xyz789",
"libreplexDeployment": "abc123",
"lutAddresses": ["xyz789"],
"computeUnitPrice": 123
}
Response
{
"data": {
"createUnwrapAssetsFromCharacterTransactions": {
"transactions": [Bytes],
"blockhash": "abc123",
"lastValidBlockHeight": 123
}
}
}
createRecallCharactersTransaction
Description
Create transactions for recalling characters from a mission. If the characters are eligible for rewards, they'll be claimed as well. Returns a Transactions object.
Response
Returns a Transactions!
Arguments
Name | Description |
---|---|
data - RecallFromMissionData! | Metadata for recalling characters from a mission. Required |
lutAddresses - [String!] | Array of lookup table addresses. Only needed in case the transaction is too large. Optional |
computeUnitPrice - Int | Compute unit price for the transaction. A higher compute unit price will result in a faster transaction when the network is busy. Optional |
Example
Query
query CreateRecallCharactersTransaction(
$data: RecallFromMissionData!,
$lutAddresses: [String!],
$computeUnitPrice: Int
) {
createRecallCharactersTransaction(
data: $data,
lutAddresses: $lutAddresses,
computeUnitPrice: $computeUnitPrice
) {
transactions
blockhash
lastValidBlockHeight
}
}
Variables
{
"data": RecallFromMissionData,
"lutAddresses": ["abc123"],
"computeUnitPrice": 987
}
Response
{
"data": {
"createRecallCharactersTransaction": {
"transactions": [Bytes],
"blockhash": "abc123",
"lastValidBlockHeight": 123
}
}
}
Utils
sendTransactionBundles
Description
Execute transactions Bundles on the Solana blockchain. Used after creating a transaction with the other APIs and signing it.
Response
Returns [TransactionBundleResponse!]!
Arguments
Name | Description |
---|---|
txs - [Bytes!]! | Array of serialized transactions to send. Required |
blockhash - String! | Blockhash associated with the transactions. Required |
lastValidBlockHeight - Int! | Block height associated with the transactions. Required |
options - SendTransactionBundlesOptions | Options for sending the transaction bundles. Optional |
Example
Query
query SendTransactionBundles(
$txs: [Bytes!]!,
$blockhash: String!,
$lastValidBlockHeight: Int!,
$options: SendTransactionBundlesOptions
) {
sendTransactionBundles(
txs: $txs,
blockhash: $blockhash,
lastValidBlockHeight: $lastValidBlockHeight,
options: $options
) {
bundleId
responses {
signature
error
status
}
}
}
Variables
{
"txs": [Bytes],
"blockhash": "abc123",
"lastValidBlockHeight": 987,
"options": SendTransactionBundlesOptions
}
Response
{
"data": {
"sendTransactionBundles": [
{
"bundleId": 987,
"responses": [TransactionResponse]
}
]
}
}
signWithShadowSignerAndSendTransactionBundles
Description
Execute transactions Bundles on the Solana blockchain. Used after creating a transaction with the other APIs. The transactions don't need to be signed because a shadow signer (if available) will be used to sign them. Using shadow signers requires prior authentication, see authRequest.
Response
Returns [TransactionBundleResponse!]!
Arguments
Name | Description |
---|---|
txs - [Bytes!]! | Array of serialized transactions to send. Required |
blockhash - String! | Blockhash associated with the transactions. Required |
lastValidBlockHeight - Int! | Block height associated with the transactions. Required |
authToken - String! | Wallet authentication token. Acquired after authenticating with authRequest. Required |
options - SendTransactionBundlesOptions | Options for sending the transaction bundles. Optional |
Example
Query
query SignWithShadowSignerAndSendTransactionBundles(
$txs: [Bytes!]!,
$blockhash: String!,
$lastValidBlockHeight: Int!,
$authToken: String!,
$options: SendTransactionBundlesOptions
) {
signWithShadowSignerAndSendTransactionBundles(
txs: $txs,
blockhash: $blockhash,
lastValidBlockHeight: $lastValidBlockHeight,
authToken: $authToken,
options: $options
) {
bundleId
responses {
signature
error
status
}
}
}
Variables
{
"txs": [Bytes],
"blockhash": "xyz789",
"lastValidBlockHeight": 987,
"authToken": "xyz789",
"options": SendTransactionBundlesOptions
}
Response
{
"data": {
"signWithShadowSignerAndSendTransactionBundles": [
{
"bundleId": 987,
"responses": [TransactionResponse]
}
]
}
}
sendBulkTransactions
sendTransactionBundles
. Description
Send bulk transactions (deprecated). Instead of using this, use sendTransactionBundles.
Response
Returns [TransactionResponse!]!
Arguments
Name | Description |
---|---|
txs - [Bytes!]! | Array of serialized transactions to send. Required |
blockhash - String! | Blockhash associated with the transactions. Required |
lastValidBlockHeight - Int! | Block height associated with the transactions. Required |
options - SendTransactionBundlesOptions | Options for sending the transactions. Optional |
Example
Query
query SendBulkTransactions(
$txs: [Bytes!]!,
$blockhash: String!,
$lastValidBlockHeight: Int!,
$options: SendTransactionBundlesOptions
) {
sendBulkTransactions(
txs: $txs,
blockhash: $blockhash,
lastValidBlockHeight: $lastValidBlockHeight,
options: $options
) {
signature
error
status
}
}
Variables
{
"txs": [Bytes],
"blockhash": "abc123",
"lastValidBlockHeight": 987,
"options": SendTransactionBundlesOptions
}
Response
{
"data": {
"sendBulkTransactions": [
{
"signature": "xyz789",
"error": {},
"status": "xyz789"
}
]
}
}
signWithShadowSignerAndSendBulkTransactions
signWithShadowSignerAndSendTransactionBundles
. Description
Sign with shadow signer and send bulk transactions (deprecated). Instead of using this, use signWithShadowSignerAndSendTransactionBundles.
Response
Returns [TransactionResponse!]!
Arguments
Name | Description |
---|---|
txs - [Bytes!]! | Array of serialized transactions to send. Required |
blockhash - String! | Blockhash associated with the transactions. Required |
lastValidBlockHeight - Int! | Block height associated with the transactions. Required |
options - SendTransactionBundlesOptions |
Example
Query
query SignWithShadowSignerAndSendBulkTransactions(
$txs: [Bytes!]!,
$blockhash: String!,
$lastValidBlockHeight: Int!,
$options: SendTransactionBundlesOptions
) {
signWithShadowSignerAndSendBulkTransactions(
txs: $txs,
blockhash: $blockhash,
lastValidBlockHeight: $lastValidBlockHeight,
options: $options
) {
signature
error
status
}
}
Variables
{
"txs": [Bytes],
"blockhash": "xyz789",
"lastValidBlockHeight": 987,
"options": SendTransactionBundlesOptions
}
Response
{
"data": {
"signWithShadowSignerAndSendBulkTransactions": [
{
"signature": "xyz789",
"error": {},
"status": "abc123"
}
]
}
}
global
Description
Fetch the Hive Control global account. This is a very low-level API and used internally by the Honeycomb Protocol team.
Response
Returns a Global!
Arguments
Name | Description |
---|---|
env - String | Environment to fetch global configuration for. Optional |
Example
Query
query Global($env: String) {
global(env: $env) {
address
bump
config
userTrees {
active
schema
merkle_trees
}
totalUsers
}
}
Variables
{"env": "xyz789"}
Response
{
"data": {
"global": {
"address": Bytes,
"bump": 987,
"config": VecMap,
"userTrees": ControlledMerkleTrees,
"totalUsers": 987
}
}
}
createInitializeFaucetTransaction
Description
Create a transaction for a new faucet. Returns a CreateInitializeFaucetTransactionResponse object.
Response
Arguments
Name | Description |
---|---|
resource - String! | Resource PDA address. The faucet will be created for this resource. Required |
amount - Int! | Amount of resource to distribute through the faucet. Required |
repeatInterval - Int! | The interval at which the faucet will distribute resources. Required |
authority - String! | Project authority wallet address. Required |
delegateAuthority - String | Delegate authority for the faucet. Optional |
payer - String | Payer for the transaction. Optional |
lutAddresses - [String!] | Array of lookup table addresses. Only needed in case the transaction is too large. Optional |
computeUnitPrice - Int | Compute unit price for the transaction. A higher compute unit price will result in a faster transaction when the network is busy. Optional |
Example
Query
query CreateInitializeFaucetTransaction(
$resource: String!,
$amount: Int!,
$repeatInterval: Int!,
$authority: String!,
$delegateAuthority: String,
$payer: String,
$lutAddresses: [String!],
$computeUnitPrice: Int
) {
createInitializeFaucetTransaction(
resource: $resource,
amount: $amount,
repeatInterval: $repeatInterval,
authority: $authority,
delegateAuthority: $delegateAuthority,
payer: $payer,
lutAddresses: $lutAddresses,
computeUnitPrice: $computeUnitPrice
) {
tx {
transaction
blockhash
lastValidBlockHeight
}
faucet
}
}
Variables
{
"resource": "xyz789",
"amount": 123,
"repeatInterval": 123,
"authority": "abc123",
"delegateAuthority": "abc123",
"payer": "abc123",
"lutAddresses": ["xyz789"],
"computeUnitPrice": 987
}
Response
{
"data": {
"createInitializeFaucetTransaction": {
"tx": Transaction,
"faucet": Bytes
}
}
}
createClaimFaucetTransaction
Description
Create a transaction for claiming a resource from an existing faucet. Returns a Transaction object.
Response
Returns a Transaction!
Arguments
Name | Description |
---|---|
faucet - String! | Faucet PDA address. Required |
owner - String! | Recipient address to claim the resource to. Required |
payer - String | Payer for the transaction. Optional |
lutAddresses - [String!] | Array of lookup table addresses. Only needed in case the transaction is too large. Optional |
computeUnitPrice - Int | Compute unit price for the transaction. A higher compute unit price will result in a faster transaction when the network is busy. Optional |
Example
Query
query CreateClaimFaucetTransaction(
$faucet: String!,
$owner: String!,
$payer: String,
$lutAddresses: [String!],
$computeUnitPrice: Int
) {
createClaimFaucetTransaction(
faucet: $faucet,
owner: $owner,
payer: $payer,
lutAddresses: $lutAddresses,
computeUnitPrice: $computeUnitPrice
) {
transaction
blockhash
lastValidBlockHeight
}
}
Variables
{
"faucet": "xyz789",
"owner": "abc123",
"payer": "xyz789",
"lutAddresses": ["abc123"],
"computeUnitPrice": 123
}
Response
{
"data": {
"createClaimFaucetTransaction": {
"transaction": Bytes,
"blockhash": "abc123",
"lastValidBlockHeight": 123
}
}
}
Profiles
authRequest
Description
Initiate an authentication request for a wallet. Returns a message to be signed by the user to authenticate. Use authConfirm to confirm the authentication request.
Response
Returns an AuthResponse!
Example
Query
query AuthRequest(
$wallet: String!,
$useTx: Boolean,
$useRpc: String
) {
authRequest(
wallet: $wallet,
useTx: $useTx,
useRpc: $useRpc
) {
message
tx
}
}
Variables
{
"wallet": "xyz789",
"useTx": true,
"useRpc": "abc123"
}
Response
{
"data": {
"authRequest": {
"message": "abc123",
"tx": Bytes
}
}
}
authConfirm
Description
Confirm an authentication request (initiated using authRequest) with a signature. Verifies the signature and returns an access token for the authenticated session as well as the user data.
Response
Returns an AuthConfirmed!
Example
Query
query AuthConfirm(
$wallet: String!,
$signature: String!
) {
authConfirm(
wallet: $wallet,
signature: $signature
) {
accessToken
user {
id
address
tree_id
leaf_idx
proof {
...ProofFragment
}
info {
...UserInfoFragment
}
socialInfo {
...SocialInfoFragment
}
wallets {
...WalletsFragment
}
}
}
}
Variables
{
"wallet": "abc123",
"signature": "abc123"
}
Response
{
"data": {
"authConfirm": {
"accessToken": "abc123",
"user": User
}
}
}
user
Description
Fetch a user's compressed account information based on provided filters. Returns an array of User objects.
Response
Returns [User!]!
Arguments
Name | Description |
---|---|
addresses - [Bytes!] | Array of user addresses to fetch. Optional |
ids - [Int!] | Array of user IDs to fetch. Optional |
wallets - [Pubkey!] | Array of user wallet addresses to fetch. Optional |
usernames - [String!] | Array of usernames to filter by. Optional |
includeProof - Boolean | Whether to include proof in the response. Defaults to false. Optional |
Example
Query
query User(
$addresses: [Bytes!],
$ids: [Int!],
$wallets: [Pubkey!],
$usernames: [String!],
$includeProof: Boolean
) {
user(
addresses: $addresses,
ids: $ids,
wallets: $wallets,
usernames: $usernames,
includeProof: $includeProof
) {
id
address
tree_id
leaf_idx
proof {
root
proof
node_index
leaf
maxDepth
leaf_index
tree_id
canopy_depth
}
info {
username
name
bio
pfp
}
socialInfo {
twitter
discord
steam
civic {
...CivicInfoFragment
}
}
wallets {
shadow
wallets
}
}
}
Variables
{
"addresses": [Bytes],
"ids": [987],
"wallets": [Pubkey],
"usernames": ["abc123"],
"includeProof": false
}
Response
{
"data": {
"user": [
{
"id": 123,
"address": Bytes,
"tree_id": Bytes,
"leaf_idx": {},
"proof": Proof,
"info": UserInfo,
"socialInfo": SocialInfo,
"wallets": Wallets
}
]
}
}
profile
Description
Fetch a profile's compressed account information based on provided filters. Returns an array of Profile objects.
Response
Returns [Profile!]!
Arguments
Name | Description |
---|---|
addresses - [Bytes!] | Array of profile addresses to fetch. Optional |
projects - [Pubkey!] | Array of project addresses to filter profiles by. Optional |
userIds - [Int!] | Array of user IDs to filter profiles by. Optional |
identities - [String!] | Array of identity strings to filter profiles by. Optional |
includeProof - Boolean | Whether to include proof in the response. Defaults to false. Optional |
Example
Query
query Profile(
$addresses: [Bytes!],
$projects: [Pubkey!],
$userIds: [Int!],
$identities: [String!],
$includeProof: Boolean
) {
profile(
addresses: $addresses,
projects: $projects,
userIds: $userIds,
identities: $identities,
includeProof: $includeProof
) {
address
tree_id
leaf_idx
proof {
root
proof
node_index
leaf
maxDepth
leaf_index
tree_id
canopy_depth
}
project
userId
identity
info {
name
bio
pfp
}
platformData {
custom
xp
achievements
}
customData
}
}
Variables
{
"addresses": [Bytes],
"projects": [Pubkey],
"userIds": [123],
"identities": ["abc123"],
"includeProof": false
}
Response
{
"data": {
"profile": [
{
"address": Bytes,
"tree_id": Bytes,
"leaf_idx": {},
"proof": Proof,
"project": Pubkey,
"userId": 123,
"identity": "abc123",
"info": ProfileInfo,
"platformData": PlatformData,
"customData": VecMap
}
]
}
}
createNewUserTransaction
Description
Create a transaction for a new user. Returns a Transaction object.
Response
Returns a Transaction!
Arguments
Name | Description |
---|---|
info - UserInfoInput | Additional information about the user. Optional |
wallet - String! | Wallet address of the user. Required |
payer - String | Payer for the transaction. Optional |
lutAddresses - [String!] | List of lookup table addresses. Only needed in case the transaction is too large. Optional |
computeUnitPrice - Int | Compute unit price for the transaction. A higher compute unit price will result in a faster transaction when the network is busy. Optional |
Example
Query
query CreateNewUserTransaction(
$info: UserInfoInput,
$wallet: String!,
$payer: String,
$lutAddresses: [String!],
$computeUnitPrice: Int
) {
createNewUserTransaction(
info: $info,
wallet: $wallet,
payer: $payer,
lutAddresses: $lutAddresses,
computeUnitPrice: $computeUnitPrice
) {
transaction
blockhash
lastValidBlockHeight
}
}
Variables
{
"info": UserInfoInput,
"wallet": "xyz789",
"payer": "xyz789",
"lutAddresses": ["xyz789"],
"computeUnitPrice": 123
}
Response
{
"data": {
"createNewUserTransaction": {
"transaction": Bytes,
"blockhash": "abc123",
"lastValidBlockHeight": 987
}
}
}
createNewUserBulkTransaction
Description
Create a bulk transaction for multiple new users. Returns an array of Transaction objects.
Response
Returns a Transactions!
Arguments
Name | Description |
---|---|
info - [UserInfoInput!]! | Array of objects container the users' information. Required |
wallet - [String!]! | Array of users' wallet addresses. Required |
payer - String! | Payer for the transaction. Required |
lutAddresses - [String!] | List of lookup table addresses. Only needed in case the transaction is too large. Optional |
computeUnitPrice - Int | Compute unit price for the transaction. A higher compute unit price will result in a faster transaction when the network is busy. Optional |
Example
Query
query CreateNewUserBulkTransaction(
$info: [UserInfoInput!]!,
$wallet: [String!]!,
$payer: String!,
$lutAddresses: [String!],
$computeUnitPrice: Int
) {
createNewUserBulkTransaction(
info: $info,
wallet: $wallet,
payer: $payer,
lutAddresses: $lutAddresses,
computeUnitPrice: $computeUnitPrice
) {
transactions
blockhash
lastValidBlockHeight
}
}
Variables
{
"info": [UserInfoInput],
"wallet": ["xyz789"],
"payer": "xyz789",
"lutAddresses": ["abc123"],
"computeUnitPrice": 987
}
Response
{
"data": {
"createNewUserBulkTransaction": {
"transactions": [Bytes],
"blockhash": "xyz789",
"lastValidBlockHeight": 123
}
}
}
createUpdateUserTransaction
Description
Create a transaction for updating an existing user's information. Returns a Transaction object.
Response
Returns a Transaction!
Arguments
Name | Description |
---|---|
info - PartialUserInfoInput | Partial information to update the user. Optional |
wallets - UpdateWalletInput | Wallets to add or remove from the user. Optional |
populateCivic - Boolean | Populates Civic information for all of the user's wallets. Defaults to false. |
payer - String! | Wallet address of the user. The user's account will be looked up using this wallet address and updated. Required |
lutAddresses - [String!] | List of lookup table addresses. Only needed in case the transaction is too large. Optional |
computeUnitPrice - Int | Compute unit price for the transaction. A higher compute unit price will result in a faster transaction when the network is busy. Optional |
Example
Query
query CreateUpdateUserTransaction(
$info: PartialUserInfoInput,
$wallets: UpdateWalletInput,
$populateCivic: Boolean,
$payer: String!,
$lutAddresses: [String!],
$computeUnitPrice: Int
) {
createUpdateUserTransaction(
info: $info,
wallets: $wallets,
populateCivic: $populateCivic,
payer: $payer,
lutAddresses: $lutAddresses,
computeUnitPrice: $computeUnitPrice
) {
transaction
blockhash
lastValidBlockHeight
}
}
Variables
{
"info": PartialUserInfoInput,
"wallets": UpdateWalletInput,
"populateCivic": true,
"payer": "xyz789",
"lutAddresses": ["xyz789"],
"computeUnitPrice": 123
}
Response
{
"data": {
"createUpdateUserTransaction": {
"transaction": Bytes,
"blockhash": "abc123",
"lastValidBlockHeight": 123
}
}
}
createCreateProfilesTreeTransaction
Description
Create a transaction for a new profiles tree. Returns a Transaction object.
Response
Returns a TreeSetupResponse!
Arguments
Name | Description |
---|---|
treeConfig - TreeSetupConfig! | Configuration settings for the tree. Requires either the basic or advanced config. Required |
project - String! | Address of the project that the profiles tree is being created for. Required |
payer - String! | Project authority's public key. This authority will pay for the transaction and will also need to sign the returning transaction. Required |
lutAddresses - [String!] | List of lookup table addresses. Only needed in case the transaction is too large. Optional |
computeUnitPrice - Int | Compute unit price for the transaction. A higher compute unit price will result in a faster transaction when the network is busy. Optional |
Example
Query
query CreateCreateProfilesTreeTransaction(
$treeConfig: TreeSetupConfig!,
$project: String!,
$payer: String!,
$lutAddresses: [String!],
$computeUnitPrice: Int
) {
createCreateProfilesTreeTransaction(
treeConfig: $treeConfig,
project: $project,
payer: $payer,
lutAddresses: $lutAddresses,
computeUnitPrice: $computeUnitPrice
) {
tx {
transaction
blockhash
lastValidBlockHeight
}
treeAddress
proofBytes
space
cost
maxTreeCapacity
}
}
Variables
{
"treeConfig": TreeSetupConfig,
"project": "abc123",
"payer": "xyz789",
"lutAddresses": ["xyz789"],
"computeUnitPrice": 123
}
Response
{
"data": {
"createCreateProfilesTreeTransaction": {
"tx": Transaction,
"treeAddress": Bytes,
"proofBytes": 987,
"space": 123,
"cost": 987.65,
"maxTreeCapacity": 987
}
}
}
createNewProfileTransaction
Description
Create a transaction for a new profile. A user must already exist for the wallet address. Returns a Transaction object.
Response
Returns a Transaction!
Arguments
Name | Description |
---|---|
project - String! | Address of the project. A Honeycomb Protocol user has to create a separate profile for each project. Required |
payer - String! | Payer for the transaction. Required |
identity - String | Identity string for the profile. Optional |
info - ProfileInfoInput | Additional information about the profile. Optional |
lutAddresses - [String!] | List of lookup table addresses. Only needed in case the transaction is too large. Optional |
computeUnitPrice - Int | Compute unit price for the transaction. A higher compute unit price will result in a faster transaction when the network is busy. Optional |
Example
Query
query CreateNewProfileTransaction(
$project: String!,
$payer: String!,
$identity: String,
$info: ProfileInfoInput,
$lutAddresses: [String!],
$computeUnitPrice: Int
) {
createNewProfileTransaction(
project: $project,
payer: $payer,
identity: $identity,
info: $info,
lutAddresses: $lutAddresses,
computeUnitPrice: $computeUnitPrice
) {
transaction
blockhash
lastValidBlockHeight
}
}
Variables
{
"project": "abc123",
"payer": "abc123",
"identity": "abc123",
"info": ProfileInfoInput,
"lutAddresses": ["abc123"],
"computeUnitPrice": 123
}
Response
{
"data": {
"createNewProfileTransaction": {
"transaction": Bytes,
"blockhash": "abc123",
"lastValidBlockHeight": 123
}
}
}
createUpdateProfileTransaction
Description
Create a transaction for updating an existing profile. Returns a Transaction object.
Response
Returns a Transaction!
Arguments
Name | Description |
---|---|
profile - String! | The address of the profile that'll get updated with this transaction. Required |
payer - String! | Payer for the transaction. This usually needs to be the profile's owner (the user). Required |
info - ProfileInfoInput | Information to update in the profile. Optional |
customData - CustomDataInput | Custom data to add to or remove from the profile. Optional |
lutAddresses - [String!] | List of lookup table addresses. Only needed in case the transaction is too large. Optional |
computeUnitPrice - Int | Compute unit price for the transaction. A higher compute unit price will result in a faster transaction when the network is busy. Optional |
Example
Query
query CreateUpdateProfileTransaction(
$profile: String!,
$payer: String!,
$info: ProfileInfoInput,
$customData: CustomDataInput,
$lutAddresses: [String!],
$computeUnitPrice: Int
) {
createUpdateProfileTransaction(
profile: $profile,
payer: $payer,
info: $info,
customData: $customData,
lutAddresses: $lutAddresses,
computeUnitPrice: $computeUnitPrice
) {
transaction
blockhash
lastValidBlockHeight
}
}
Variables
{
"profile": "abc123",
"payer": "abc123",
"info": ProfileInfoInput,
"customData": CustomDataInput,
"lutAddresses": ["abc123"],
"computeUnitPrice": 987
}
Response
{
"data": {
"createUpdateProfileTransaction": {
"transaction": Bytes,
"blockhash": "abc123",
"lastValidBlockHeight": 123
}
}
}
createNewUserWithProfileTransaction
Description
Create a transaction for a new user with an associated profile. Will create both a user and a profile for wallets that have neither. Returns a Transaction object.
Response
Returns a Transaction!
Arguments
Name | Description |
---|---|
userInfo - UserInfoInput | Additional information about the user. Optional |
project - String! | Project's address. The new user will also get an associated profile created for this project. Required |
profileIdentity - String | Identity string for the profile. Required |
profileInfo - ProfileInfoInput | Additional information about the user's profile. Optional |
wallet - String! | User's wallet address. Required |
payer - String | Payer for the transaction. Optional |
lutAddresses - [String!] | List of lookup table addresses. Only needed in case the transaction is too large. Optional |
computeUnitPrice - Int | Compute unit price for the transaction. A higher compute unit price will result in a faster transaction when the network is busy. Optional |
Example
Query
query CreateNewUserWithProfileTransaction(
$userInfo: UserInfoInput,
$project: String!,
$profileIdentity: String,
$profileInfo: ProfileInfoInput,
$wallet: String!,
$payer: String,
$lutAddresses: [String!],
$computeUnitPrice: Int
) {
createNewUserWithProfileTransaction(
userInfo: $userInfo,
project: $project,
profileIdentity: $profileIdentity,
profileInfo: $profileInfo,
wallet: $wallet,
payer: $payer,
lutAddresses: $lutAddresses,
computeUnitPrice: $computeUnitPrice
) {
transaction
blockhash
lastValidBlockHeight
}
}
Variables
{
"userInfo": UserInfoInput,
"project": "xyz789",
"profileIdentity": "xyz789",
"profileInfo": ProfileInfoInput,
"wallet": "abc123",
"payer": "abc123",
"lutAddresses": ["abc123"],
"computeUnitPrice": 123
}
Response
{
"data": {
"createNewUserWithProfileTransaction": {
"transaction": Bytes,
"blockhash": "abc123",
"lastValidBlockHeight": 123
}
}
}
Badges
createClaimBadgeCriteriaTransaction
Description
Create a transaction for claiming badge criteria. Returns a Transaction object.
Response
Returns a Transaction!
Arguments
Name | Description |
---|---|
args - ClaimBadgeCriteriaInput! | Args for claiming the badge criteria. Required |
lutAddresses - [String!] | Array of lookup table addresses. Only needed in case the transaction is too large. Optional |
computeUnitPrice - Int | Compute unit price for the transaction. A higher compute unit price will result in a faster transaction when the network is busy. Optional |
Example
Query
query CreateClaimBadgeCriteriaTransaction(
$args: ClaimBadgeCriteriaInput!,
$lutAddresses: [String!],
$computeUnitPrice: Int
) {
createClaimBadgeCriteriaTransaction(
args: $args,
lutAddresses: $lutAddresses,
computeUnitPrice: $computeUnitPrice
) {
transaction
blockhash
lastValidBlockHeight
}
}
Variables
{
"args": ClaimBadgeCriteriaInput,
"lutAddresses": ["abc123"],
"computeUnitPrice": 123
}
Response
{
"data": {
"createClaimBadgeCriteriaTransaction": {
"transaction": Bytes,
"blockhash": "xyz789",
"lastValidBlockHeight": 123
}
}
}
createUpdateBadgeCriteriaTransaction
Description
Create a transaction for updating an existing badge criteria. Returns a Transaction object.
Response
Returns a Transaction!
Arguments
Name | Description |
---|---|
args - UpdateBadgeCriteriaInput! | Args for updating the badge criteria. Required |
lutAddresses - [String!] | Array of lookup table addresses. Only needed in case the transaction is too large. Optional |
computeUnitPrice - Int | Compute unit price for the transaction. A higher compute unit price will result in a faster transaction when the network is busy. Optional |
Example
Query
query CreateUpdateBadgeCriteriaTransaction(
$args: UpdateBadgeCriteriaInput!,
$lutAddresses: [String!],
$computeUnitPrice: Int
) {
createUpdateBadgeCriteriaTransaction(
args: $args,
lutAddresses: $lutAddresses,
computeUnitPrice: $computeUnitPrice
) {
transaction
blockhash
lastValidBlockHeight
}
}
Variables
{
"args": UpdateBadgeCriteriaInput,
"lutAddresses": ["abc123"],
"computeUnitPrice": 987
}
Response
{
"data": {
"createUpdateBadgeCriteriaTransaction": {
"transaction": Bytes,
"blockhash": "abc123",
"lastValidBlockHeight": 987
}
}
}
Project
account
Description
Fetch accounts information based on filters. This is a low-level API. Developers will usually not need to use this as we've exposed higher-level APIs for most use-cases, example: user, profile, mission, missionPool, etc.
Response
Returns [Account!]!
Arguments
Name | Description |
---|---|
programId - Bytes! | Address of the program that owns the PDA. Required |
discriminator - Bytes | PDA's discriminator (each type of PDA has a separate discriminator). Optional |
parsedData - JSON | Filters accounts based on their parsed data. The account's parsed data depends on how the PDA is structured. Optional |
Example
Query
query Account(
$programId: Bytes!,
$discriminator: Bytes,
$parsedData: JSON
) {
account(
programId: $programId,
discriminator: $discriminator,
parsedData: $parsedData
) {
address
program_id
discriminator
parsed_data
}
}
Variables
{
"programId": Bytes,
"discriminator": Bytes,
"parsedData": {}
}
Response
{
"data": {
"account": [
{
"address": Bytes,
"program_id": Bytes,
"discriminator": Bytes,
"parsed_data": {}
}
]
}
}
compressedAccount
Response
Returns [CompressedAccount!]!
Arguments
Name | Description |
---|---|
addresses - [Bytes!]! | Array of compressed account addresses. Required |
identity - DisrcriminatorFilter | Program ID and account name to filter the accounts. Optional |
leaves - [TreeLeaf!] | Address of the merkle tree and leaf index of the compressed account. Optional |
parsedData - JSON | Filters compressed accounts based on their parsed data. The account's parsed data depends on how the compressed account is structured. Optional |
Example
Query
query CompressedAccount(
$addresses: [Bytes!]!,
$identity: DisrcriminatorFilter,
$leaves: [TreeLeaf!],
$parsedData: JSON
) {
compressedAccount(
addresses: $addresses,
identity: $identity,
leaves: $leaves,
parsedData: $parsedData
) {
tree_id
leaf_idx
schema_validated
raw_data
parsed_data
}
}
Variables
{
"addresses": [Bytes],
"identity": DisrcriminatorFilter,
"leaves": [TreeLeaf],
"parsedData": {}
}
Response
{
"data": {
"compressedAccount": [
{
"tree_id": Bytes,
"leaf_idx": {},
"schema_validated": true,
"raw_data": Bytes,
"parsed_data": {}
}
]
}
}
proof
Response
Returns [Proof!]!
Arguments
Name | Description |
---|---|
leaves - [TreeLeaf!]! | List of tree leaves to fetch proof for. Array of merkle tree addresses and leaf indexes. Required |
Example
Query
query Proof($leaves: [TreeLeaf!]!) {
proof(leaves: $leaves) {
root
proof
node_index
leaf
maxDepth
leaf_index
tree_id
canopy_depth
}
}
Variables
{"leaves": [TreeLeaf]}
Response
{
"data": {
"proof": [
{
"root": Bytes,
"proof": [Bytes],
"node_index": {},
"leaf": Bytes,
"maxDepth": 987,
"leaf_index": {},
"tree_id": Bytes,
"canopy_depth": 987
}
]
}
}
project
Description
Fetch the project PDA information based on provided filters. Returns an array of Project objects.
Response
Returns [Project!]!
Example
Query
query Project(
$addresses: [Bytes!],
$names: [String!],
$authorities: [Pubkey!]
) {
project(
addresses: $addresses,
names: $names,
authorities: $authorities
) {
address
bump
authority
key
driver
name
services {
kind
params {
... on ServiceParamsAssembler {
...ServiceParamsAssemblerFragment
}
... on ServiceParamsAssetManager {
...ServiceParamsAssetManagerFragment
}
... on ServiceParamsStaking {
...ServiceParamsStakingFragment
}
... on ServiceParamsMissions {
...ServiceParamsMissionsFragment
}
... on ServiceParamsRaffles {
...ServiceParamsRafflesFragment
}
... on ServiceParamsGuildKit {
...ServiceParamsGuildKitFragment
}
}
}
associatedPrograms {
address
trustedActions {
...SerializableActionsFragment
}
}
profileDataConfig {
achievements
customDataFields
}
profileTrees {
active
schema
merkle_trees
}
badgeCriteria {
startTime
endTime
index
condition
}
subsidyFees
}
}
Variables
{
"addresses": [Bytes],
"names": ["xyz789"],
"authorities": [Pubkey]
}
Response
{
"data": {
"project": [
{
"address": Bytes,
"bump": 123,
"authority": Pubkey,
"key": Pubkey,
"driver": Pubkey,
"name": "abc123",
"services": [Service],
"associatedPrograms": [AssociatedProgram],
"profileDataConfig": ProfileDataConfig,
"profileTrees": ControlledMerkleTrees,
"badgeCriteria": [BadgeCriteria],
"subsidyFees": true
}
]
}
}
delegateAuthority
Description
Fetch the delegate authority PDA information using relevant filters. Returns an array of DelegateAuthority objects that include delegated permissions.
Response
Returns [DelegateAuthority!]!
Example
Query
query DelegateAuthority(
$addresses: [Bytes!],
$delegates: [Pubkey!],
$projects: [Pubkey!]
) {
delegateAuthority(
addresses: $addresses,
delegates: $delegates,
projects: $projects
) {
address
bump
project
authority
delegations {
kind
index
permission
}
}
}
Variables
{
"addresses": [Bytes],
"delegates": [Pubkey],
"projects": [Pubkey]
}
Response
{
"data": {
"delegateAuthority": [
{
"address": Bytes,
"bump": 987,
"project": Pubkey,
"authority": Pubkey,
"delegations": [ServiceDelegation]
}
]
}
}
createCreateProjectTransaction
Description
Create a transaction for a new project. Returns a CreateCreateProjectTransactionResponse object.
Response
Returns a CreateCreateProjectTransactionResponse!
Arguments
Name | Description |
---|---|
authority - String! | Wallet address of the project authority. The holder of this wallet will have complete control over the project. Required |
name - String! | Name of the project. Required |
driver - String | Driver associated with the project. Optional |
associatedPrograms - [AssociatedProgramInput!] | Array of associated programs for the project. Optional |
profileDataConfig - ProfileDataConfigInput | Configuration for profile data of all the users associated with the project. Optional |
subsidizeFees - Boolean | Subsidize fees for the project. Optional |
payer - String | Payer for the transaction. Optional |
lutAddresses - [String!] | List of lookup table addresses. Only needed in case the transaction is too large. Optional |
computeUnitPrice - Int | Compute unit price for the transaction. A higher compute unit price will result in a faster transaction when the network is busy. Optional |
Example
Query
query CreateCreateProjectTransaction(
$authority: String!,
$name: String!,
$driver: String,
$associatedPrograms: [AssociatedProgramInput!],
$profileDataConfig: ProfileDataConfigInput,
$subsidizeFees: Boolean,
$payer: String,
$lutAddresses: [String!],
$computeUnitPrice: Int
) {
createCreateProjectTransaction(
authority: $authority,
name: $name,
driver: $driver,
associatedPrograms: $associatedPrograms,
profileDataConfig: $profileDataConfig,
subsidizeFees: $subsidizeFees,
payer: $payer,
lutAddresses: $lutAddresses,
computeUnitPrice: $computeUnitPrice
) {
tx {
transaction
blockhash
lastValidBlockHeight
}
project
}
}
Variables
{
"authority": "xyz789",
"name": "abc123",
"driver": "abc123",
"associatedPrograms": [AssociatedProgramInput],
"profileDataConfig": ProfileDataConfigInput,
"subsidizeFees": true,
"payer": "xyz789",
"lutAddresses": ["xyz789"],
"computeUnitPrice": 123
}
Response
{
"data": {
"createCreateProjectTransaction": {
"tx": Transaction,
"project": "xyz789"
}
}
}
createChangeProjectDriverTransaction
Description
Create a transaction for changing the driver of an existing project. Returns a Transaction object.
Response
Returns a Transaction!
Arguments
Name | Description |
---|---|
project - String! | Address of the project to update. Required |
driver - String! | Public key of the new driver. Required |
authority - String! | Project authority's public key. This authority will also need to sign the returning transaction. Required |
payer - String | Payer for the transaction. Optional |
lutAddresses - [String!] | List of lookup table addresses. Only needed in case the transaction is too large. Optional |
computeUnitPrice - Int | Compute unit price for the transaction. A higher compute unit price will result in a faster transaction when the network is busy. Optional |
Example
Query
query CreateChangeProjectDriverTransaction(
$project: String!,
$driver: String!,
$authority: String!,
$payer: String,
$lutAddresses: [String!],
$computeUnitPrice: Int
) {
createChangeProjectDriverTransaction(
project: $project,
driver: $driver,
authority: $authority,
payer: $payer,
lutAddresses: $lutAddresses,
computeUnitPrice: $computeUnitPrice
) {
transaction
blockhash
lastValidBlockHeight
}
}
Variables
{
"project": "abc123",
"driver": "abc123",
"authority": "xyz789",
"payer": "xyz789",
"lutAddresses": ["abc123"],
"computeUnitPrice": 123
}
Response
{
"data": {
"createChangeProjectDriverTransaction": {
"transaction": Bytes,
"blockhash": "abc123",
"lastValidBlockHeight": 123
}
}
}
createCreateDelegateAuthorityTransaction
Description
Create a transaction for a new delegate authority to be added to an existing project. Returns a Transaction object.
Response
Returns a Transaction!
Arguments
Name | Description |
---|---|
project - String! | Address of the project for which the delegate will be created. Required |
delegate - String! | Delegate user's wallet address. Required |
serviceDelegations - ServiceDelegationInput! | Permissions to give the delegate. Required |
authority - String! | Project authority's public key. This authority will also need to sign the returning transaction. Required |
payer - String | Payer for the transaction. Optional |
lutAddresses - [String!] | List of lookup table addresses. Only needed in case the transaction is too large. Optional |
computeUnitPrice - Int | Compute unit price for the transaction. A higher compute unit price will result in a faster transaction when the network is busy. Optional |
Example
Query
query CreateCreateDelegateAuthorityTransaction(
$project: String!,
$delegate: String!,
$serviceDelegations: ServiceDelegationInput!,
$authority: String!,
$payer: String,
$lutAddresses: [String!],
$computeUnitPrice: Int
) {
createCreateDelegateAuthorityTransaction(
project: $project,
delegate: $delegate,
serviceDelegations: $serviceDelegations,
authority: $authority,
payer: $payer,
lutAddresses: $lutAddresses,
computeUnitPrice: $computeUnitPrice
) {
transaction
blockhash
lastValidBlockHeight
}
}
Variables
{
"project": "xyz789",
"delegate": "xyz789",
"serviceDelegations": ServiceDelegationInput,
"authority": "abc123",
"payer": "xyz789",
"lutAddresses": ["xyz789"],
"computeUnitPrice": 123
}
Response
{
"data": {
"createCreateDelegateAuthorityTransaction": {
"transaction": Bytes,
"blockhash": "xyz789",
"lastValidBlockHeight": 123
}
}
}
createModifyDelegationTransaction
Description
Create a transaction for modifying an existing delegation associated with a project. Returns a Transaction object.
Response
Returns a Transaction!
Arguments
Name | Description |
---|---|
project - String! | Address of the project. Required |
delegate - String! | Delegate user's wallet address. This user should already have a delegate authority in the project. Required |
modifyDelegation - ModifyDelegationInput! | Modifications to the permissions of the delegate. Required |
authority - String! | Project authority's public key. This authority will also need to sign the returning transaction. Required |
payer - String | Payer for the transaction. Optional |
lutAddresses - [String!] | List of lookup table addresses. Only needed in case the transaction is too large. Optional |
computeUnitPrice - Int | Compute unit price for the transaction. A higher compute unit price will result in a faster transaction when the network is busy. Optional |
Example
Query
query CreateModifyDelegationTransaction(
$project: String!,
$delegate: String!,
$modifyDelegation: ModifyDelegationInput!,
$authority: String!,
$payer: String,
$lutAddresses: [String!],
$computeUnitPrice: Int
) {
createModifyDelegationTransaction(
project: $project,
delegate: $delegate,
modifyDelegation: $modifyDelegation,
authority: $authority,
payer: $payer,
lutAddresses: $lutAddresses,
computeUnitPrice: $computeUnitPrice
) {
transaction
blockhash
lastValidBlockHeight
}
}
Variables
{
"project": "xyz789",
"delegate": "xyz789",
"modifyDelegation": ModifyDelegationInput,
"authority": "abc123",
"payer": "xyz789",
"lutAddresses": ["abc123"],
"computeUnitPrice": 123
}
Response
{
"data": {
"createModifyDelegationTransaction": {
"transaction": Bytes,
"blockhash": "xyz789",
"lastValidBlockHeight": 123
}
}
}
assemblerConfig
Description
Fetch character assembler configurations based on provided filters. Returns an array of AssemblerConfig objects.
Response
Returns [AssemblerConfig!]!
Arguments
Name | Description |
---|---|
addresses - [Bytes!] | Array of assembler configuration addresses. Optional |
tickers - [String!] | Array of assembler configuration tickers. Optional |
characterModel - [Bytes!] | Array of character models to filter assembler configurations. Optional |
project - [Pubkey!] | Array of project addresses to filter assembler configurations. Optional |
Example
Query
query AssemblerConfig(
$addresses: [Bytes!],
$tickers: [String!],
$characterModel: [Bytes!],
$project: [Pubkey!]
) {
assemblerConfig(
addresses: $addresses,
tickers: $tickers,
characterModel: $characterModel,
project: $project
) {
address
program_id
discriminator
ticker
project
order
merkle_trees {
active
schema
merkle_trees
}
}
}
Variables
{
"addresses": [Bytes],
"tickers": ["abc123"],
"characterModel": [Bytes],
"project": [Pubkey]
}
Response
{
"data": {
"assemblerConfig": [
{
"address": Bytes,
"program_id": Bytes,
"discriminator": Bytes,
"ticker": "abc123",
"project": Pubkey,
"order": ["xyz789"],
"merkle_trees": ControlledMerkleTrees
}
]
}
}
createCreateAssemblerConfigTransaction
Description
Create a transaction for a new assembler configuration. Returns a CreateAssemblerConfigTransactionResponse object.
Response
Arguments
Name | Description |
---|---|
treeConfig - TreeSetupConfig! | Configuration settings for the tree. Requires either the basic or advanced config. Required |
ticker - String! | Ticker ID associated with the assembler configuration. Requires any custom client-side generated ID in string format. Required |
order - [String!]! | Array of traits a character based on this assembler config can have. Required |
project - String! | Project PDA address. Required |
authority - String! | Project authority public key. Required |
payer - String | Payer for the transaction. Optional |
lutAddresses - [String!] | Array of lookup table addresses. Only needed in case the transaction is too large. Optional |
computeUnitPrice - Int | Compute unit price for the transaction. A higher compute unit price will result in a faster transaction when the network is busy. Optional |
Example
Query
query CreateCreateAssemblerConfigTransaction(
$treeConfig: TreeSetupConfig!,
$ticker: String!,
$order: [String!]!,
$project: String!,
$authority: String!,
$payer: String,
$lutAddresses: [String!],
$computeUnitPrice: Int
) {
createCreateAssemblerConfigTransaction(
treeConfig: $treeConfig,
ticker: $ticker,
order: $order,
project: $project,
authority: $authority,
payer: $payer,
lutAddresses: $lutAddresses,
computeUnitPrice: $computeUnitPrice
) {
tx {
transaction
blockhash
lastValidBlockHeight
}
assemblerConfig
treeAddress
proofBytes
space
cost
maxTreeCapacity
}
}
Variables
{
"treeConfig": TreeSetupConfig,
"ticker": "abc123",
"order": ["abc123"],
"project": "abc123",
"authority": "xyz789",
"payer": "xyz789",
"lutAddresses": ["xyz789"],
"computeUnitPrice": 987
}
Response
{
"data": {
"createCreateAssemblerConfigTransaction": {
"tx": Transaction,
"assemblerConfig": Bytes,
"treeAddress": Bytes,
"proofBytes": 123,
"space": 123,
"cost": 987.65,
"maxTreeCapacity": 987
}
}
}
holdings
Description
Fetch holdings based on provided filters. Returns an array of Holding objects.
Response
Returns [Holding!]!
Arguments
Name | Description |
---|---|
addresses - [Bytes!] | Array of compressed holding addresses. Optional |
holder - Pubkey | Holder's wallet address. Optional |
trees - [Bytes!] | Array of merkle tree addresses. Holdings stored in these merkle trees will be fetched. Optional |
includeProof - Boolean | Whether to include proof in the response. Defaults to false. Optional |
Example
Query
query Holdings(
$addresses: [Bytes!],
$holder: Pubkey,
$trees: [Bytes!],
$includeProof: Boolean
) {
holdings(
addresses: $addresses,
holder: $holder,
trees: $trees,
includeProof: $includeProof
) {
address
tree_id
leaf_idx
holder
balance
characteristics
proof {
root
proof
node_index
leaf
maxDepth
leaf_index
tree_id
canopy_depth
}
}
}
Variables
{
"addresses": [Bytes],
"holder": Pubkey,
"trees": [Bytes],
"includeProof": false
}
Response
{
"data": {
"holdings": [
{
"address": Bytes,
"tree_id": Bytes,
"leaf_idx": {},
"holder": Pubkey,
"balance": {},
"characteristics": VecMap,
"proof": Proof
}
]
}
}
createInitializeBadgeCriteriaTransaction
Response
Returns a Transaction!
Arguments
Name | Description |
---|---|
args - CreateBadgeCriteriaInput! | Args for creating the badge criteria. Required |
lutAddresses - [String!] | Array of lookup table addresses. Only needed in case the transaction is too large. Optional |
computeUnitPrice - Int | Compute unit price for the transaction. A higher compute unit price will result in a faster transaction when the network is busy. Optional |
Example
Query
query CreateInitializeBadgeCriteriaTransaction(
$args: CreateBadgeCriteriaInput!,
$lutAddresses: [String!],
$computeUnitPrice: Int
) {
createInitializeBadgeCriteriaTransaction(
args: $args,
lutAddresses: $lutAddresses,
computeUnitPrice: $computeUnitPrice
) {
transaction
blockhash
lastValidBlockHeight
}
}
Variables
{
"args": CreateBadgeCriteriaInput,
"lutAddresses": ["abc123"],
"computeUnitPrice": 987
}
Response
{
"data": {
"createInitializeBadgeCriteriaTransaction": {
"transaction": Bytes,
"blockhash": "xyz789",
"lastValidBlockHeight": 123
}
}
}
Types
Scalars
BigInt
Example
{}
Bytes
Example
Bytes
Pubkey
Example
Pubkey
JSON
Example
{}
VecMap
Example
VecMap
Utils
Transaction
Example
{
"transaction": Bytes,
"blockhash": "xyz789",
"lastValidBlockHeight": 987
}
Transactions
Example
{
"transactions": [Bytes],
"blockhash": "xyz789",
"lastValidBlockHeight": 987
}
SendTransactionBundlesOptions
Fields
Input Field | Description |
---|---|
commitment - String | Commitment level for the transaction. |
skipPreflight - Boolean | Option to skip preflight checks. |
bundles - TransactionBundlesOptions | Options for bundling transactions. |
Example
{
"commitment": "xyz789",
"skipPreflight": false,
"bundles": TransactionBundlesOptions
}
TransactionBundlesOptions
TransactionResponse
TransactionBundleResponse
Fields
Field Name | Description |
---|---|
bundleId - Int! | Identifier of the transaction bundle. |
responses - [TransactionResponse!]! | List of responses for the transactions in the bundle. |
Example
{"bundleId": 987, "responses": [TransactionResponse]}
CreateInitializeFaucetTransactionResponse
Fields
Field Name | Description |
---|---|
tx - Transaction! | Transaction data for initializing a faucet. |
faucet - Bytes! | Serialized faucet data. |
Example
{"tx": Transaction, "faucet": Bytes}
Misc
ControlledMerkleTrees
Fields
Field Name | Description |
---|---|
active - Int! | Number of active Merkle trees. |
schema - JSON! | Schema associated with the Merkle trees. |
merkle_trees - [Pubkey!]! | List of Merkle tree public keys. |
Example
{"active": 987, "schema": {}, "merkle_trees": [Pubkey]}
Resources
CurrencyManagerPermissionInput
Values
Enum Value | Description |
---|---|
| Permission to manage currencies. |
| Permission to mint currencies. |
| Permission to manage currency status. |
Example
"ManageCurrencies"
ResourceRewardType
Fields
Field Name | Description |
---|---|
kind - String! | Kind of resource reward. |
params - ResourceRewardTypeParams! | Parameters for the currency reward. |
Example
{
"kind": "abc123",
"params": ResourceRewardTypeParams
}
ResourceRewardTypeParams
Fields
Field Name | Description |
---|---|
address - Pubkey! | Address of the currency associated with the reward. |
Example
{"address": Pubkey}
CreateInitResourceTransactionResponse
Fields
Field Name | Description |
---|---|
tx - Transaction! | Transaction data for initializing a resource. |
resource - Bytes! | Serialized resource data. |
Example
{
"tx": Transaction,
"resource": Bytes
}
Resource
Fields
Field Name | Description |
---|---|
address - Bytes! | The address of the resource. |
bump - Int! | Bump value associated with the resource. |
project - Pubkey! | Project associated with the resource. |
mint - Pubkey! | Mint associated with the resource. |
storage - ResourceStorage! | storage associated with the resource. |
kind - ResourceKind! | Kind of the resource. |
Example
{
"address": Bytes,
"bump": 987,
"project": Pubkey,
"mint": Pubkey,
"storage": ResourceStorage,
"kind": ResourceKind
}
ResourceStorageEnum
Values
Enum Value | Description |
---|---|
| |
|
Example
"AccountState"
ResourceStorageParams
Fields
Field Name | Description |
---|---|
merkle_trees - ControlledMerkleTrees! | Controlled Merkle Trees associated with the resource. |
Example
{"merkle_trees": ControlledMerkleTrees}
ResourceKind
Fields
Field Name | Description |
---|---|
kind - String! | Kind of resource. |
params - ResourceKindParams! | Parameters associated with the resource kind. |
Example
{
"kind": "abc123",
"params": ResourceKindParamsHplFungible
}
ResourceKindParams
Example
ResourceKindParamsHplFungible
ResourceKindParamsHplFungible
Fields
Field Name | Description |
---|---|
decimals - Int! | Number of decimal places used by the resource. |
Example
{"decimals": 987}
ResourceKindParamsWrappedFungible
Fields
Field Name | Description |
---|---|
decimals - Int! | Number of decimal places used by the resource. |
Example
{"decimals": 987}
ResourceKindParamsHplNonFungible
Fields
Field Name | Description |
---|---|
characteristics - [String]! |
Example
{"characteristics": ["abc123"]}
Faucet
Fields
Field Name | Description |
---|---|
address - Bytes! | The address of the faucet. |
project - Pubkey! | Project associated with the faucet. |
resource - Pubkey! | Resource provided by the faucet. |
amount - BigInt! | Amount of resource dispensed by the faucet. |
repeatInterval - BigInt! | Interval for repeating the faucet. |
lastClaimed - BigInt! | Last claimed time of the faucet. |
Example
{
"address": Bytes,
"project": Pubkey,
"resource": Pubkey,
"amount": {},
"repeatInterval": {},
"lastClaimed": {}
}
InitResourceInput
Fields
Input Field | Description |
---|---|
name - String! | Name of the resource. |
symbol - String! | Symbol associated with the resource. |
uri - String! | URI associated with the resource. |
decimals - Int! | Decimals associated with the resource. |
storage - ResourceStorageEnum! | Storage associated with the resource. |
Example
{
"name": "abc123",
"symbol": "abc123",
"uri": "abc123",
"decimals": 123,
"storage": "AccountState"
}
Crafting
CreateInitializeRecipeTransactionResponse
Fields
Field Name | Description |
---|---|
transactions - Transactions! | Multiple transactions for initializing a recipe. |
recipe - Bytes! | Serialized recipe data. |
Example
{
"transactions": Transactions,
"recipe": Bytes
}
Recipe
Fields
Field Name | Description |
---|---|
address - Bytes! | The address of the recipe. |
bump - Int! | Bump value associated with the recipe. |
project - Pubkey! | Project associated with the recipe. |
key - Pubkey! | Key associated with the recipe. |
xp - BigInt! | Experience points provided by the recipe. |
ingredients - [Ingredient!]! | List of ingredients required for the recipe. |
meal - Meal! | Meal produced by the recipe. |
Example
{
"address": Bytes,
"bump": 123,
"project": Pubkey,
"key": Pubkey,
"xp": {},
"ingredients": [Ingredient],
"meal": Meal
}
Ingredient
Meal
IngredientsInput
MealInput
Profiles
User
Fields
Field Name | Description |
---|---|
id - Int! | Unique identifier of the user. |
address - Bytes! | The address of the user. |
tree_id - Bytes! | ID of the Merkle tree associated with the user. |
leaf_idx - BigInt! | Index of the leaf in the Merkle tree. |
proof - Proof | Proof of the user's existence in the Merkle tree (optional). |
info - UserInfo! | Information associated with the user. |
socialInfo - SocialInfo! | Social information associated with the user. |
wallets - Wallets! | Wallets associated with the user. |
Example
{
"id": 123,
"address": Bytes,
"tree_id": Bytes,
"leaf_idx": {},
"proof": Proof,
"info": UserInfo,
"socialInfo": SocialInfo,
"wallets": Wallets
}
UserInfo
Wallets
Fields
Field Name | Description |
---|---|
shadow - Pubkey! | Shadow wallet address associated with the user. |
wallets - [Pubkey!]! | List of other wallet addresses associated with the user. |
Example
{
"shadow": Pubkey,
"wallets": [Pubkey]
}
UserInfoInput
PartialUserInfoInput
Example
{
"username": "xyz789",
"name": "abc123",
"bio": "abc123",
"pfp": "abc123"
}
UpdateWalletInput
ProfileDataConfigInput
Fields
Input Field | Description |
---|---|
achievements - [String!]! | List of achievements associated with the profile. |
customDataFields - [String!]! | List of custom data fields associated with the profile. |
Example
{
"achievements": ["xyz789"],
"customDataFields": ["abc123"]
}
ProfileInfoInput
CustomDataInput
AuthResponse
AuthConfirmed
Badges
BadgesCondition
Values
Enum Value | Description |
---|---|
| Publicly available badge condition. |
Example
"Public"
ClaimBadgeCriteriaInput
Fields
Input Field | Description |
---|---|
projectAddress - Pubkey! | Address of the project to claim badge criteria for. |
profileAddress - Pubkey! | Profile address to claim the badge for. |
payer - Pubkey! | Payer for the badge claim. |
criteriaIndex - Int! | Index of the criteria to claim. |
proof - BadgesCondition! | Proof of meeting the badge criteria. |
Example
{
"projectAddress": Pubkey,
"profileAddress": Pubkey,
"payer": Pubkey,
"criteriaIndex": 987,
"proof": "Public"
}
UpdateBadgeCriteriaInput
Fields
Input Field | Description |
---|---|
projectAddress - Pubkey! | Address of the project to update badge criteria for. |
authority - Pubkey! | Authority associated with the badge criteria. |
criteriaIndex - Int! | Index of the criteria to update. |
payer - Pubkey | Payer for the badge criteria update (optional). |
startTime - Int | Start time for the badge criteria (optional). |
endTime - Int | End time for the badge criteria (optional). |
condition - BadgesCondition! | Condition for earning the badge. |
Example
{
"projectAddress": Pubkey,
"authority": Pubkey,
"criteriaIndex": 123,
"payer": Pubkey,
"startTime": 123,
"endTime": 987,
"condition": "Public"
}
Project
Global
Fields
Field Name | Description |
---|---|
address - Bytes! | The address of the global configuration. |
bump - Int! | Bump value associated with the global configuration. |
config - VecMap! | Configuration settings as a vector map. |
userTrees - ControlledMerkleTrees! | Controlled Merkle trees associated with user management. |
totalUsers - Int! | Total number of users in the system. |
Example
{
"address": Bytes,
"bump": 123,
"config": VecMap,
"userTrees": ControlledMerkleTrees,
"totalUsers": 123
}
Project
Fields
Field Name | Description |
---|---|
address - Bytes! | The address of the project. |
bump - Int! | Bump value associated with the project. |
authority - Pubkey! | Authority associated with the project. |
key - Pubkey! | Key associated with the project. |
driver - Pubkey! | Driver associated with the project. |
name - String! | Name of the project. |
services - [Service!]! | List of services provided by the project. |
associatedPrograms - [AssociatedProgram!]! | Programs associated with the project. |
profileDataConfig - ProfileDataConfig! | Configuration for profile data associated with the project. |
profileTrees - ControlledMerkleTrees! | Controlled Merkle trees associated with the project profiles. |
badgeCriteria - [BadgeCriteria!] | Badge criteria associated with the project (optional). |
subsidyFees - Boolean! |
Example
{
"address": Bytes,
"bump": 987,
"authority": Pubkey,
"key": Pubkey,
"driver": Pubkey,
"name": "abc123",
"services": [Service],
"associatedPrograms": [AssociatedProgram],
"profileDataConfig": ProfileDataConfig,
"profileTrees": ControlledMerkleTrees,
"badgeCriteria": [BadgeCriteria],
"subsidyFees": true
}
DelegateAuthority
Fields
Field Name | Description |
---|---|
address - Bytes! | The address of the delegate authority. |
bump - Int! | Bump value associated with the delegate authority. |
project - Pubkey! | Project associated with the delegate authority. |
authority - Pubkey! | Authority associated with the delegate authority. |
delegations - [ServiceDelegation!]! | Service delegations associated with the delegate authority. |
Example
{
"address": Bytes,
"bump": 987,
"project": Pubkey,
"authority": Pubkey,
"delegations": [ServiceDelegation]
}
ServiceDelegation
Service
Fields
Field Name | Description |
---|---|
kind - String! | Type of service provided by the project. |
params - ServiceParams | Parameters associated with the service. |
Example
{
"kind": "abc123",
"params": ServiceParamsAssembler
}
ServiceParams
Example
ServiceParamsAssembler
ServiceParamsAssembler
Fields
Field Name | Description |
---|---|
assemblerId - Pubkey! | Assembler ID associated with the service. |
Example
{"assemblerId": Pubkey}
ServiceParamsAssetManager
Fields
Field Name | Description |
---|---|
assetManagerId - Pubkey! | Asset manager ID associated with the service. |
Example
{"assetManagerId": Pubkey}
ServiceParamsStaking
Fields
Field Name | Description |
---|---|
poolId - Pubkey! | Staking pool ID associated with the service. |
Example
{"poolId": Pubkey}
ServiceParamsMissions
Fields
Field Name | Description |
---|---|
poolId - Pubkey! | Mission pool ID associated with the service. |
Example
{"poolId": Pubkey}
ServiceParamsRaffles
Fields
Field Name | Description |
---|---|
poolId - Pubkey! | Raffle pool ID associated with the service. |
Example
{"poolId": Pubkey}
ServiceParamsGuildKit
Fields
Field Name | Description |
---|---|
kitId - Pubkey! | Guild kit ID associated with the service. |
Example
{"kitId": Pubkey}
AssociatedProgram
Fields
Field Name | Description |
---|---|
address - Pubkey! | Address of the associated program. |
trustedActions - [SerializableActions!]! | List of actions trusted by the associated program. |
Example
{
"address": Pubkey,
"trustedActions": [SerializableActions]
}
SerializableActions
Fields
Field Name | Description |
---|---|
kind - String! | Type of action that can be serialized. |
Example
{"kind": "xyz789"}
ProfileDataConfig
Fields
Field Name | Description |
---|---|
achievements - [String!]! | List of achievements associated with the profile. |
customDataFields - [String!]! | List of custom data fields associated with the profile. |
Example
{
"achievements": ["xyz789"],
"customDataFields": ["xyz789"]
}
CivicGateway
Values
Enum Value | Description |
---|---|
| Liveness check pass in the Civic Gateway. |
| Uniqueness check pass in the Civic Gateway. |
| Identity verification pass in the Civic Gateway. |
Example
"LivenessPass"
CivicInfo
Fields
Field Name | Description |
---|---|
gatekeeperNetwork - CivicGateway! | The network used by the Civic Gateway for user validation. |
expiry - String | The expiry date of the Civic Gateway pass (optional). |
walletIndex - Int! | Index of the wallet associated with the user. |
Example
{
"gatekeeperNetwork": "LivenessPass",
"expiry": "xyz789",
"walletIndex": 987
}
SocialInfo
Fields
Field Name | Description |
---|---|
twitter - String | Twitter handle of the user (optional). |
discord - String | Discord handle of the user (optional). |
steam - String | Steam ID of the user (optional). |
civic - [CivicInfo] | Civic ID of the user (optional). |
Example
{
"twitter": "xyz789",
"discord": "abc123",
"steam": "abc123",
"civic": [CivicInfo]
}
Profile
Fields
Field Name | Description |
---|---|
address - Bytes! | The address of the profile. |
tree_id - Bytes! | ID of the Merkle tree associated with the profile. |
leaf_idx - BigInt! | Index of the leaf in the Merkle tree. |
proof - Proof | Proof of the profile's existence in the Merkle tree (optional). |
project - Pubkey! | Project associated with the profile. |
userId - Int! | User ID associated with the profile. |
identity - String! | Identity string associated with the profile. |
info - ProfileInfo! | Information associated with the profile. |
platformData - PlatformData! | Platform-specific data associated with the profile. |
customData - VecMap! | Custom data associated with the profile. |
Example
{
"address": Bytes,
"tree_id": Bytes,
"leaf_idx": {},
"proof": Proof,
"project": Pubkey,
"userId": 987,
"identity": "xyz789",
"info": ProfileInfo,
"platformData": PlatformData,
"customData": VecMap
}
ProfileInfo
PlatformData
AssociatedProgramInput
Fields
Input Field | Description |
---|---|
address - String! | Address of the associated program. |
trustedActions - [SerializableActionsInput!]! | List of actions trusted by the associated program. |
Example
{
"address": "abc123",
"trustedActions": [SerializableActionsInput]
}
SerializableActionsInput
Fields
Input Field | Description |
---|---|
kind - String! | Type of action that can be serialized. |
Example
{"kind": "abc123"}
ServiceDelegationInput
Fields
Input Field | Description |
---|---|
HiveControl - [ServiceDelegationHiveControl!] | Service delegation for Hive Control. |
AssetAssembler - [ServiceDelegationAssetAssembler!] | Service delegation for Asset Assembler. |
AssetManager - [ServiceDelegationAssetManager!] | Service delegation for Asset Manager. |
CurrencyManager - [ServiceDelegationCurrencyManager!] | Service delegation for Resource Manager. |
NectarStaking - [ServiceDelegationNectarStaking!] | Service delegation for Nectar Staking. |
NectarMissions - [ServiceDelegationNectarMissions!] | Service delegation for Nectar Missions. |
BuzzGuild - [ServiceDelegationBuzzGuild!] | Service delegation for Buzz Guild. |
Example
{
"HiveControl": [ServiceDelegationHiveControl],
"AssetAssembler": [ServiceDelegationAssetAssembler],
"AssetManager": [ServiceDelegationAssetManager],
"CurrencyManager": [ServiceDelegationCurrencyManager],
"NectarStaking": [ServiceDelegationNectarStaking],
"NectarMissions": [ServiceDelegationNectarMissions],
"BuzzGuild": [ServiceDelegationBuzzGuild]
}
ServiceDelegationHiveControl
Fields
Input Field | Description |
---|---|
permission - HiveControlPermissionInput! | Permissions for Hive Control service delegation. |
Example
{"permission": "ManageCriterias"}
ServiceDelegationAssetAssembler
Fields
Input Field | Description |
---|---|
index - Int! | Index for the Asset Assembler service delegation. |
permission - AssetAssemblerPermissionInput! | Permissions for Asset Assembler service delegation. |
Example
{"index": 123, "permission": "ManageAssembler"}
ServiceDelegationAssetManager
Fields
Input Field | Description |
---|---|
index - Int! | Index for the Asset Manager service delegation. |
permission - AssetManagerPermissionInput! | Permissions for Asset Manager service delegation. |
Example
{"index": 123, "permission": "ManageAssets"}
ServiceDelegationCurrencyManager
Fields
Input Field | Description |
---|---|
permission - CurrencyManagerPermissionInput! | Permissions for Currency Manager service delegation. |
Example
{"permission": "ManageCurrencies"}
ServiceDelegationNectarStaking
Fields
Input Field | Description |
---|---|
index - Int! | Index for the Nectar Staking service delegation. |
permission - NectarStakingPermissionInput! | Permissions for Nectar Staking service delegation. |
Example
{"index": 123, "permission": "ManageStakingPool"}
ServiceDelegationNectarMissions
Fields
Input Field | Description |
---|---|
index - Int! | Index for the Nectar Missions service delegation. |
permission - NectarMissionsPermissionInput! | Permissions for Nectar Missions service delegation. |
Example
{"index": 123, "permission": "ManageMissionPool"}
ServiceDelegationBuzzGuild
Fields
Input Field | Description |
---|---|
index - Int! | Index for the Buzz Guild service delegation. |
permission - BuzzGuildPermissionInput! | Permissions for Buzz Guild service delegation. |
Example
{"index": 123, "permission": "ManageGuildKit"}
HiveControlPermissionInput
Values
Enum Value | Description |
---|---|
| Permission to manage badge criteria. |
| Permission to manage services. |
| Permission to manage indexing. |
| Permission to manage profiles. |
Example
"ManageCriterias"
AssetAssemblerPermissionInput
Values
Enum Value | Description |
---|---|
| Permission to manage the assembler. |
| Permission to update blocks in the assembler. |
| Permission to update block definitions in the assembler. |
| Permission to update NFTs in the assembler. |
| Permission for initial art generation in the assembler. |
Example
"ManageAssembler"
AssetManagerPermissionInput
Values
Enum Value | Description |
---|---|
| Permission to manage assets. |
Example
"ManageAssets"
ModifyServiceDelegationInput
Fields
Input Field | Description |
---|---|
HiveControl - ServiceDelegationHiveControl | Service delegation modifications for Hive Control. |
AssetAssembler - ServiceDelegationAssetAssembler | Service delegation modifications for Asset Assembler. |
AssetManager - ServiceDelegationAssetManager | Service delegation modifications for Asset Manager. |
CurrencyManager - ServiceDelegationCurrencyManager | Service delegation modifications for Currency Manager. |
NectarStaking - ServiceDelegationNectarStaking | Service delegation modifications for Nectar Staking. |
NectarMissions - ServiceDelegationNectarMissions | Service delegation modifications for Nectar Missions. |
BuzzGuild - ServiceDelegationBuzzGuild | Service delegation modifications for Buzz Guild. |
Example
{
"HiveControl": ServiceDelegationHiveControl,
"AssetAssembler": ServiceDelegationAssetAssembler,
"AssetManager": ServiceDelegationAssetManager,
"CurrencyManager": ServiceDelegationCurrencyManager,
"NectarStaking": ServiceDelegationNectarStaking,
"NectarMissions": ServiceDelegationNectarMissions,
"BuzzGuild": ServiceDelegationBuzzGuild
}
ModifyDelegationInput
Fields
Input Field | Description |
---|---|
delegation - ModifyServiceDelegationInput | Service delegation modifications. |
index - Int | Index of the service delegation to modify. |
Example
{"delegation": ModifyServiceDelegationInput, "index": 987}
Account
Example
{
"address": Bytes,
"program_id": Bytes,
"discriminator": Bytes,
"parsed_data": {}
}
CompressedAccount
Fields
Field Name | Description |
---|---|
tree_id - Bytes | ID of the Merkle tree associated with the account. |
leaf_idx - BigInt | Index of the leaf in the Merkle tree. |
schema_validated - Boolean | Indicates whether the schema has been validated. |
raw_data - Bytes | Raw data of the compressed account. |
parsed_data - JSON | Parsed data of the compressed account, represented as JSON. |
Example
{
"tree_id": Bytes,
"leaf_idx": {},
"schema_validated": true,
"raw_data": Bytes,
"parsed_data": {}
}
Proof
Fields
Field Name | Description |
---|---|
root - Bytes! | Root hash of the Merkle tree. |
proof - [Bytes!]! | Proof hashes in the Merkle tree. |
node_index - BigInt! | Index of the node in the Merkle tree. |
leaf - Bytes! | Leaf hash in the Merkle tree. |
maxDepth - Int! | Depth of the node in the Merkle tree. |
leaf_index - BigInt! | Index of the leaf in the Merkle tree. |
tree_id - Bytes! | ID of the Merkle tree. |
canopy_depth - Int! | Depth of the canopy in the Merkle tree. |
Example
{
"root": Bytes,
"proof": [Bytes],
"node_index": {},
"leaf": Bytes,
"maxDepth": 987,
"leaf_index": {},
"tree_id": Bytes,
"canopy_depth": 987
}
DisrcriminatorFilter
TreeLeaf
TreeSetupConfig
Fields
Input Field | Description |
---|---|
basic - BasicTreeConfig | Basic configuration for setting up the tree. |
advanced - AdvancedTreeConfig | Advanced configuration for setting up the tree. |
Example
{
"basic": BasicTreeConfig,
"advanced": AdvancedTreeConfig
}
BasicTreeConfig
Fields
Input Field | Description |
---|---|
numAssets - Int! | Number of assets for basic tree configuration. |
Example
{"numAssets": 123}
AdvancedTreeConfig
CreateCreateProjectTransactionResponse
Fields
Field Name | Description |
---|---|
tx - Transaction! | Transaction data for creating a project. |
project - String! | Identifier of the created project. |
Example
{
"tx": Transaction,
"project": "abc123"
}
CreateAssemblerConfigTransactionResponse
Fields
Field Name | Description |
---|---|
tx - Transaction! | Transaction data for creating an assembler configuration. |
assemblerConfig - Bytes! | Serialized assembler configuration data. |
treeAddress - Bytes! | Tree address associated with the assembler configuration. |
proofBytes - Int! | Proof bytes associated with the assembler configuration. |
space - Int! | Space required for the assembler configuration. |
cost - Float | Cost of the assembler configuration. |
maxTreeCapacity - Int! | Maximum tree capacity for the assembler configuration. |
Example
{
"tx": Transaction,
"assemblerConfig": Bytes,
"treeAddress": Bytes,
"proofBytes": 987,
"space": 987,
"cost": 987.65,
"maxTreeCapacity": 123
}
TreeSetupResponse
Fields
Field Name | Description |
---|---|
tx - Transaction! | Transaction data for setting up a tree. |
treeAddress - Bytes! | Tree address associated with the setup. |
proofBytes - Int! | Proof bytes associated with the tree setup. |
space - Int! | Space required for the tree setup. |
cost - Float | Cost of the tree setup. |
maxTreeCapacity - Int! | Maximum tree capacity. |
Example
{
"tx": Transaction,
"treeAddress": Bytes,
"proofBytes": 987,
"space": 987,
"cost": 123.45,
"maxTreeCapacity": 123
}
Holding
Fields
Field Name | Description |
---|---|
address - Bytes! | The address of the holding. |
tree_id - Bytes! | Tree ID associated with the holding. |
leaf_idx - BigInt! | Index of the leaf in the tree. |
holder - Pubkey! | Holder of the holding. |
balance - BigInt! | Balance of the holding. |
characteristics - VecMap | Characteristics associated with the holding. |
proof - Proof | Proof associated with the holding. |
Example
{
"address": Bytes,
"tree_id": Bytes,
"leaf_idx": {},
"holder": Pubkey,
"balance": {},
"characteristics": VecMap,
"proof": Proof
}
Badges
BadgeCriteria
Fields
Field Name | Description |
---|---|
startTime - BigInt! | Start time for the badge criteria. |
endTime - BigInt! | End time for the badge criteria. |
index - Int! | Index of the badge criteria. |
condition - BadgesCondition! | Condition for earning the badge. |
Example
{"startTime": {}, "endTime": {}, "index": 987, "condition": "Public"}
Guild
UsedByGuild
Fields
Field Name | Description |
---|---|
id - Pubkey! | Guild ID associated with the character. |
role - GuildRole! | Role of the character in the guild. |
order - Int! | Order of the character in the guild. |
Example
{
"id": Pubkey,
"role": GuildRole,
"order": 123
}
GuildRole
Fields
Field Name | Description |
---|---|
kind - String! | Type of role in the guild. |
Example
{"kind": "xyz789"}
GuildRoleFilter
Fields
Input Field | Description |
---|---|
kind - String | Type of role in the guild to filter by. |
Example
{"kind": "abc123"}
BuzzGuildPermissionInput
Values
Enum Value | Description |
---|---|
| Permission to manage guild kits. |
Example
"ManageGuildKit"
Mission
UsedByMission
Fields
Field Name | Description |
---|---|
missionId - Pubkey! | Mission ID associated with the character. |
participationId - String! | Participation ID of the character in the mission. |
rewards - [EarnedRewards!]! | Rewards earned by the character during the mission. |
endTime - Int! | End time of the mission. |
Example
{
"missionId": Pubkey,
"participationId": "xyz789",
"rewards": [EarnedRewards],
"endTime": 987
}
EarnedRewards
EarnedRewardsFilter
NectarMissionsPermissionInput
Values
Enum Value | Description |
---|---|
| Permission to manage mission pools. |
| Permission to withdraw rewards from mission pools. |
Example
"ManageMissionPool"
MissionPool
Fields
Field Name | Description |
---|---|
address - Bytes! | The address of the mission pool. |
program_id - Bytes! | Program ID associated with the mission pool. |
discriminator - Bytes! | Discriminator for identifying the type of mission pool. |
bump - Int! | Bump value associated with the mission pool. |
project - Pubkey! | Project associated with the mission pool. |
name - String! | Name of the mission pool. |
factionsMerkleRoot - Bytes! | Merkle root of the factions associated with the mission pool. |
randomizerRound - Int! | Randomizer round number for the mission pool. |
characterModels - [Pubkey]! | List of character models associated with the mission pool. |
guildKits - [Int]! | List of guild kits associated with the mission pool. |
Example
{
"address": Bytes,
"program_id": Bytes,
"discriminator": Bytes,
"bump": 987,
"project": Pubkey,
"name": "xyz789",
"factionsMerkleRoot": Bytes,
"randomizerRound": 987,
"characterModels": [Pubkey],
"guildKits": [123]
}
Mission
Fields
Field Name | Description |
---|---|
address - Bytes! | The address of the mission. |
program_id - Bytes! | Program ID associated with the mission. |
discriminator - Bytes! | Discriminator for identifying the type of mission. |
bump - Int! | Bump value associated with the mission. |
project - Pubkey! | Project associated with the mission. |
missionPool - Pubkey! | Mission pool to which the mission belongs. |
name - String! | Name of the mission. |
minXp - BigInt! | Minimum experience points required for the mission. |
cost - MissionCost! | Cost associated with participating in the mission. |
requirement - MissionRequirement! | Requirement that must be met to participate in the mission. |
rewards - [Reward]! | List of rewards available for completing the mission. |
Example
{
"address": Bytes,
"program_id": Bytes,
"discriminator": Bytes,
"bump": 123,
"project": Pubkey,
"missionPool": Pubkey,
"name": "abc123",
"minXp": {},
"cost": MissionCost,
"requirement": TimeRequirement,
"rewards": [Reward]
}
MissionCost
MissionRequirement
Types
Union Types |
---|
Example
TimeRequirement
TimeRequirement
Fields
Field Name | Description |
---|---|
kind - String! | Type of time requirement. |
params - TimeRequirementParams! | Parameters for the time requirement. |
Example
{
"kind": "xyz789",
"params": TimeRequirementParams
}
TimeRequirementParams
Fields
Field Name | Description |
---|---|
duration - BigInt! | Duration required to complete the mission. |
Example
{"duration": {}}
Reward
Fields
Field Name | Description |
---|---|
min - BigInt! | Minimum value of the reward. |
max - BigInt! | Maximum value of the reward. |
rewardType - RewardType | Type of reward offered by the mission. |
Example
{"min": {}, "max": {}, "rewardType": XpRewardType}
RewardType
Types
Union Types |
---|
Example
XpRewardType
XpRewardType
Fields
Field Name | Description |
---|---|
kind - String! | Type of experience point reward. |
Example
{"kind": "xyz789"}
UpdateMissionInput
Fields
Input Field | Description |
---|---|
cost - NewMissionCost | The new cost associated with the mission |
minXp - BigInt | New minimum experience points required to take part in the mission |
duration - BigInt | The new duration of the mission in seconds |
removeRewards - [Int!] | Array of reward indexes to be removed from the mission |
newRewards - [MissionReward!] | Array of new rewards to be added to the mission |
updateRewards - [MissionReward!] | Array of rewards to update values for in the mission |
Example
{
"cost": NewMissionCost,
"minXp": {},
"duration": {},
"removeRewards": [987],
"newRewards": [MissionReward],
"updateRewards": [MissionReward]
}
NewMissionPoolData
Fields
Input Field | Description |
---|---|
project - String! | Project associated with the mission pool. |
authority - String! | Authority associated with the mission pool. |
delegateAuthority - String | Delegate authority for the mission pool (optional). |
payer - String! | Payer for the mission pool. |
characterModel - String! | Character model associated with the mission pool. |
name - String! | Name of the mission pool. |
Example
{
"project": "abc123",
"authority": "abc123",
"delegateAuthority": "xyz789",
"payer": "abc123",
"characterModel": "abc123",
"name": "xyz789"
}
UpdateMissionPoolData
Fields
Input Field | Description |
---|---|
project - String! | Project associated with the mission pool. |
missionPool - String! | Existing mission pool to update. |
characterModel - String | Character model to associate with the mission pool (optional). |
authority - String! | Authority associated with the mission pool. |
delegateAuthority - String | Delegate authority for the mission pool (optional). |
payer - String! | Payer for the mission pool update. |
Example
{
"project": "abc123",
"missionPool": "xyz789",
"characterModel": "abc123",
"authority": "xyz789",
"delegateAuthority": "abc123",
"payer": "abc123"
}
NewMissionCost
RewardKind
Values
Enum Value | Description |
---|---|
| Reward in the form of experience points. |
| Resource in the form of Resource. |
Example
"Xp"
MissionReward
Fields
Input Field | Description |
---|---|
kind - RewardKind! | Type of reward for the mission. |
min - BigInt! | Minimum value of the reward. |
max - BigInt! | Maximum value of the reward. |
resource - String | Resource associated with the reward (used only if kind is Resource). |
Example
{
"kind": "Xp",
"min": {},
"max": {},
"resource": "abc123"
}
NewMissionData
Fields
Input Field | Description |
---|---|
project - String! | Project associated with the mission. |
missionPool - String! | Mission pool associated with the mission. |
authority - String! | Authority associated with the mission. |
delegateAuthority - String | Delegate authority for the mission (optional). |
payer - String! | Payer for the mission. |
name - String! | Name of the mission. |
minXp - BigInt! | Minimum experience points required for the mission. |
cost - NewMissionCost! | Cost associated with the mission. |
duration - BigInt! | Duration of the mission. |
rewards - [MissionReward]! | Rewards associated with the mission. |
Example
{
"project": "xyz789",
"missionPool": "abc123",
"authority": "abc123",
"delegateAuthority": "xyz789",
"payer": "xyz789",
"name": "abc123",
"minXp": {},
"cost": NewMissionCost,
"duration": {},
"rewards": [MissionReward]
}
ParticipateOnMissionData
Fields
Input Field | Description |
---|---|
mission - String! | Mission to participate in. |
characterAddresses - [String!]! | Addresses of characters participating in the mission. |
authority - String! | Authority associated with the mission. |
payer - String | Payer for the mission participation (optional). |
Example
{
"mission": "xyz789",
"characterAddresses": ["xyz789"],
"authority": "xyz789",
"payer": "xyz789"
}
RecallFromMissionData
Fields
Input Field | Description |
---|---|
mission - String! | Mission to recall characters from. |
characterAddresses - [String!]! | Addresses of characters being recalled from the mission. |
authority - String! | Authority associated with the mission. |
payer - String | Payer for the recall (optional). |
Example
{
"mission": "xyz789",
"characterAddresses": ["xyz789"],
"authority": "abc123",
"payer": "xyz789"
}
CreateBadgeCriteriaInput
Fields
Input Field | Description |
---|---|
projectAddress - Pubkey! | Address of the project to create badge criteria for. |
authority - Pubkey! | Authority associated with the badge criteria. |
payer - Pubkey | Payer for the badge criteria creation (optional). |
startTime - Int | Start time for the badge criteria (optional). |
endTime - Int | End time for the badge criteria (optional). |
badgeIndex - Int! | Index of the badge. |
condition - BadgesCondition! | Condition for earning the badge. |
Example
{
"projectAddress": Pubkey,
"authority": Pubkey,
"payer": Pubkey,
"startTime": 123,
"endTime": 987,
"badgeIndex": 987,
"condition": "Public"
}
CreateCreateMissionPoolTransactionResponse
Fields
Field Name | Description |
---|---|
tx - Transaction! | Transaction data for creating a mission pool. |
missionPoolAddress - Bytes! | Serialized mission pool address data. |
Example
{
"tx": Transaction,
"missionPoolAddress": Bytes
}
CreateUpdateMissionPoolTransactionResponse
Fields
Field Name | Description |
---|---|
tx - Transaction! | Transaction data for updating a mission pool. |
Example
{"tx": Transaction}
CreateCreateMissionTransactionResponse
Fields
Field Name | Description |
---|---|
tx - Transaction! | Transaction data for creating a mission. |
missionAddress - Bytes! | Serialized mission address data. |
Example
{
"tx": Transaction,
"missionAddress": Bytes
}
Staking
Wrapped
Fields
Field Name | Description |
---|---|
mint - Pubkey! | Mint address of the wrapped NFT. |
criteria - NftWrapCriteria! | Criteria for wrapping the NFT. |
kind - SourceKind | Type of the source kind. |
Example
{
"mint": Pubkey,
"criteria": NftWrapCriteria,
"kind": "Assembled"
}
NftWrapCriteria
NftWrapCriteriaInput
UsedByStaking
Example
{
"pool": Pubkey,
"staker": Pubkey,
"stakedAt": 123,
"claimedAt": 123
}
NftWrapCriteriaFilter
NectarStakingPermissionInput
Values
Enum Value | Description |
---|---|
| Permission to manage staking pools. |
| Permission to withdraw rewards from staking pools. |
Example
"ManageStakingPool"
StakingPool
Fields
Field Name | Description |
---|---|
address - Bytes! | The address of the staking pool. |
bump - Int! | Bump value associated with the staking pool. |
project - Pubkey! | Project associated with the staking pool. |
key - Pubkey! | Key associated with the staking pool. |
resource - Pubkey! | Resources associated with the staking pool. |
lockType - LockType! | Type of lock associated with the staking pool. |
name - String! | Name of the staking pool. |
rewardsPerDuration - BigInt! | Rewards per specified duration in the staking pool. |
rewardsDuration - BigInt! | Duration for which rewards are distributed. |
maxRewardsDuration - BigInt | Maximum duration for rewards distribution (optional). |
minStakeDuration - BigInt | Minimum duration for which staking is required. |
cooldownDuration - BigInt | Duration of cooldown period after unstaking. |
resetStakeDuration - Boolean! | Indicates whether the staking duration resets on additional staking. |
allowedMints - Boolean! | Indicates whether only allowed mints are stakable. |
totalStaked - BigInt! | Total amount staked in the staking pool. |
startTime - BigInt | Start time of the staking pool. |
endTime - BigInt | End time of the staking pool. |
characterModels - [Pubkey]! | List of character models allowed in the staking pool. |
Example
{
"address": Bytes,
"bump": 123,
"project": Pubkey,
"key": Pubkey,
"resource": Pubkey,
"lockType": LockType,
"name": "xyz789",
"rewardsPerDuration": {},
"rewardsDuration": {},
"maxRewardsDuration": {},
"minStakeDuration": {},
"cooldownDuration": {},
"resetStakeDuration": false,
"allowedMints": false,
"totalStaked": {},
"startTime": {},
"endTime": {},
"characterModels": [Pubkey]
}
LockType
Fields
Field Name | Description |
---|---|
kind - String | Type of lock associated with the staking pool. |
Example
{"kind": "xyz789"}
Multipliers
Fields
Field Name | Description |
---|---|
address - Bytes! | The address of the multipliers. |
bump - Int! | Bump value associated with the multipliers. |
stakingPool - Pubkey! | Staking pool associated with the multipliers. |
decimals - Int! | Number of decimal places used by the multipliers. |
durationMultipliers - [Multiplier!]! | List of multipliers based on staking duration. |
countMultipliers - [Multiplier!]! | List of multipliers based on the number of NFTs. |
creatorMultipliers - [Multiplier!]! | List of multipliers based on the creator. |
collectionMultipliers - [Multiplier!]! | List of multipliers based on the collection. |
Example
{
"address": Bytes,
"bump": 987,
"stakingPool": Pubkey,
"decimals": 123,
"durationMultipliers": [Multiplier],
"countMultipliers": [Multiplier],
"creatorMultipliers": [Multiplier],
"collectionMultipliers": [Multiplier]
}
Multiplier
Fields
Field Name | Description |
---|---|
value - BigInt! | Value of the multiplier. |
multiplierType - MultiplierType! | Type of the multiplier. |
Example
{"value": {}, "multiplierType": MultiplierType}
MultiplierType
Fields
Field Name | Description |
---|---|
kind - String! | Type of the multiplier. |
params - MultiplierTypeParams! | Parameters associated with the multiplier type. |
Example
{
"kind": "abc123",
"params": MultiplierTypeParamsStakeDuration
}
MultiplierTypeParams
Example
MultiplierTypeParamsStakeDuration
MultiplierTypeParamsStakeDuration
Fields
Field Name | Description |
---|---|
minDuration - BigInt! | Minimum duration required for the stake. |
Example
{"minDuration": {}}
MultiplierTypeParamsNFTCount
Fields
Field Name | Description |
---|---|
minCount - BigInt! | Minimum number of NFTs required. |
Example
{"minCount": {}}
MultiplierTypeParamsCreator
Fields
Field Name | Description |
---|---|
creator - Pubkey! | Creator associated with the multiplier. |
Example
{"creator": Pubkey}
MultiplierTypeParamsCollection
Fields
Field Name | Description |
---|---|
collection - Pubkey! | Collection associated with the multiplier. |
Example
{"collection": Pubkey}
Staker
Example
{
"address": Bytes,
"bump": 987,
"stakingPool": Pubkey,
"wallet": Pubkey,
"totalStaked": {}
}
LockTypeEnum
Values
Enum Value | Description |
---|---|
| Freezing type of lock. |
| Custody type of lock. |
Example
"Freeze"
CreateStakingPoolMetadataInput
Fields
Input Field | Description |
---|---|
name - String! | Name of the staking pool. |
rewardsPerDuration - BigInt! | Rewards per specified duration in the staking pool. |
rewardsDuration - BigInt! | Duration for which rewards are distributed. |
maxRewardsDuration - BigInt | Maximum duration for rewards distribution (optional). |
minStakeDuration - BigInt | Minimum duration for which staking is required. |
cooldownDuration - BigInt | Duration of cool down period after unstaking. |
resetStakeDuration - Boolean! | Indicates whether the staking duration resets on additional staking. |
startTime - BigInt! | Start time of the staking pool. |
lockType - LockTypeEnum | Type of lock associated with the staking pool. |
endTime - BigInt | End time of the staking pool (optional). |
Example
{
"name": "xyz789",
"rewardsPerDuration": {},
"rewardsDuration": {},
"maxRewardsDuration": {},
"minStakeDuration": {},
"cooldownDuration": {},
"resetStakeDuration": true,
"startTime": {},
"lockType": "Freeze",
"endTime": {}
}
UpdateStakingPoolMetadataInput
Fields
Input Field | Description |
---|---|
name - String | Name of the staking pool (optional). |
rewardsPerDuration - BigInt | Rewards per specified duration in the staking pool (optional). |
rewardsDuration - BigInt | Duration for which rewards are distributed (optional). |
maxRewardsDuration - BigInt | Maximum duration for rewards distribution (optional). |
minStakeDuration - BigInt | Minimum duration for which staking is required (optional). |
cooldownDuration - BigInt | Duration of cooldown period after unstaking (optional). |
resetStakeDuration - Boolean | Indicates whether the staking duration resets on additional staking (optional). |
startTime - BigInt | Start time of the staking pool (optional). |
endTime - BigInt | End time of the staking pool (optional). |
Example
{
"name": "abc123",
"rewardsPerDuration": {},
"rewardsDuration": {},
"maxRewardsDuration": {},
"minStakeDuration": {},
"cooldownDuration": {},
"resetStakeDuration": true,
"startTime": {},
"endTime": {}
}
MultiplierTypeInput
Fields
Input Field | Description |
---|---|
minStakeDuration - BigInt | Minimum duration required for the stake (optional). |
minNftCount - BigInt | Minimum number of NFTs required (optional). |
creator - String | Creator associated with the multiplier (optional). |
collection - String | Collection associated with the multiplier (optional). |
Example
{
"minStakeDuration": {},
"minNftCount": {},
"creator": "abc123",
"collection": "abc123"
}
AddMultiplierMetadataInput
Fields
Input Field | Description |
---|---|
value - BigInt! | Value of the multiplier. |
type - MultiplierTypeInput | Type of the multiplier. |
Example
{"value": {}, "type": MultiplierTypeInput}
InitStakingMultiplierMetadataInput
Fields
Input Field | Description |
---|---|
decimals - Int! | Number of decimal places used by the multipliers. |
multipliers - [AddMultiplierMetadataInput]! | List of multipliers to initialize. |
Example
{
"decimals": 987,
"multipliers": [AddMultiplierMetadataInput]
}
CreateInitMultipliersTransactionResponse
Fields
Field Name | Description |
---|---|
tx - Transaction! | Transaction data for initializing multipliers. |
multipliersAddress - Bytes! | Serialized multipliers address data. |
Example
{
"tx": Transaction,
"multipliersAddress": Bytes
}
CreateCreateStakingPoolTransactionResponse
Fields
Field Name | Description |
---|---|
transactions - Transactions! | Multiple transactions for creating a staking pool. |
stakingPoolAddress - Bytes! | Serialized staking pool address data. |
multipliersAddress - Bytes | Serialized multipliers address data (optional). |
Example
{
"transactions": Transactions,
"stakingPoolAddress": Bytes,
"multipliersAddress": Bytes
}
Projects
AssemblerConfig
Fields
Field Name | Description |
---|---|
address - Bytes! | The address of the assembler configuration. |
program_id - Bytes! | Program ID associated with the assembler configuration. |
discriminator - Bytes! | Discriminator for the assembler configuration. |
ticker - String! | Ticker symbol for the assembler configuration. |
project - Pubkey! | Project associated with the assembler configuration. |
order - [String!]! | Order of operations or configuration steps. |
merkle_trees - ControlledMerkleTrees! | Controlled Merkle trees associated with the assembler configuration. |
Example
{
"address": Bytes,
"program_id": Bytes,
"discriminator": Bytes,
"ticker": "xyz789",
"project": Pubkey,
"order": ["xyz789"],
"merkle_trees": ControlledMerkleTrees
}
AssemblerConfigInput
Fields
Input Field | Description |
---|---|
assemblerConfig - String! | Identifier of the assembler configuration. |
name - String! | Name of the assembler configuration. |
symbol - String! | Symbol associated with the assembler configuration. |
description - String! | Description of the assembler configuration. |
creators - [NftCreatorInput!]! | List of creators associated with the assembler configuration. |
sellerFeeBasisPoints - Int! | Seller fee basis points for the assembler configuration. |
collectionName - String! | Name of the collection the assembler configuration belongs to. |
Example
{
"assemblerConfig": "xyz789",
"name": "xyz789",
"symbol": "xyz789",
"description": "xyz789",
"creators": [NftCreatorInput],
"sellerFeeBasisPoints": 987,
"collectionName": "abc123"
}
Assembled
Fields
Field Name | Description |
---|---|
hash - Pubkey! | Hash associated with the assembled character. |
mint - Pubkey! | Mint address of the assembled character. |
uri - String! | URI associated with the assembled character. |
attributes - VecMapGeneric! | Attributes associated with the assembled character. |
updateAuthority - Pubkey! | Update authority for the assembled character. |
Example
{
"hash": Pubkey,
"mint": Pubkey,
"uri": "abc123",
"attributes": VecMapGeneric,
"updateAuthority": Pubkey
}
Character
CharacterHistory
Example
{
"address": Bytes,
"event": "xyz789",
"event_data": {},
"time": "abc123"
}
CharacterTrait
Fields
Field Name | Description |
---|---|
address - Bytes! | The address of the character trait. |
tree_id - Bytes! | ID of the Merkle tree associated with the trait. |
leaf_idx - BigInt! | Index of the leaf in the Merkle tree. |
label - String! | Label of the trait. |
name - String! | Name of the trait. |
uri - String! | URI associated with the trait. |
proof - Proof | Proof of the trait's existence in the Merkle tree (optional). |
Example
{
"address": Bytes,
"tree_id": Bytes,
"leaf_idx": {},
"label": "abc123",
"name": "abc123",
"uri": "abc123",
"proof": Proof
}
CharacterTraitInput
CharacterModel
Fields
Field Name | Description |
---|---|
address - Bytes! | The address of the character model. |
program_id - Bytes! | Program ID associated with the character model. |
discriminator - Bytes! | Discriminator for the character model. |
bump - Int! | Bump value for the character model. |
key - Pubkey! | Key associated with the character model. |
project - Pubkey! | Project associated with the character model. |
config - CharacterConfig! | Configuration settings for the character model. |
attributes - VecMapGeneric! | Attributes associated with the character model. |
merkle_trees - ControlledMerkleTrees! | Controlled Merkle trees associated with the character model. |
Example
{
"address": Bytes,
"program_id": Bytes,
"discriminator": Bytes,
"bump": 987,
"key": Pubkey,
"project": Pubkey,
"config": CharacterConfigWrapped,
"attributes": VecMapGeneric,
"merkle_trees": ControlledMerkleTrees
}
CharacterConfig
Types
Union Types |
---|
Example
CharacterConfigWrapped
CharacterConfigWrapped
Fields
Field Name | Description |
---|---|
kind - String! | Type of the character configuration. |
criterias - [NftWrapCriteria!]! | Criteria for wrapping NFTs associated with the character. |
Example
{
"kind": "abc123",
"criterias": [NftWrapCriteria]
}
CharacterConfigAssembled
Fields
Field Name | Description |
---|---|
kind - String! | Type of the character configuration. |
assemblerConfig - Pubkey! | Assembler configuration associated with the character. |
name - String! | Name of the character. |
symbol - String! | Symbol associated with the character. |
description - String! | Description of the character. |
creators - [NftCreator!]! | List of creators associated with the character. |
sellerFeeBasisPoints - Int! | Seller fee basis points for the character. |
collectionName - String! | Name of the collection the character belongs to. |
Example
{
"kind": "xyz789",
"assemblerConfig": Pubkey,
"name": "xyz789",
"symbol": "abc123",
"description": "xyz789",
"creators": [NftCreator],
"sellerFeeBasisPoints": 987,
"collectionName": "abc123"
}
NftCreator
CharacterConfigInput
Fields
Input Field | Description |
---|---|
kind - String! | Type of the character configuration. |
criterias - [NftWrapCriteriaInput!] | Criteria for wrapping NFTs associated with the character. |
assemblerConfigInput - AssemblerConfigInput | Assembler configuration input for the character. |
Example
{
"kind": "abc123",
"criterias": [NftWrapCriteriaInput],
"assemblerConfigInput": AssemblerConfigInput
}
NftCreatorInput
Character
Fields
Field Name | Description |
---|---|
address - Bytes! | The address of the character. |
tree_id - Bytes! | ID of the Merkle tree associated with the character. |
leaf_idx - BigInt! | Index of the leaf in the Merkle tree. |
owner - Pubkey! | Owner of the character. |
source - CharacterSource! | Source of the character's attributes or origin. |
usedBy - CharacterUsedBy! | Usage details of the character. |
proof - Proof | Proof of the character's existence in the Merkle tree (optional). |
asset - JSON | Additional asset data associated with the character. |
Example
{
"address": Bytes,
"tree_id": Bytes,
"leaf_idx": {},
"owner": Pubkey,
"source": CharacterSource,
"usedBy": CharacterUsedBy,
"proof": Proof,
"asset": {}
}
CharacterSource
Fields
Field Name | Description |
---|---|
kind - String! | Type of the character source. |
params - CharacterSourceParams! | Parameters associated with the character source. |
Example
{
"kind": "abc123",
"params": Wrapped
}
CharacterSourceParams
SourceKind
Values
Enum Value | Description |
---|---|
| Character assembled from various attributes. |
| Character represented as an NFT. |
| Character represented as a compressed NFT. |
| Character with token extensions. |
| Character associated with MPL Core Asset. |
Example
"Assembled"
CharacterUsedBy
Fields
Field Name | Description |
---|---|
kind - String! | Type of usage for the character. |
params - CharacterUsedByParams | Parameters associated with the character's usage. |
Example
{
"kind": "xyz789",
"params": UsedByStaking
}
CharacterUsedByParams
Types
Union Types |
---|
Example
UsedByStaking
UsedByEjected
Fields
Field Name | Description |
---|---|
mint - Pubkey! | Mint address of the ejected character. |
Example
{"mint": Pubkey}
UsedByCustom
CharactersFilter
Fields
Input Field | Description |
---|---|
owner - Pubkey | Owner of the characters to filter by. |
source - CharacterSourceFilter | Source filter criteria for the characters. |
usedBy - CharacterUsedByFilter | Usage filter criteria for the characters. |
Example
{
"owner": Pubkey,
"source": CharacterSourceFilter,
"usedBy": CharacterUsedByFilter
}
CharacterSourceFilter
Fields
Input Field | Description |
---|---|
kind - String | Type of the character source to filter by. |
params - CharacterSourceParamsFilter | Parameters to filter the character source by. |
Example
{
"kind": "xyz789",
"params": CharacterSourceParamsFilter
}
CharacterSourceParamsFilter
Fields
Input Field | Description |
---|---|
mint - Pubkey | Mint address to filter the character source by. |
criteria - NftWrapCriteriaFilter | Criteria to filter the character source by. |
is_compressed - Boolean | Whether the character is compressed. |
Example
{
"mint": Pubkey,
"criteria": NftWrapCriteriaFilter,
"is_compressed": true
}
CharacterUsedByFilter
Fields
Input Field | Description |
---|---|
kind - String | Type of usage to filter the characters by. |
params - CharacterUsedByParamsFilter | Parameters to filter the character usage by. |
Example
{
"kind": "abc123",
"params": CharacterUsedByParamsFilter
}
CharacterUsedByParamsFilter
Fields
Input Field | Description |
---|---|
pool - Pubkey | Pool address to filter staked characters by. |
staker - Pubkey | Staker address to filter staked characters by. |
stakedAt - Int | Timestamp to filter by when the characters were staked. |
claimedAt - Int | Timestamp to filter by when the rewards were claimed. |
id - Pubkey | Guild ID to filter characters by. |
rewards - [EarnedRewardsFilter!] | Rewards filter criteria. |
endTime - Int | End time to filter characters by. |
rewardsCollected - Boolean | Whether the rewards have been collected. |
role - GuildRoleFilter | Role filter criteria for characters in a guild. |
order - Int | Order to filter characters by. |
mint - Pubkey | Mint address to filter ejected characters by. |
user - Pubkey | User address to filter custom-used characters by. |
Example
{
"pool": Pubkey,
"staker": Pubkey,
"stakedAt": 123,
"claimedAt": 987,
"id": Pubkey,
"rewards": [EarnedRewardsFilter],
"endTime": 987,
"rewardsCollected": false,
"role": GuildRoleFilter,
"order": 987,
"mint": Pubkey,
"user": Pubkey
}
CreateCharacterModelTransactionResponse
Fields
Field Name | Description |
---|---|
tx - Transaction! | Transaction data for creating a character model. |
characterModel - Bytes! | Serialized character model data. |
Example
{
"tx": Transaction,
"characterModel": Bytes
}
ResourceStorage
Fields
Field Name | Description |
---|---|
kind - ResourceStorageEnum! | Type of source for the resource. |
params - ResourceStorageParams | Parameters associated with the source. |
Example
{"kind": "AccountState", "params": ResourceStorageParams}
ResourceKindParamsWrappedMplCore
Fields
Field Name | Description |
---|---|
characteristics - [String]! | Array of characteristics associated with the resource. |
Example
{"characteristics": ["abc123"]}
VecMapGeneric
Example
VecMapGeneric