NineChronicles.Headless GraphQL API Reference

NineChronicles.Headless provides GraphQL APIs to browse NineChronicles' states, blockchain data easily.

Contact

Nine Chronicles DX Team & Game Backend Team

https://github.com/planetarium/NineChronicles.Headless

License

GNU Affero General Public License v3.0

https://github.com/planetarium/NineChronicles.Headless/blob/main/LICENSE

API Endpoints
# Internal:
https://9c-internal-rpc-1.nine-chronicles.com/graphql
# Mainnet:
https://9c-main-api.nine-chronicles.com/graphql

About AGPL 3.0 license

You MUST UNDERSTAND "HOW AGPL 3.0 LICENSE can affect your application" before using these APIs. When you use these APIs, YOU MUST OPEN YOUR APPLICATION'S SOURCE CODE TO ITS USERS.

Queries

accountDiffs

Description

This field allows you to query the diffs based accountAddress between two blocks. baseIndex is the reference block index, and changedIndex is the block index from which to check what changes have occurred relative to baseIndex. Both indices must not be higher than the current block on the chain nor lower than the genesis block index (0). The difference between the two blocks must be greater than zero for a valid comparison and less than ten for performance reasons.

Response

Returns [StateDiff!]!

Arguments
Name Description
accountAddress - Address! The target accountAddress.
baseIndex - Long! The index of the reference block from which the state is retrieved.
changedIndex - Long! The index of the target block for comparison.

Example

Query
query AccountDiffs(
  $accountAddress: Address!,
  $baseIndex: Long!,
  $changedIndex: Long!
) {
  accountDiffs(
    accountAddress: $accountAddress,
    baseIndex: $baseIndex,
    changedIndex: $changedIndex
  ) {
    baseState
    changedState
    path
  }
}
Variables
{
  "accountAddress": Address,
  "baseIndex": {},
  "changedIndex": {}
}
Response
{
  "data": {
    "accountDiffs": [
      {
        "baseState": "xyz789",
        "changedState": "xyz789",
        "path": "xyz789"
      }
    ]
  }
}

actionQuery

Description

Query to create action transaction.

Response

Returns an ActionQuery!

Example

Query
query ActionQuery {
  actionQuery {
    approvePledge
    auraSummon
    claimItems
    claimRaidReward
    claimStakeReward
    claimWorldBossKillReward
    combinationConsumable
    combinationEquipment
    craftQuery {
      eventConsumableItemCrafts
      eventMaterialItemCrafts
    }
    createAvatar
    createPledge
    dailyReward
    deliverToOthersGarages
    endPledge
    grinding
    hackAndSlash
    hackAndSlashSweep
    issueToken
    itemEnhancement
    loadIntoMyGarages
    migrateMonsterCollection
    patchTableSheet
    prepareRewardAssets
    raid
    rapidCombination
    requestPledge
    retrieveAvatarAssets
    runeEnhancement
    runeSummon
    stake
    transferAsset
    transferAssets
    unloadFromMyGarages
    unlockEquipmentRecipe
    unlockWorld
  }
}
Response
{
  "data": {
    "actionQuery": {
      "approvePledge": ByteString,
      "auraSummon": ByteString,
      "claimItems": ByteString,
      "claimRaidReward": ByteString,
      "claimStakeReward": ByteString,
      "claimWorldBossKillReward": ByteString,
      "combinationConsumable": ByteString,
      "combinationEquipment": ByteString,
      "craftQuery": CraftQuery,
      "createAvatar": ByteString,
      "createPledge": ByteString,
      "dailyReward": ByteString,
      "deliverToOthersGarages": ByteString,
      "endPledge": ByteString,
      "grinding": ByteString,
      "hackAndSlash": ByteString,
      "hackAndSlashSweep": ByteString,
      "issueToken": ByteString,
      "itemEnhancement": ByteString,
      "loadIntoMyGarages": ByteString,
      "migrateMonsterCollection": ByteString,
      "patchTableSheet": ByteString,
      "prepareRewardAssets": ByteString,
      "raid": ByteString,
      "rapidCombination": ByteString,
      "requestPledge": ByteString,
      "retrieveAvatarAssets": ByteString,
      "runeEnhancement": ByteString,
      "runeSummon": ByteString,
      "stake": ByteString,
      "transferAsset": ByteString,
      "transferAssets": ByteString,
      "unloadFromMyGarages": ByteString,
      "unlockEquipmentRecipe": ByteString,
      "unlockWorld": ByteString
    }
  }
}

actionTxQuery

Response

Returns an ActionTxQuery!

Arguments
Name Description
maxGasPrice - FungibleAssetValueInputType Default = {decimalPlaces: 18, minters: null, quantity: 1000000000000000000, ticker: "Mead"}
nonce - Long The nonce for Transaction.
publicKey - String! The hexadecimal string of public key for Transaction.
timestamp - DateTimeOffset The time this transaction is created.

Example

Query
query ActionTxQuery(
  $maxGasPrice: FungibleAssetValueInputType,
  $nonce: Long,
  $publicKey: String!,
  $timestamp: DateTimeOffset
) {
  actionTxQuery(
    maxGasPrice: $maxGasPrice,
    nonce: $nonce,
    publicKey: $publicKey,
    timestamp: $timestamp
  ) {
    approvePledge
    auraSummon
    claimItems
    claimRaidReward
    claimStakeReward
    claimWorldBossKillReward
    combinationConsumable
    combinationEquipment
    craftQuery {
      eventConsumableItemCrafts
      eventMaterialItemCrafts
    }
    createAvatar
    createPledge
    dailyReward
    deliverToOthersGarages
    endPledge
    grinding
    hackAndSlash
    hackAndSlashSweep
    issueToken
    itemEnhancement
    loadIntoMyGarages
    migrateMonsterCollection
    patchTableSheet
    prepareRewardAssets
    raid
    rapidCombination
    requestPledge
    retrieveAvatarAssets
    runeEnhancement
    runeSummon
    stake
    transferAsset
    transferAssets
    unloadFromMyGarages
    unlockEquipmentRecipe
    unlockWorld
  }
}
Variables
{
  "maxGasPrice": {
    "decimalPlaces": 18,
    "minters": "null",
    "quantity": 1000000000000000000,
    "ticker": "Mead"
  },
  "nonce": {},
  "publicKey": "abc123",
  "timestamp": DateTimeOffset
}
Response
{
  "data": {
    "actionTxQuery": {
      "approvePledge": ByteString,
      "auraSummon": ByteString,
      "claimItems": ByteString,
      "claimRaidReward": ByteString,
      "claimStakeReward": ByteString,
      "claimWorldBossKillReward": ByteString,
      "combinationConsumable": ByteString,
      "combinationEquipment": ByteString,
      "craftQuery": CraftQuery,
      "createAvatar": ByteString,
      "createPledge": ByteString,
      "dailyReward": ByteString,
      "deliverToOthersGarages": ByteString,
      "endPledge": ByteString,
      "grinding": ByteString,
      "hackAndSlash": ByteString,
      "hackAndSlashSweep": ByteString,
      "issueToken": ByteString,
      "itemEnhancement": ByteString,
      "loadIntoMyGarages": ByteString,
      "migrateMonsterCollection": ByteString,
      "patchTableSheet": ByteString,
      "prepareRewardAssets": ByteString,
      "raid": ByteString,
      "rapidCombination": ByteString,
      "requestPledge": ByteString,
      "retrieveAvatarAssets": ByteString,
      "runeEnhancement": ByteString,
      "runeSummon": ByteString,
      "stake": ByteString,
      "transferAsset": ByteString,
      "transferAssets": ByteString,
      "unloadFromMyGarages": ByteString,
      "unlockEquipmentRecipe": ByteString,
      "unlockWorld": ByteString
    }
  }
}

activated

Since NCIP-15, it doesn't care account activation.
Response

Returns a Boolean!

Arguments
Name Description
invitationCode - String!

Example

Query
query Activated($invitationCode: String!) {
  activated(invitationCode: $invitationCode)
}
Variables
{"invitationCode": "xyz789"}
Response
{"data": {"activated": true}}

activationKeyNonce

Since NCIP-15, it doesn't care account activation.
Response

Returns a String!

Arguments
Name Description
invitationCode - String!

Example

Query
query ActivationKeyNonce($invitationCode: String!) {
  activationKeyNonce(invitationCode: $invitationCode)
}
Variables
{"invitationCode": "xyz789"}
Response
{"data": {"activationKeyNonce": "abc123"}}

activationStatus

Since NCIP-15, it doesn't care account activation.
Description

Check if the provided address is activated.

Response

Returns an ActivationStatusQuery!

Example

Query
query ActivationStatus {
  activationStatus {
    addressActivated
  }
}
Response
{"data": {"activationStatus": {"addressActivated": false}}}

addressQuery

Description

Query to get derived address.

Response

Returns an AddressQuery!

Example

Query
query AddressQuery {
  addressQuery {
    currencyMintersAddress
    pledgeAddress
    raiderAddress
    raiderListAddress
    worldBossAddress
    worldBossKillRewardRecordAddress
  }
}
Response
{
  "data": {
    "addressQuery": {
      "currencyMintersAddress": [Address],
      "pledgeAddress": Address,
      "raiderAddress": Address,
      "raiderListAddress": Address,
      "worldBossAddress": Address,
      "worldBossKillRewardRecordAddress": Address
    }
  }
}

chainQuery

Use /graphql/explorer
Response

Returns an ExplorerQuery!

Example

Query
query ChainQuery {
  chainQuery {
    blockQuery {
      block {
        ...BlockFragment
      }
      blocks {
        ...BlockFragment
      }
    }
    evidenceQuery {
      committedEvidence {
        ...EvidenceFragment
      }
      evidence {
        ...EvidenceFragment
      }
      pendingEvidence {
        ...EvidenceFragment
      }
    }
    helperQuery {
      bencodexValue {
        ...IValueFragment
      }
      currencyHash
      keyHex
    }
    nodeState {
      peers {
        ...BoundPeerFragment
      }
      preloaded
      validators {
        ...BoundPeerFragment
      }
    }
    rawStateQuery {
      trie {
        ...TrieFragment
      }
    }
    stateQuery {
      balance {
        ...FungibleAssetValueFragment
      }
      states
      totalSupply {
        ...FungibleAssetValueFragment
      }
      validators {
        ...ValidatorFragment
      }
      world {
        ...WorldStateFragment
      }
    }
    transactionQuery {
      bindSignature
      nextNonce
      stagedTransactions {
        ...TransactionFragment
      }
      transaction {
        ...TransactionFragment
      }
      transactionResult {
        ...TxResultTypeFragment
      }
      transactions {
        ...TransactionFragment
      }
      unsignedTransaction
    }
  }
}
Response
{
  "data": {
    "chainQuery": {
      "blockQuery": BlockQuery,
      "evidenceQuery": EvidenceQuery,
      "helperQuery": HelperQuery,
      "nodeState": NodeState,
      "rawStateQuery": RawStateQuery,
      "stateQuery": LibplanetStateQuery,
      "transactionQuery": TransactionQuery
    }
  }
}

diffs

Description

This field allows you to query the diffs between two blocks. baseIndex is the reference block index, and changedIndex is the block index from which to check what changes have occurred relative to baseIndex. Both indices must not be higher than the current block on the chain nor lower than the genesis block index (0). The difference between the two blocks must be greater than zero for a valid comparison and less than ten for performance reasons.

Response

Returns [Diff!]!

Arguments
Name Description
baseIndex - Long! The index of the reference block from which the state is retrieved.
changedIndex - Long! The index of the target block for comparison.

Example

Query
query Diffs(
  $baseIndex: Long!,
  $changedIndex: Long!
) {
  diffs(
    baseIndex: $baseIndex,
    changedIndex: $changedIndex
  ) {
    ... on RootStateDiff {
      diffs {
        ...StateDiffFragment
      }
      path
    }
    ... on StateDiff {
      baseState
      changedState
      path
    }
  }
}
Variables
{"baseIndex": {}, "changedIndex": {}}
Response
{"data": {"diffs": [RootStateDiff]}}

getTx

The root query is not the best place for getTx so it was moved. Use transaction.getTx()
Response

Returns a TransactionType

Arguments
Name Description
txId - TxId! transaction id.

Example

Query
query GetTx($txId: TxId!) {
  getTx(txId: $txId) {
    actions {
      inspection
      json
      raw
    }
    id
    nonce
    publicKey {
      address
      hex
    }
    serializedPayload
    signature
    signer
    timestamp
    updatedAddresses
  }
}
Variables
{"txId": TxId}
Response
{
  "data": {
    "getTx": {
      "actions": [Action],
      "id": TxId,
      "nonce": {},
      "publicKey": PublicKeyType,
      "serializedPayload": "xyz789",
      "signature": ByteString,
      "signer": Address,
      "timestamp": "abc123",
      "updatedAddresses": [Address]
    }
  }
}

goldBalance

Response

Returns a String!

Arguments
Name Description
address - Address! Target address to query
hash - ByteString Offset block hash for query.

Example

Query
query GoldBalance(
  $address: Address!,
  $hash: ByteString
) {
  goldBalance(
    address: $address,
    hash: $hash
  )
}
Variables
{
  "address": Address,
  "hash": ByteString
}
Response
{"data": {"goldBalance": "abc123"}}

keyStore

Use planet key command instead. https://www.npmjs.com/package/@planetarium/cli
Response

Returns a KeyStoreType

Example

Query
query KeyStore {
  keyStore {
    decryptedPrivateKey
    privateKey {
      hex
      publicKey {
        ...PublicKeyTypeFragment
      }
    }
    protectedPrivateKeys {
      address
    }
  }
}
Response
{
  "data": {
    "keyStore": {
      "decryptedPrivateKey": ByteString,
      "privateKey": PrivateKeyType,
      "protectedPrivateKeys": [ProtectedPrivateKeyType]
    }
  }
}

minerAddress

Description

Address of current node.

Response

Returns an Address

Example

Query
query MinerAddress {
  minerAddress
}
Response
{"data": {"minerAddress": Address}}

monsterCollectionStatus

Description

Get monster collection status by address.

Response

Returns a MonsterCollectionStatusType

Arguments
Name Description
address - Address agent address.

Example

Query
query MonsterCollectionStatus($address: Address) {
  monsterCollectionStatus(address: $address) {
    fungibleAssetValue {
      currency
      quantity
    }
    lockup
    rewardInfos {
      itemId
      quantity
    }
    tipIndex
  }
}
Variables
{"address": Address}
Response
{
  "data": {
    "monsterCollectionStatus": {
      "fungibleAssetValue": FungibleAssetValueType,
      "lockup": true,
      "rewardInfos": [MonsterCollectionRewardInfoType],
      "tipIndex": {}
    }
  }
}

nextTxNonce

The root query is not the best place for nextTxNonce so it was moved. Use transaction.nextTxNonce()
Response

Returns a Long!

Arguments
Name Description
address - Address! Target address to query

Example

Query
query NextTxNonce($address: Address!) {
  nextTxNonce(address: $address)
}
Variables
{"address": Address}
Response
{"data": {"nextTxNonce": {}}}

nodeStatus

Response

Returns a NodeStatusType!

Example

Query
query NodeStatus {
  nodeStatus {
    appProtocolVersion {
      extra
      signature
      signer
      version
    }
    bootstrapEnded
    genesis {
      hash
      id
      index
      miner
    }
    informationalVersion
    isMining
    preloadEnded
    productVersion
    stagedTxIds
    stagedTxIdsCount
    subscriberAddresses
    subscriberAddressesCount
    tip {
      hash
      id
      index
      miner
    }
    topmostBlocks {
      hash
      id
      index
      miner
    }
  }
}
Response
{
  "data": {
    "nodeStatus": {
      "appProtocolVersion": AppProtocolVersionType,
      "bootstrapEnded": false,
      "genesis": BlockHeader,
      "informationalVersion": "abc123",
      "isMining": true,
      "preloadEnded": true,
      "productVersion": "abc123",
      "stagedTxIds": [TxId],
      "stagedTxIdsCount": 123,
      "subscriberAddresses": [Address],
      "subscriberAddressesCount": 123,
      "tip": BlockHeader,
      "topmostBlocks": [BlockHeader]
    }
  }
}

peerChainState

Description

Get the peer's block chain state

Response

Returns a PeerChainStateQuery!

Example

Query
query PeerChainState {
  peerChainState {
    state
  }
}
Response
{
  "data": {
    "peerChainState": {"state": ["xyz789"]}
  }
}

rpcInformation

Description

Query for rpc mode information.

Response

Returns a RpcInformationQuery!

Example

Query
query RpcInformation {
  rpcInformation {
    clients
    clientsByDevice
    clientsByIps {
      agents
      agentsCount
      ips
      ipsCount
      key
    }
    clientsCountByIps
    totalCount
    totalCountByDevice
  }
}
Response
{
  "data": {
    "rpcInformation": {
      "clients": [Address],
      "clientsByDevice": [Address],
      "clientsByIps": [MultiAccountInfo],
      "clientsCountByIps": 123,
      "totalCount": 123,
      "totalCountByDevice": 987
    }
  }
}

state

Response

Returns a ByteString

Arguments
Name Description
accountAddress - Address! The address of account to fetch from the chain.
address - Address! The address of state to fetch from the account.
hash - ByteString The hash of the block used to fetch state from chain.
index - Long The index of the block used to fetch state from chain.

Example

Query
query State(
  $accountAddress: Address!,
  $address: Address!,
  $hash: ByteString,
  $index: Long
) {
  state(
    accountAddress: $accountAddress,
    address: $address,
    hash: $hash,
    index: $index
  )
}
Variables
{
  "accountAddress": Address,
  "address": Address,
  "hash": ByteString,
  "index": {}
}
Response
{"data": {"state": ByteString}}

stateQuery

Response

Returns a StateQuery!

Arguments
Name Description
hash - ByteString Offset block hash for query.
index - Long Offset block index for query.

Example

Query
query StateQuery(
  $hash: ByteString,
  $index: Long
) {
  stateQuery(
    hash: $hash,
    index: $index
  ) {
    agent {
      address
      avatarStates {
        ...AvatarStateTypeFragment
      }
      crystal
      gold
      hasTradedItem
      monsterCollectionLevel
      monsterCollectionRound
      pledge {
        ...MeadPledgeTypeFragment
      }
    }
    arenaInformation {
      address
      avatarAddress
      lose
      purchasedTicketCount
      score
      ticket
      ticketResetCount
      win
    }
    arenaParticipants {
      avatarAddr
      cp
      level
      loseScore
      nameWithHash
      portraitId
      rank
      score
      winScore
    }
    avatar {
      actionPoint
      address
      agentAddress
      blockIndex
      characterId
      combinationSlots {
        ...CombinationSlotStateTypeFragment
      }
      dailyRewardReceivedIndex
      ear
      eventMap {
        ...CollectionMapTypeFragment
      }
      exp
      hair
      index
      inventory {
        ...InventoryTypeFragment
      }
      inventoryAddress
      itemMap {
        ...CollectionMapTypeFragment
      }
      lens
      level
      mailBox {
        ...MailBoxTypeFragment
      }
      monsterMap {
        ...CollectionMapTypeFragment
      }
      name
      questList {
        ...QuestListTypeFragment
      }
      runes {
        ...RuneStateTypeFragment
      }
      stageMap {
        ...CollectionMapTypeFragment
      }
      tail
      updatedAt
      worldInformation {
        ...WorldInformationTypeFragment
      }
    }
    avatars {
      actionPoint
      address
      agentAddress
      blockIndex
      characterId
      combinationSlots {
        ...CombinationSlotStateTypeFragment
      }
      dailyRewardReceivedIndex
      ear
      eventMap {
        ...CollectionMapTypeFragment
      }
      exp
      hair
      index
      inventory {
        ...InventoryTypeFragment
      }
      inventoryAddress
      itemMap {
        ...CollectionMapTypeFragment
      }
      lens
      level
      mailBox {
        ...MailBoxTypeFragment
      }
      monsterMap {
        ...CollectionMapTypeFragment
      }
      name
      questList {
        ...QuestListTypeFragment
      }
      runes {
        ...RuneStateTypeFragment
      }
      stageMap {
        ...CollectionMapTypeFragment
      }
      tail
      updatedAt
      worldInformation {
        ...WorldInformationTypeFragment
      }
    }
    balance {
      currency {
        ...CurrencyTypeFragment
      }
      quantity
    }
    cachedSheet
    crystalMonsterCollectionMultiplierSheet {
      orderedList {
        ...CrystalMonsterCollectionMultiplierRowTypeFragment
      }
    }
    garages {
      agentAddr
      fungibleItemGarages {
        ...FungibleItemGarageWithAddressTypeFragment
      }
      garageBalances {
        ...FungibleAssetValueFragment
      }
      garageBalancesAddr
    }
    latestStakeRewards {
      orderedList {
        ...StakeRegularRewardsTypeFragment
      }
    }
    monsterCollectionSheet {
      orderedList {
        ...MonsterCollectionRowTypeFragment
      }
    }
    monsterCollectionState {
      address
      claimableBlockIndex
      expiredBlockIndex
      level
      receivedBlockIndex
      rewardLevel
      startedBlockIndex
    }
    orderDigestList {
      address
      orderDigestList {
        ...OrderDigestTypeFragment
      }
    }
    pledge {
      approved
      mead
      patronAddress
    }
    raidId
    raiderList
    raiderState {
      avatarAddress
      avatarName
      claimedBlockIndex
      cp
      highScore
      iconId
      latestBossLevel
      latestRewardRank
      level
      purchaseCount
      refillBlockIndex
      remainChallengeCount
      totalChallengeCount
      totalScore
    }
    rankingMap {
      address
      capacity
      rankingInfos {
        ...RankingInfoTypeFragment
      }
    }
    shardedShop {
      address
      orderDigestList {
        ...OrderDigestTypeFragment
      }
    }
    shop {
      address
      products {
        ...ShopItemTypeFragment
      }
    }
    stakeRewards {
      orderedList {
        ...StakeRegularRewardsTypeFragment
      }
    }
    stakeState {
      achievements {
        ...StakeAchievementsTypeFragment
      }
      address
      cancellableBlockIndex
      claimableBlockIndex
      deposit
      receivedBlockIndex
      stakeRewards {
        ...StakeRewardsTypeFragment
      }
      startedBlockIndex
    }
    stakeStates {
      achievements {
        ...StakeAchievementsTypeFragment
      }
      address
      cancellableBlockIndex
      claimableBlockIndex
      deposit
      receivedBlockIndex
      stakeRewards {
        ...StakeRewardsTypeFragment
      }
      startedBlockIndex
    }
    unlockedRecipeIds
    unlockedWorldIds
    weeklyArena {
      address
      ended
      orderedArenaInfos {
        ...ArenaInfoTypeFragment
      }
    }
    worldBossKillRewardRecord {
      map {
        ...WorldBossKillRewardRecordMapTypeFragment
      }
    }
    worldBossState {
      currentHp
      endedBlockIndex
      id
      level
      startedBlockIndex
    }
  }
}
Variables
{"hash": ByteString, "index": {}}
Response
{
  "data": {
    "stateQuery": {
      "agent": AgentStateType,
      "arenaInformation": [ArenaInformationType],
      "arenaParticipants": [ArenaParticipantType],
      "avatar": AvatarStateType,
      "avatars": [AvatarStateType],
      "balance": FungibleAssetValueWithCurrencyType,
      "cachedSheet": "abc123",
      "crystalMonsterCollectionMultiplierSheet": CrystalMonsterCollectionMultiplierSheetType,
      "garages": GaragesType,
      "latestStakeRewards": StakeRewardsType,
      "monsterCollectionSheet": MonsterCollectionSheetType,
      "monsterCollectionState": MonsterCollectionStateType,
      "orderDigestList": OrderDigestListStateType,
      "pledge": MeadPledgeType,
      "raidId": 123,
      "raiderList": [Address],
      "raiderState": RaiderStateType,
      "rankingMap": RankingMapStateType,
      "shardedShop": ShardedShopStateV2Type,
      "shop": ShopStateType,
      "stakeRewards": StakeRewardsType,
      "stakeState": StakeStateType,
      "stakeStates": [StakeStateType],
      "unlockedRecipeIds": [987],
      "unlockedWorldIds": [987],
      "weeklyArena": WeeklyArenaStateType,
      "worldBossKillRewardRecord": WorldBossKillRewardRecordType,
      "worldBossState": WorldBossStateType
    }
  }
}

transaction

Description

Query for transaction.

Response

Returns a TransactionHeadlessQuery!

Example

Query
query Transaction {
  transaction {
    attachSignature
    createUnsignedTx
    getTx {
      actions {
        ...ActionFragment
      }
      id
      nonce
      publicKey {
        ...PublicKeyTypeFragment
      }
      serializedPayload
      signature
      signer
      timestamp
      updatedAddresses
    }
    ncTransactions {
      actions {
        ...ActionFragment
      }
      id
      nonce
      publicKey {
        ...PublicKeyTypeFragment
      }
      serializedPayload
      signature
      signer
      timestamp
      updatedAddresses
    }
    nextTxNonce
    signTransaction
    transactionResult {
      blockHash
      blockIndex
      exceptionNames
      inputState
      outputState
      txStatus
    }
    transactionResults {
      blockHash
      blockIndex
      exceptionNames
      inputState
      outputState
      txStatus
    }
    unsignedTransaction
  }
}
Response
{
  "data": {
    "transaction": {
      "attachSignature": "abc123",
      "createUnsignedTx": "abc123",
      "getTx": TransactionType,
      "ncTransactions": [TransactionType],
      "nextTxNonce": {},
      "signTransaction": ByteString,
      "transactionResult": TxResultType,
      "transactionResults": [TxResultType],
      "unsignedTransaction": ByteString
    }
  }
}

transferNCGHistories

Response

Returns [TransferNCGHistoryType!]!

Arguments
Name Description
blockHash - ByteString!
recipient - Address

Example

Query
query TransferNCGHistories(
  $blockHash: ByteString!,
  $recipient: Address
) {
  transferNCGHistories(
    blockHash: $blockHash,
    recipient: $recipient
  ) {
    amount
    blockHash
    memo
    recipient
    sender
    txId
  }
}
Variables
{
  "blockHash": ByteString,
  "recipient": Address
}
Response
{
  "data": {
    "transferNCGHistories": [
      {
        "amount": "abc123",
        "blockHash": ByteString,
        "memo": "xyz789",
        "recipient": Address,
        "sender": Address,
        "txId": ByteString
      }
    ]
  }
}

validation

Description

The validation method provider for Libplanet types.

Response

Returns a ValidationQuery!

Example

Query
query Validation {
  validation {
    metadata
    privateKey
    publicKey
  }
}
Response
{
  "data": {
    "validation": {"metadata": false, "privateKey": true, "publicKey": true}
  }
}

Mutations

action

Response

Returns an ActionMutation

Example

Query
mutation Action {
  action {
    chargeActionPoint
    combinationConsumable
    combinationEquipment
    createAvatar
    dailyReward
    hackAndSlash
    itemEnhancement
  }
}
Response
{
  "data": {
    "action": {
      "chargeActionPoint": TxId,
      "combinationConsumable": TxId,
      "combinationEquipment": TxId,
      "createAvatar": TxId,
      "dailyReward": TxId,
      "hackAndSlash": TxId,
      "itemEnhancement": TxId
    }
  }
}

keyStore

Use planet key command instead. https://www.npmjs.com/package/@planetarium/cli
Response

Returns a KeyStoreMutation

Example

Query
mutation KeyStore {
  keyStore {
    createPrivateKey {
      hex
      publicKey {
        ...PublicKeyTypeFragment
      }
    }
    revokePrivateKey {
      address
    }
  }
}
Response
{
  "data": {
    "keyStore": {
      "createPrivateKey": PrivateKeyType,
      "revokePrivateKey": ProtectedPrivateKeyType
    }
  }
}

stageTransaction

Description

Add a new transaction to staging and return TxId

Response

Returns a TxId!

Arguments
Name Description
payload - String! The hexadecimal string of the transaction to stage.

Example

Query
mutation StageTransaction($payload: String!) {
  stageTransaction(payload: $payload)
}
Variables
{"payload": "xyz789"}
Response
{"data": {"stageTransaction": TxId}}

stageTx

Description

Add a new transaction to staging

Response

Returns a Boolean!

Arguments
Name Description
payload - String! The base64-encoded bytes for new transaction.

Example

Query
mutation StageTx($payload: String!) {
  stageTx(payload: $payload)
}
Variables
{"payload": "abc123"}
Response
{"data": {"stageTx": false}}

stageTxV2

API update with action query. use stageTransaction mutation
Description

Add a new transaction to staging and return TxId

Response

Returns a TxId!

Arguments
Name Description
payload - String! The base64-encoded bytes for new transaction.

Example

Query
mutation StageTxV2($payload: String!) {
  stageTxV2(payload: $payload)
}
Variables
{"payload": "xyz789"}
Response
{"data": {"stageTxV2": TxId}}

transfer

Response

Returns a TxId

Arguments
Name Description
amount - String! A string value of the value to be transferred.
currencyAddress - String! A hex-encoded value for address of currency to be transferred. The default is the NCG's address. Default = "000000000000000000000000000000000000000A"
memo - String A 80-max length string to note.
recipient - Address! A hex-encoded value for address of recipient.
txNonce - Long! A sender's transaction counter. You can get it through nextTxNonce().

Example

Query
mutation Transfer(
  $amount: String!,
  $currencyAddress: String!,
  $memo: String,
  $recipient: Address!,
  $txNonce: Long!
) {
  transfer(
    amount: $amount,
    currencyAddress: $currencyAddress,
    memo: $memo,
    recipient: $recipient,
    txNonce: $txNonce
  )
}
Variables
{
  "amount": "abc123",
  "currencyAddress": "000000000000000000000000000000000000000A",
  "memo": "xyz789",
  "recipient": Address,
  "txNonce": {}
}
Response
{"data": {"transfer": TxId}}

transferGold

Incorrect remittance may occur when using transferGold() to the same address consecutively. Use transfer() instead.
Response

Returns a TxId

Arguments
Name Description
amount - String!
recipient - Address!

Example

Query
mutation TransferGold(
  $amount: String!,
  $recipient: Address!
) {
  transferGold(
    amount: $amount,
    recipient: $recipient
  )
}
Variables
{
  "amount": "abc123",
  "recipient": Address
}
Response
{"data": {"transferGold": TxId}}

Subscriptions

balanceByAgent

Response

Returns a String!

Arguments
Name Description
address - Address! A hex-encoded address of agent.

Example

Query
subscription BalanceByAgent($address: Address!) {
  balanceByAgent(address: $address)
}
Variables
{"address": Address}
Response
{"data": {"balanceByAgent": "abc123"}}

differentAppProtocolVersionEncounter

Example

Query
subscription DifferentAppProtocolVersionEncounter {
  differentAppProtocolVersionEncounter {
    localVersion {
      extra
      signature
      signer
      version
    }
    peer
    peerVersion {
      extra
      signature
      signer
      version
    }
  }
}
Response
{
  "data": {
    "differentAppProtocolVersionEncounter": {
      "localVersion": AppProtocolVersionType,
      "peer": "abc123",
      "peerVersion": AppProtocolVersionType
    }
  }
}

nodeException

Response

Returns a NodeExceptionType!

Example

Query
subscription NodeException {
  nodeException {
    code
    message
  }
}
Response
{
  "data": {
    "nodeException": {
      "code": 987,
      "message": "xyz789"
    }
  }
}

nodeStatus

Response

Returns a NodeStatusType

Example

Query
subscription NodeStatus {
  nodeStatus {
    appProtocolVersion {
      extra
      signature
      signer
      version
    }
    bootstrapEnded
    genesis {
      hash
      id
      index
      miner
    }
    informationalVersion
    isMining
    preloadEnded
    productVersion
    stagedTxIds
    stagedTxIdsCount
    subscriberAddresses
    subscriberAddressesCount
    tip {
      hash
      id
      index
      miner
    }
    topmostBlocks {
      hash
      id
      index
      miner
    }
  }
}
Response
{
  "data": {
    "nodeStatus": {
      "appProtocolVersion": AppProtocolVersionType,
      "bootstrapEnded": false,
      "genesis": BlockHeader,
      "informationalVersion": "xyz789",
      "isMining": true,
      "preloadEnded": true,
      "productVersion": "abc123",
      "stagedTxIds": [TxId],
      "stagedTxIdsCount": 123,
      "subscriberAddresses": [Address],
      "subscriberAddressesCount": 987,
      "tip": BlockHeader,
      "topmostBlocks": [BlockHeader]
    }
  }
}

notification

Response

Returns a NotificationType!

Example

Query
subscription Notification {
  notification {
    message
    type
  }
}
Response
{
  "data": {
    "notification": {
      "message": "abc123",
      "type": "BUYER"
    }
  }
}

preloadProgress

Since Libplanet 5.3.0 preload progress is no longer reported.
Response

Returns a PreloadStateType

Example

Query
subscription PreloadProgress {
  preloadProgress {
    currentPhase
    extra {
      currentCount
      totalCount
      type
    }
    totalPhase
  }
}
Response
{
  "data": {
    "preloadProgress": {
      "currentPhase": {},
      "extra": PreloadStateExtraType,
      "totalPhase": {}
    }
  }
}

tipChanged

Response

Returns a TipChanged

Example

Query
subscription TipChanged {
  tipChanged {
    hash
    index
  }
}
Response
{
  "data": {
    "tipChanged": {"hash": ByteString, "index": {}}
  }
}

tx

Response

Returns a TxType

Arguments
Name Description
actionType - String! A regular expression to filter transactions based on action type.

Example

Query
subscription Tx($actionType: String!) {
  tx(actionType: $actionType) {
    transaction {
      actions {
        ...ActionFragment
      }
      id
      nonce
      publicKey {
        ...PublicKeyTypeFragment
      }
      serializedPayload
      signature
      signer
      timestamp
      updatedAddresses
    }
    txResult {
      blockHash
      blockIndex
      exceptionNames
      inputState
      outputState
      txStatus
    }
  }
}
Variables
{"actionType": "xyz789"}
Response
{
  "data": {
    "tx": {
      "transaction": TransactionType,
      "txResult": TxResultType
    }
  }
}

Types

AccountState

Description

Represents a raw account state. This is meant to represent a raw storage state void of any application layer context and/or logic. In particular, this does not deal with currency or fungible asset value directly, which requires additional information on currency such as its ticker and possible minters, etc. while interpreting the data retrieved with the provided contextual information. The same is true for validator sets.

Fields
Field Name Description
balance - IValue Balance at given address and currency hash pair. Does not work post block protocol version 7.
Arguments
address - Address!

The address to look up.

currencyHash - HashDigestSHA1!

The currency hash to look up.

balances - [IValue]! Balances at given addresses and currency hash pair. Does not work post block protocol version 7.
Arguments
addresses - [Address!]!

The list of addresses to look up.

currencyHash - HashDigestSHA1!

The currency hash to look up.

state - IValue The state at given address.
Arguments
address - Address!

The address to look up.

stateRootHash - HashDigestSHA256! The state root hash associated with this account state.
states - [IValue]! The states at given addresses.
Arguments
addresses - [Address!]!

The list of addresses to look up.

totalSupply - IValue Total supply in circulation, if recorded, for given currency hash. Does not work post block protocol version 7.
Arguments
currencyHash - HashDigestSHA1!

The currency hash to look up.

validatorSet - IValue The validator set. Does not work post block protocol version 6.
Example
{
  "balance": IValue,
  "balances": [IValue],
  "state": IValue,
  "stateRootHash": HashDigestSHA256,
  "states": [IValue],
  "totalSupply": IValue,
  "validatorSet": IValue
}

Action

Fields
Field Name Description
inspection - String! A readable representation for debugging.
json - String! A JSON representation of action data
raw - String! Raw Action data ('hex' or 'base64' encoding available.)
Arguments
encode - String
Example
{
  "inspection": "abc123",
  "json": "xyz789",
  "raw": "xyz789"
}

ActionMutation

Fields
Field Name Description
chargeActionPoint - TxId! Charge Action Points using Material. This API is insecure and must not be used.
Arguments
avatarAddress - Address!

Avatar to use potion.

combinationConsumable - TxId! Combine new Consumable. This API is insecure and must not be used.
Arguments
avatarAddress - Address!

Avatar address to combine consumable.

recipeId - Int!

ConsumableRecipe ID from ConsumableRecipeSheet.

slotIndex - Int!

The empty combination slot index to combine consumable. 0 ~ 3

combinationEquipment - TxId! Combine new equipment. This API is insecure and must not be used.
Arguments
avatarAddress - Address!

Avatar address to create equipment.

recipeId - Int!

EquipmentRecipe ID from EquipmentRecipeSheet.

slotIndex - Int!

The empty combination slot index to combine equipment. 0 ~ 3

subRecipeId - Int

EquipmentSubRecipe ID from EquipmentSubRecipeSheet.

createAvatar - TxId! Create new avatar. This API is insecure and must not be used.
Arguments
avatarIndex - Int!

The index of character slot. 0 ~ 2

avatarName - String!

Avatar name.

earIndex - Int!

The index of character ear color. 0 ~ 8

hairIndex - Int!

The index of character hair color. 0 ~ 8

lensIndex - Int!

The index of character eye color. 0 ~ 8

tailIndex - Int!

The index of character tail color. 0 ~ 8

dailyReward - TxId! Get daily reward. This API is insecure and must not be used.
Arguments
avatarAddress - Address!

Avatar address to receive reward.

hackAndSlash - TxId! Start stage to get material. This API is insecure and must not be used.
Arguments
avatarAddress - Address!

Avatar address.

consumableIds - [Guid]

List of consumable id for use.

costumeIds - [Guid]

List of costume id for equip.

equipmentIds - [Guid]

List of equipment id for equip.

runeSlotInfos - [RuneSlotInfoInputType!]

List of rune slot info for equip.

stageId - Int!

Stage ID.

worldId - Int!

World ID containing the stage ID.

itemEnhancement - TxId! Upgrade equipment. This API is insecure and must not be used.
Arguments
avatarAddress - Address!

Avatar address to upgrade equipment.

itemId - Guid!

Equipment Guid for upgrade.

materialIds - [Guid!]!

Material Guids for equipment upgrade.

slotIndex - Int!

The empty combination slot index to upgrade equipment. 0 ~ 3

Example
{
  "chargeActionPoint": TxId,
  "combinationConsumable": TxId,
  "combinationEquipment": TxId,
  "createAvatar": TxId,
  "dailyReward": TxId,
  "hackAndSlash": TxId,
  "itemEnhancement": TxId
}

ActionQuery

Fields
Field Name Description
approvePledge - ByteString!
Arguments
patronAddress - Address!
auraSummon - ByteString!
Arguments
avatarAddress - Address!

Avatar address to get summoned items

groupId - Int!

Summon group id

summonCount - Int!

Count to summon. Must between 1 and 10.

claimItems - ByteString!
Arguments
claimData - [ClaimDataInputType!]!

List of pair of avatar address, List to claim.

memo - String

Memo to attach to this action.

claimRaidReward - ByteString!
Arguments
avatarAddress - Address!

address of avatar state to receive reward.

claimStakeReward - ByteString
Arguments
avatarAddress - Address

The avatar address to receive staking rewards.

claimWorldBossKillReward - ByteString!
Arguments
avatarAddress - Address!

address of avatar state to receive reward.

combinationConsumable - ByteString!
Arguments
avatarAddress - Address!

Avatar address to combine consumable

recipeId - Int!

Recipe ID to combine consumable

slotIndex - Int!

Slot index to combine

combinationEquipment - ByteString!
Arguments
avatarAddress - Address!

Avatar address to combine equipment

payByCrystal - Boolean

Pay crystal co combine equipment?

recipeId - Int!

Combination recipe ID

slotIndex - Int!

Slot index to combine equipment

subRecipeId - Int

Sub-recipe ID of this combination

useHammerPoint - Boolean

Use hammer point to combine equipment?

craftQuery - CraftQuery! Query to craft/enhance items/foods
createAvatar - ByteString!
Arguments
ear - Int

ear index of avatar.

hair - Int

hair index of avatar.

index - Int!

index of avatar in AgentState.avatarAddresses.(0~2)

lens - Int

lens index of avatar.

name - String!

name of avatar.(2~20 characters)

tail - Int

tail index of avatar.

createPledge - ByteString!
Arguments
agentAddresses - [Address!]!
mead - Int
patronAddress - Address!
dailyReward - ByteString!
Arguments
avatarAddress - Address!

Avatar address to get daily reward

deliverToOthersGarages - ByteString!
Arguments
fungibleAssetValues - [SimplifyFungibleAssetValueInput!]

Array of currency ticket and quantity to deliver.

fungibleIdAndCounts - [FungibleIdAndCountInput!]

Array of Fungible ID and count to deliver.

memo - String

Memo

recipientAgentAddr - Address!

Recipient agent address

endPledge - ByteString!
Arguments
agentAddress - Address!
grinding - ByteString
Arguments
avatarAddress - Address!

Address of avatar.

chargeAp - Boolean

Flag to Charge Action Point.

equipmentIds - [Guid]!

List of equipment ItemId.

hackAndSlash - ByteString!
Arguments
avatarAddress - Address!

Avatar address.

consumableIds - [Guid]

List of consumable id for use.

costumeIds - [Guid]

List of costume id for equip.

equipmentIds - [Guid]

List of equipment id for equip.

runeSlotInfos - [RuneSlotInfoInputType!]

List of rune slot info for equip.

stageBuffId - Int

Buff ID for this stage

stageId - Int!

Stage ID.

worldId - Int!

World ID containing the stage ID.

hackAndSlashSweep - ByteString!
Arguments
actionPoint - Int!

Action point usage to sweep

apStoneCount - Int

AP stone usage to sweep

avatarAddress - Address!

Avatar address.

costumeIds - [Guid]

List of costume id for equip.

equipmentIds - [Guid]

List of equipment id for equip.

runeSlotInfos - [RuneSlotInfoInputType!]

List of rune slot info for equip.

stageId - Int!

Stage ID.

worldId - Int!

World ID containing the stage ID.

issueToken - ByteString!
Arguments
avatarAddress - Address!

Avatar address

fungibleAssetValues - [FungibleAssetValueInputType!]!

List of FungibleAssetValues for wrapping token

items - [IssueTokenItemsInputType!]!

List of pair of item id, count for wrapping token

itemEnhancement - ByteString!
Arguments
avatarAddress - Address!

Avatar address to enhance item

itemId - Guid!

Target item ID to enhance

materialIds - [Guid!]!

Material IDs to enhance

slotIndex - Int!

Slot index to enhance item

loadIntoMyGarages - ByteString!
Arguments
fungibleAssetValues - [BalanceInput!]

Array of balance address and currency ticker and quantity.

fungibleIdAndCounts - [FungibleIdAndCountInput!]

Array of fungible ID and count

inventoryAddr - Address

Inventory Address

memo - String

Memo

migrateMonsterCollection - ByteString!
Arguments
avatarAddress - Address

The avatar address to receive monster collection rewards.

patchTableSheet - ByteString!
Arguments
tableCsv - String!

table data.

tableName - String!

name of table sheet.

prepareRewardAssets - ByteString!
Arguments
assets - [FungibleAssetValueInputType!]!

list of FungibleAssetValue for charge reward.

rewardPoolAddress - Address!

address of reward pool for charge reward.

raid - ByteString!
Arguments
avatarAddress - Address!

address of avatar state.

costumeIds - [Guid]

list of costume id.

equipmentIds - [Guid]

list of equipment id.

foodIds - [Guid]

list of food id.

payNcg - Boolean

refill ticket by NCG.

runeSlotInfos - [RuneSlotInfoInputType!]

list of rune slot

rapidCombination - ByteString!
Arguments
avatarAddress - Address!

Avatar address to execute rapid combination

slotIndexList - [Int!]!

Slot index list to execute rapid

requestPledge - ByteString!
Arguments
agentAddress - Address!
mead - Int
retrieveAvatarAssets - ByteString!
Arguments
avatarAddress - Address!

Avatar address to retrieve assets

runeEnhancement - ByteString!
Arguments
avatarAddress - Address!

The avatar address to enhance rune.

runeId - Int!

Rune ID to enhance.

tryCount - Int

The try count to enhance rune

runeSummon - ByteString!
Arguments
avatarAddress - Address!

Avatar address to get summoned items

groupId - Int!

Summon group id

summonCount - Int!

Count to summon. Must between 1 and 10.

stake - ByteString
Arguments
amount - BigInt

An amount to stake.

transferAsset - ByteString
Arguments
amount - String!

A string value to be transferred.

currency - CurrencyEnum

A enum value of currency to be transferred.

memo - String

A 80-max length string to note.

rawCurrency - CurrencyInput

A currency to be transferred.

recipient - Address!

Address of recipient.

sender - Address!

Address of sender.

transferAssets - ByteString!
Arguments
memo - String

A 80-max length string to note.

recipients - [RecipientsInputType!]!

List of tuples that recipients' address and asset amount to be sent

sender - Address!

Address of sender.

unloadFromMyGarages - ByteString!
Arguments
fungibleAssetValues - [BalanceInput!]

Array of balance address and currency ticker and quantity to send.

fungibleIdAndCounts - [FungibleIdAndCountInput!]

Array of fungible ID and count to send.

memo - String

Memo

recipientAvatarAddr - Address!

Recipient avatar address

unlockEquipmentRecipe - ByteString
Arguments
avatarAddress - Address!

Address of avatar.

recipeIds - [Int]!

List of EquipmentRecipeSheet row ids to unlock.

unlockWorld - ByteString
Arguments
avatarAddress - Address!

Address of avatar.

worldIds - [Int]!

List of WorldUnlockSheet row world_id_to_unlock.

Example
{
  "approvePledge": ByteString,
  "auraSummon": ByteString,
  "claimItems": ByteString,
  "claimRaidReward": ByteString,
  "claimStakeReward": ByteString,
  "claimWorldBossKillReward": ByteString,
  "combinationConsumable": ByteString,
  "combinationEquipment": ByteString,
  "craftQuery": CraftQuery,
  "createAvatar": ByteString,
  "createPledge": ByteString,
  "dailyReward": ByteString,
  "deliverToOthersGarages": ByteString,
  "endPledge": ByteString,
  "grinding": ByteString,
  "hackAndSlash": ByteString,
  "hackAndSlashSweep": ByteString,
  "issueToken": ByteString,
  "itemEnhancement": ByteString,
  "loadIntoMyGarages": ByteString,
  "migrateMonsterCollection": ByteString,
  "patchTableSheet": ByteString,
  "prepareRewardAssets": ByteString,
  "raid": ByteString,
  "rapidCombination": ByteString,
  "requestPledge": ByteString,
  "retrieveAvatarAssets": ByteString,
  "runeEnhancement": ByteString,
  "runeSummon": ByteString,
  "stake": ByteString,
  "transferAsset": ByteString,
  "transferAssets": ByteString,
  "unloadFromMyGarages": ByteString,
  "unlockEquipmentRecipe": ByteString,
  "unlockWorld": ByteString
}

ActionTxQuery

Fields
Field Name Description
approvePledge - ByteString!
Arguments
patronAddress - Address!
auraSummon - ByteString!
Arguments
avatarAddress - Address!

Avatar address to get summoned items

groupId - Int!

Summon group id

summonCount - Int!

Count to summon. Must between 1 and 10.

claimItems - ByteString!
Arguments
claimData - [ClaimDataInputType!]!

List of pair of avatar address, List to claim.

memo - String

Memo to attach to this action.

claimRaidReward - ByteString!
Arguments
avatarAddress - Address!

address of avatar state to receive reward.

claimStakeReward - ByteString
Arguments
avatarAddress - Address

The avatar address to receive staking rewards.

claimWorldBossKillReward - ByteString!
Arguments
avatarAddress - Address!

address of avatar state to receive reward.

combinationConsumable - ByteString!
Arguments
avatarAddress - Address!

Avatar address to combine consumable

recipeId - Int!

Recipe ID to combine consumable

slotIndex - Int!

Slot index to combine

combinationEquipment - ByteString!
Arguments
avatarAddress - Address!

Avatar address to combine equipment

payByCrystal - Boolean

Pay crystal co combine equipment?

recipeId - Int!

Combination recipe ID

slotIndex - Int!

Slot index to combine equipment

subRecipeId - Int

Sub-recipe ID of this combination

useHammerPoint - Boolean

Use hammer point to combine equipment?

craftQuery - CraftQuery! Query to craft/enhance items/foods
createAvatar - ByteString!
Arguments
ear - Int

ear index of avatar.

hair - Int

hair index of avatar.

index - Int!

index of avatar in AgentState.avatarAddresses.(0~2)

lens - Int

lens index of avatar.

name - String!

name of avatar.(2~20 characters)

tail - Int

tail index of avatar.

createPledge - ByteString!
Arguments
agentAddresses - [Address!]!
mead - Int
patronAddress - Address!
dailyReward - ByteString!
Arguments
avatarAddress - Address!

Avatar address to get daily reward

deliverToOthersGarages - ByteString!
Arguments
fungibleAssetValues - [SimplifyFungibleAssetValueInput!]

Array of currency ticket and quantity to deliver.

fungibleIdAndCounts - [FungibleIdAndCountInput!]

Array of Fungible ID and count to deliver.

memo - String

Memo

recipientAgentAddr - Address!

Recipient agent address

endPledge - ByteString!
Arguments
agentAddress - Address!
grinding - ByteString
Arguments
avatarAddress - Address!

Address of avatar.

chargeAp - Boolean

Flag to Charge Action Point.

equipmentIds - [Guid]!

List of equipment ItemId.

hackAndSlash - ByteString!
Arguments
avatarAddress - Address!

Avatar address.

consumableIds - [Guid]

List of consumable id for use.

costumeIds - [Guid]

List of costume id for equip.

equipmentIds - [Guid]

List of equipment id for equip.

runeSlotInfos - [RuneSlotInfoInputType!]

List of rune slot info for equip.

stageBuffId - Int

Buff ID for this stage

stageId - Int!

Stage ID.

worldId - Int!

World ID containing the stage ID.

hackAndSlashSweep - ByteString!
Arguments
actionPoint - Int!

Action point usage to sweep

apStoneCount - Int

AP stone usage to sweep

avatarAddress - Address!

Avatar address.

costumeIds - [Guid]

List of costume id for equip.

equipmentIds - [Guid]

List of equipment id for equip.

runeSlotInfos - [RuneSlotInfoInputType!]

List of rune slot info for equip.

stageId - Int!

Stage ID.

worldId - Int!

World ID containing the stage ID.

issueToken - ByteString!
Arguments
avatarAddress - Address!

Avatar address

fungibleAssetValues - [FungibleAssetValueInputType!]!

List of FungibleAssetValues for wrapping token

items - [IssueTokenItemsInputType!]!

List of pair of item id, count for wrapping token

itemEnhancement - ByteString!
Arguments
avatarAddress - Address!

Avatar address to enhance item

itemId - Guid!

Target item ID to enhance

materialIds - [Guid!]!

Material IDs to enhance

slotIndex - Int!

Slot index to enhance item

loadIntoMyGarages - ByteString!
Arguments
fungibleAssetValues - [BalanceInput!]

Array of balance address and currency ticker and quantity.

fungibleIdAndCounts - [FungibleIdAndCountInput!]

Array of fungible ID and count

inventoryAddr - Address

Inventory Address

memo - String

Memo

migrateMonsterCollection - ByteString!
Arguments
avatarAddress - Address

The avatar address to receive monster collection rewards.

patchTableSheet - ByteString!
Arguments
tableCsv - String!

table data.

tableName - String!

name of table sheet.

prepareRewardAssets - ByteString!
Arguments
assets - [FungibleAssetValueInputType!]!

list of FungibleAssetValue for charge reward.

rewardPoolAddress - Address!

address of reward pool for charge reward.

raid - ByteString!
Arguments
avatarAddress - Address!

address of avatar state.

costumeIds - [Guid]

list of costume id.

equipmentIds - [Guid]

list of equipment id.

foodIds - [Guid]

list of food id.

payNcg - Boolean

refill ticket by NCG.

runeSlotInfos - [RuneSlotInfoInputType!]

list of rune slot

rapidCombination - ByteString!
Arguments
avatarAddress - Address!

Avatar address to execute rapid combination

slotIndexList - [Int!]!

Slot index list to execute rapid

requestPledge - ByteString!
Arguments
agentAddress - Address!
mead - Int
retrieveAvatarAssets - ByteString!
Arguments
avatarAddress - Address!

Avatar address to retrieve assets

runeEnhancement - ByteString!
Arguments
avatarAddress - Address!

The avatar address to enhance rune.

runeId - Int!

Rune ID to enhance.

tryCount - Int

The try count to enhance rune

runeSummon - ByteString!
Arguments
avatarAddress - Address!

Avatar address to get summoned items

groupId - Int!

Summon group id

summonCount - Int!

Count to summon. Must between 1 and 10.

stake - ByteString
Arguments
amount - BigInt

An amount to stake.

transferAsset - ByteString
Arguments
amount - String!

A string value to be transferred.

currency - CurrencyEnum

A enum value of currency to be transferred.

memo - String

A 80-max length string to note.

rawCurrency - CurrencyInput

A currency to be transferred.

recipient - Address!

Address of recipient.

sender - Address!

Address of sender.

transferAssets - ByteString!
Arguments
memo - String

A 80-max length string to note.

recipients - [RecipientsInputType!]!

List of tuples that recipients' address and asset amount to be sent

sender - Address!

Address of sender.

unloadFromMyGarages - ByteString!
Arguments
fungibleAssetValues - [BalanceInput!]

Array of balance address and currency ticker and quantity to send.

fungibleIdAndCounts - [FungibleIdAndCountInput!]

Array of fungible ID and count to send.

memo - String

Memo

recipientAvatarAddr - Address!

Recipient avatar address

unlockEquipmentRecipe - ByteString
Arguments
avatarAddress - Address!

Address of avatar.

recipeIds - [Int]!

List of EquipmentRecipeSheet row ids to unlock.

unlockWorld - ByteString
Arguments
avatarAddress - Address!

Address of avatar.

worldIds - [Int]!

List of WorldUnlockSheet row world_id_to_unlock.

Example
{
  "approvePledge": ByteString,
  "auraSummon": ByteString,
  "claimItems": ByteString,
  "claimRaidReward": ByteString,
  "claimStakeReward": ByteString,
  "claimWorldBossKillReward": ByteString,
  "combinationConsumable": ByteString,
  "combinationEquipment": ByteString,
  "craftQuery": CraftQuery,
  "createAvatar": ByteString,
  "createPledge": ByteString,
  "dailyReward": ByteString,
  "deliverToOthersGarages": ByteString,
  "endPledge": ByteString,
  "grinding": ByteString,
  "hackAndSlash": ByteString,
  "hackAndSlashSweep": ByteString,
  "issueToken": ByteString,
  "itemEnhancement": ByteString,
  "loadIntoMyGarages": ByteString,
  "migrateMonsterCollection": ByteString,
  "patchTableSheet": ByteString,
  "prepareRewardAssets": ByteString,
  "raid": ByteString,
  "rapidCombination": ByteString,
  "requestPledge": ByteString,
  "retrieveAvatarAssets": ByteString,
  "runeEnhancement": ByteString,
  "runeSummon": ByteString,
  "stake": ByteString,
  "transferAsset": ByteString,
  "transferAssets": ByteString,
  "unloadFromMyGarages": ByteString,
  "unlockEquipmentRecipe": ByteString,
  "unlockWorld": ByteString
}

ActivationStatusQuery

Fields
Field Name Description
addressActivated - Boolean! Since NCIP-15, it doesn't care account activation.
Arguments
address - Address!
Example
{"addressActivated": true}

Address

Example
Address

AddressQuery

Fields
Field Name Description
currencyMintersAddress - [Address!] currency minters address.
pledgeAddress - Address! pledge information address.
Arguments
agentAddress - Address!

address of agent state.

raiderAddress - Address! user information address by world boss season.
Arguments
avatarAddress - Address!

address of avatar state.

raidId - Int!

world boss season id.

raiderListAddress - Address! raider list address by world boss season.
Arguments
raidId - Int!

world boss season id.

worldBossAddress - Address! boss information address by world boss season.
Arguments
raidId - Int!

world boss season id.

worldBossKillRewardRecordAddress - Address! user boss kill reward record address by world boss season.
Arguments
avatarAddress - Address!

address of avatar state.

raidId - Int!

world boss season id.

Example
{
  "currencyMintersAddress": [Address],
  "pledgeAddress": Address,
  "raiderAddress": Address,
  "raiderListAddress": Address,
  "worldBossAddress": Address,
  "worldBossKillRewardRecordAddress": Address
}

AgentStateType

Fields
Field Name Description
address - Address! Address of agent.
avatarStates - [AvatarStateType!] List of avatar.
crystal - String! Current CRYSTAL.
gold - String! Current NCG.
hasTradedItem - Boolean!
monsterCollectionLevel - Long! Current monster collection level.
monsterCollectionRound - Long! Monster collection round of agent.
pledge - MeadPledgeType! mead pledge information.
Example
{
  "address": Address,
  "avatarStates": [AvatarStateType],
  "crystal": "xyz789",
  "gold": "xyz789",
  "hasTradedItem": true,
  "monsterCollectionLevel": {},
  "monsterCollectionRound": {},
  "pledge": MeadPledgeType
}

AppProtocolVersionType

Fields
Field Name Description
extra - ByteString
signature - ByteString!
signer - Address!
version - Int!
Example
{
  "extra": ByteString,
  "signature": ByteString,
  "signer": Address,
  "version": 987
}

ArenaInfoType

Fields
Field Name Description
active - Boolean!
agentAddress - Address!
arenaRecord - ArenaRecordType!
avatarAddress - Address!
avatarName - String!
dailyChallengeCount - Int!
score - Int!
Example
{
  "active": true,
  "agentAddress": Address,
  "arenaRecord": ArenaRecordType,
  "avatarAddress": Address,
  "avatarName": "abc123",
  "dailyChallengeCount": 987,
  "score": 123
}

ArenaInformationType

Fields
Field Name Description
address - Address!
avatarAddress - Address!
lose - Int!
purchasedTicketCount - Int!
score - Int!
ticket - Int!
ticketResetCount - Int!
win - Int!
Example
{
  "address": Address,
  "avatarAddress": Address,
  "lose": 123,
  "purchasedTicketCount": 987,
  "score": 987,
  "ticket": 123,
  "ticketResetCount": 987,
  "win": 987
}

ArenaParticipantType

Fields
Field Name Description
avatarAddr - Address! Address of avatar.
cp - Int! Cp of avatar.
level - Int! Level of avatar.
loseScore - Int! Score for defeat.
nameWithHash - String! Name of avatar.
portraitId - Int! Portrait icon id.
rank - Int! Arena rank of avatar.
score - Int! Arena score of avatar.
winScore - Int! Score for victory.
Example
{
  "avatarAddr": Address,
  "cp": 987,
  "level": 123,
  "loseScore": 123,
  "nameWithHash": "xyz789",
  "portraitId": 987,
  "rank": 123,
  "score": 123,
  "winScore": 123
}

ArenaRecordType

Fields
Field Name Description
draw - Int
lose - Int
win - Int
Example
{"draw": 987, "lose": 123, "win": 987}

AvatarStateType

Fields
Field Name Description
actionPoint - Int! Current ActionPoint.
address - Address! Address of avatar.
agentAddress - Address! Address of agent.
blockIndex - Int! Block index at the latest executed action.
characterId - Int! Character ID from CharacterSheet.
combinationSlots - [CombinationSlotStateType!]! Combination slots.
dailyRewardReceivedIndex - Long! Block index at the DailyReward execution.
ear - Int! Index of ear color.
eventMap - CollectionMapType! List of quest event ID.
exp - Int! Avatar total EXP.
hair - Int! Index of hair color.
index - Int! The index of this avatar state among its agent's avatar addresses.
inventory - InventoryType! Avatar inventory.
inventoryAddress - Address! Avatar inventory address.
itemMap - CollectionMapType! List of acquired item ID.
lens - Int! Index of eye color.
level - Int! Avatar Level.
mailBox - MailBoxType! List of mail.
monsterMap - CollectionMapType! List of defeated monster ID.
name - String! Avatar name.
questList - QuestListType! List of quest.
runes - [RuneStateType!]! Rune list of avatar
stageMap - CollectionMapType! List of cleared stage ID.
tail - Int! Index of tail color.
updatedAt - Long! Block index at the latest executed action.
worldInformation - WorldInformationType! World & Stage information.
Example
{
  "actionPoint": 987,
  "address": Address,
  "agentAddress": Address,
  "blockIndex": 987,
  "characterId": 987,
  "combinationSlots": [CombinationSlotStateType],
  "dailyRewardReceivedIndex": {},
  "ear": 123,
  "eventMap": CollectionMapType,
  "exp": 987,
  "hair": 123,
  "index": 987,
  "inventory": InventoryType,
  "inventoryAddress": Address,
  "itemMap": CollectionMapType,
  "lens": 987,
  "level": 987,
  "mailBox": MailBoxType,
  "monsterMap": CollectionMapType,
  "name": "abc123",
  "questList": QuestListType,
  "runes": [RuneStateType],
  "stageMap": CollectionMapType,
  "tail": 123,
  "updatedAt": {},
  "worldInformation": WorldInformationType
}

BalanceInput

Fields
Input Field Description
balanceAddr - Address Balance Address.
value - SimplifyFungibleAssetValueInput Fungible asset value ticker and amount.
Example
{
  "balanceAddr": Address,
  "value": SimplifyFungibleAssetValueInput
}

BencodexValue

Example
BencodexValue

BigInt

Example
{}

Block

Fields
Field Name Description
difficulty - Long! The mining difficulty that the block's nonce has to satisfy. Block does not have Difficulty field in PBFT.
evidence - [Evidence!]! Evidence belonging to the block.
hash - ID! A block's hash.
index - Long! The height of the block.
lastCommit - BlockCommit The LastCommit of the block.
miner - Address! The address of the miner.
nonce - ByteString! The proof-of-work nonce which satisfies the required difficulty. Block does not have Nonce field in PBFT.
preEvaluationHash - ByteString! The hash of PreEvaluationBlock.
previousBlock - Block The previous block. If it's a genesis block (i.e., its index is 0) this must be null.
protocolVersion - Int! The protocol version number of the block.
publicKey - PublicKey The public key of the Miner.
signature - ByteString The digital signature of the whole block content (except for hash, which is derived from the signature and other contents)
stateRootHash - ByteString! The hash of the resulting states after evaluating transactions and a block action (if exists)
timestamp - DateTimeOffset!
totalDifficulty - BigInt! The total mining difficulty since the genesis including the block's difficulty. Block does not have TotalDifficulty field in PBFT.
transactions - [Transaction!]! Transactions belonging to the block.
Example
{
  "difficulty": {},
  "evidence": [Evidence],
  "hash": 4,
  "index": {},
  "lastCommit": BlockCommit,
  "miner": Address,
  "nonce": ByteString,
  "preEvaluationHash": ByteString,
  "previousBlock": Block,
  "protocolVersion": 123,
  "publicKey": PublicKey,
  "signature": ByteString,
  "stateRootHash": ByteString,
  "timestamp": DateTimeOffset,
  "totalDifficulty": {},
  "transactions": [Transaction]
}

BlockCommit

Fields
Field Name Description
blockHash - ID! The hash of the block which contains block commit.
height - Long! The height of the block commit.
round - Int! The round of the block commit.
votes - [Vote!]! Total votes of the block commit.
Example
{
  "blockHash": "4",
  "height": {},
  "round": 123,
  "votes": [Vote]
}

BlockHash

Example
BlockHash

BlockHeader

Fields
Field Name Description
hash - String!
id - ID!
index - Int!
miner - Address
Example
{
  "hash": "xyz789",
  "id": 4,
  "index": 123,
  "miner": Address
}

BlockQuery

Fields
Field Name Description
block - Block
Arguments
hash - ID
index - ID
blocks - [Block!]!
Arguments
desc - Boolean!

Whether to query blocks in descending order or not.

limit - Int

The maximum number of blocks to return. This limits the offset index range to query, not the result, i.e. excluded blocks due to a block being empty or not matching the miner (if specified in other arguments) are still counted.

offset - Int!

The offset of the first queried block.

Example
{"block": Block, "blocks": [Block]}

Boolean

Description

The Boolean scalar type represents true or false.

BoundPeer

Fields
Field Name Description
endPoint - String! The endpoint of the peer.
publicIpAddress - String The address of the miner.
publicKey - PublicKey! The public key of the peer.
Example
{
  "endPoint": "xyz789",
  "publicIpAddress": "abc123",
  "publicKey": PublicKey
}

Byte

Example
[196, 189, 173, 171, 167, 163]

ByteString

Example
ByteString

ClaimDataInputType

Fields
Input Field Description
avatarAddress - Address!
fungibleAssetValues - [FungibleAssetValueInputType!]!
Example
{
  "avatarAddress": Address,
  "fungibleAssetValues": [FungibleAssetValueInputType]
}

ClearedStageType

Fields
Field Name Description
stageId - Int!
worldId - Int!
Example
{"stageId": 987, "worldId": 123}

CollectionMapType

Fields
Field Name Description
count - Int!
pairs - [Int!]!
Example
{"count": 987, "pairs": [987]}

CombinationSlotStateType

Fields
Field Name Description
address - Address! Address of combination slot.
index - Int! Slot Index at the combination slot
isUnlocked - Boolean! Is the combination slot unlocked
petId - Int Pet id used in equipment
startBlockIndex - Long! Block index at the combination started.
unlockBlockIndex - Long! Block index at the combination slot can be usable.
Example
{
  "address": Address,
  "index": 123,
  "isUnlocked": true,
  "petId": 123,
  "startBlockIndex": {},
  "unlockBlockIndex": {}
}

ConsumableType

Fields
Field Name Description
elementalType - ElementalType! Item elemental.
grade - Int! Grade from ItemSheet.
id - Int! ID from ItemSheet.
itemId - Guid!
itemSubType - ItemSubType! Item subcategory.
itemType - ItemType! Item category.
mainStat - StatType!
requiredBlockIndex - Long
Example
{
  "elementalType": "FIRE",
  "grade": 987,
  "id": 987,
  "itemId": Guid,
  "itemSubType": "AP_STONE",
  "itemType": "CONSUMABLE",
  "mainStat": "ARMOR_PENETRATION",
  "requiredBlockIndex": {}
}

CostumeType

Fields
Field Name Description
elementalType - ElementalType! Item elemental.
equipped - Boolean! Status of Avatar equipped.
grade - Int! Grade from ItemSheet.
id - Int! ID from ItemSheet.
itemId - Guid! Guid of costume.
itemSubType - ItemSubType! Item subcategory.
itemType - ItemType! Item category.
requiredBlockIndex - Long
Example
{
  "elementalType": "FIRE",
  "equipped": true,
  "grade": 987,
  "id": 987,
  "itemId": Guid,
  "itemSubType": "AP_STONE",
  "itemType": "CONSUMABLE",
  "requiredBlockIndex": {}
}

CraftQuery

Fields
Field Name Description
eventConsumableItemCrafts - ByteString!
Arguments
avatarAddress - Address!

Avatar address to craft event item

eventConsumableItemRecipeId - Int!

Recipe ID of event item to craft

eventScheduleId - Int!

The ID of event schedule

slotIndex - Int!

Target slot index to craft item

eventMaterialItemCrafts - ByteString!
Arguments
avatarAddress - Address!

Avatar address to craft item

eventMaterialItemRecipeId - Int!

Recipe ID of event item to craft

eventScheduleId - Int!

The ID of event schedule

materialsToUse - [MaterialsToUseInputType!]!

Materials to be used to craft

Example
{
  "eventConsumableItemCrafts": ByteString,
  "eventMaterialItemCrafts": ByteString
}

CrystalMonsterCollectionMultiplierRowType

Fields
Field Name Description
level - Int!
multiplier - Int!
Example
{"level": 987, "multiplier": 123}

CrystalMonsterCollectionMultiplierSheetType

Fields
Field Name Description
orderedList - [CrystalMonsterCollectionMultiplierRowType!]!
Example
{
  "orderedList": [
    CrystalMonsterCollectionMultiplierRowType
  ]
}

Currency

Fields
Field Name Description
decimalPlaces - Byte! The number of digits to treat as minor units (i.e., exponents).
hash - ByteString! The deterministic hash derived from other fields.
maximumSupply - FungibleAssetValue The uppermost quantity of currency allowed to exist. null means unlimited supply.
minters - [Address!] The addresses who can mint this currency. If this is null anyone can mint the currency. On the other hand, unlike null, an empty set means no one can mint the currency.
ticker - String! The ticker symbol, e.g., USD.
totalSupplyTrackable - Boolean! Whether the total supply of this currency is trackable.
Example
{
  "decimalPlaces": [196, 189, 173, 171, 167, 163],
  "hash": ByteString,
  "maximumSupply": FungibleAssetValue,
  "minters": [Address],
  "ticker": "xyz789",
  "totalSupplyTrackable": true
}

CurrencyEnum

Description

The currency type.

Values
Enum Value Description

CRYSTAL

GARAGE

MEAD

NCG

RUNESTONE_FREYA_BLESSING

RUNESTONE_FREYA_LIBERATION

RUNESTONE_ODIN_WEAKNESS

RUNESTONE_ODIN_WISDOM

RUNE_ADVENTURER

RUNE_GOLDENLEAF

Example
"CRYSTAL"

CurrencyInput

Fields
Input Field Description
decimalPlaces - Byte! The number of digits to treat as minor units (i.e., exponents).
maximumSupplyMajorUnit - BigInt
maximumSupplyMinorUnit - BigInt
minters - [Address!] The addresses who can mint this currency. If this is null anyone can mint the currency. On the other hand, unlike null, an empty set means no one can mint the currency.
ticker - String! The ticker symbol, e.g., USD.
totalSupplyTrackable - Boolean Whether the total supply of this currency is trackable.
Example
{
  "decimalPlaces": [196, 189, 173, 171, 167, 163],
  "maximumSupplyMajorUnit": {},
  "maximumSupplyMinorUnit": {},
  "minters": [Address],
  "ticker": "abc123",
  "totalSupplyTrackable": false
}

CurrencyType

Fields
Field Name Description
decimalPlaces - Byte!
minters - [Address]
ticker - String!
Example
{
  "decimalPlaces": [196, 189, 173, 171, 167, 163],
  "minters": [Address],
  "ticker": "xyz789"
}

DateTimeOffset

Description

The DateTimeOffset scalar type represents a date, time and offset from UTC. DateTimeOffset expects timestamps to be formatted in accordance with the ISO-8601 standard.

Example
DateTimeOffset

Decimal

Example
Decimal

DecimalStatType

Fields
Field Name Description
additionalValue - Decimal!
baseValue - Decimal!
statType - StatType!
totalValue - Decimal!
Example
{
  "additionalValue": Decimal,
  "baseValue": Decimal,
  "statType": "ARMOR_PENETRATION",
  "totalValue": Decimal
}

Diff

Types
Union Types

RootStateDiff

StateDiff

Example
RootStateDiff

DifferentAppProtocolVersionEncounterType

Fields
Field Name Description
localVersion - AppProtocolVersionType!
peer - String!
peerVersion - AppProtocolVersionType!
Example
{
  "localVersion": AppProtocolVersionType,
  "peer": "abc123",
  "peerVersion": AppProtocolVersionType
}

ElementalType

Values
Enum Value Description

FIRE

LAND

NORMAL

WATER

WIND

Example
"FIRE"

EquipmentType

Fields
Field Name Description
buffSkills - [SkillType]
elementalType - ElementalType! Item elemental.
equipped - Boolean!
exp - Int!
grade - Int! Grade from ItemSheet.
id - Int! ID from ItemSheet.
itemId - Guid!
itemSubType - ItemSubType! Item subcategory.
itemType - ItemType! Item category.
level - Int!
requiredBlockIndex - Long
setId - Int!
skills - [SkillType]
stat - DecimalStatType!
statsMap - StatsMapType!
Example
{
  "buffSkills": [SkillType],
  "elementalType": "FIRE",
  "equipped": true,
  "exp": 123,
  "grade": 123,
  "id": 987,
  "itemId": Guid,
  "itemSubType": "AP_STONE",
  "itemType": "CONSUMABLE",
  "level": 987,
  "requiredBlockIndex": {},
  "setId": 987,
  "skills": [SkillType],
  "stat": DecimalStatType,
  "statsMap": StatsMapType
}

Evidence

Fields
Field Name Description
height - Long! Indicates the block height that infraction has been occurred.
id - ID! A unique identifier derived from this Evidence content
targetAddress - Address! Indicates the address of the target that caused the infraction.
timestamp - DateTimeOffset! Indicates the timestamp the infraction occurred.
type - String! Evidence type.
Example
{
  "height": {},
  "id": 4,
  "targetAddress": Address,
  "timestamp": DateTimeOffset,
  "type": "abc123"
}

EvidenceId

Example
EvidenceId

EvidenceQuery

Description

Retrieve evidence information.

Fields
Field Name Description
committedEvidence - [Evidence!]!
Arguments
blockHash - BlockHash
desc - Boolean
limit - Int
offset - Int
evidence - Evidence
Arguments
id - EvidenceId
pendingEvidence - [Evidence!]!
Arguments
desc - Boolean
limit - Int
offset - Int
Example
{
  "committedEvidence": [Evidence],
  "evidence": Evidence,
  "pendingEvidence": [Evidence]
}

ExplorerQuery

Fields
Field Name Description
blockQuery - BlockQuery
evidenceQuery - EvidenceQuery
helperQuery - HelperQuery
nodeState - NodeState!
rawStateQuery - RawStateQuery
stateQuery - LibplanetStateQuery
transactionQuery - TransactionQuery
Example
{
  "blockQuery": BlockQuery,
  "evidenceQuery": EvidenceQuery,
  "helperQuery": HelperQuery,
  "nodeState": NodeState,
  "rawStateQuery": RawStateQuery,
  "stateQuery": LibplanetStateQuery,
  "transactionQuery": TransactionQuery
}

FungibleAssetValue

Description

Holds a fungible asset value which holds its currency together.

Fields
Field Name Description
currency - Currency! The currency of the fungible asset.
majorUnit - BigInt!
minorUnit - BigInt!
quantity - String! The value quantity without its currency in string, e.g., "123.45".
sign - Int! Gets a number that indicates the sign (-1: negative, 1: positive, or 0: zero) of the value.
string - String! The value quantity with its currency in string, e.g., "123.45 ABC".
Example
{
  "currency": Currency,
  "majorUnit": {},
  "minorUnit": {},
  "quantity": "xyz789",
  "sign": 987,
  "string": "abc123"
}

FungibleAssetValueInputType

Fields
Input Field Description
decimalPlaces - Byte!
minters - [Address!]
quantity - BigInt!
ticker - String!
Example
{
  "decimalPlaces": [196, 189, 173, 171, 167, 163],
  "minters": [Address],
  "quantity": {},
  "ticker": "xyz789"
}

FungibleAssetValueType

Fields
Field Name Description
currency - String!
quantity - String!
Example
{
  "currency": "abc123",
  "quantity": "abc123"
}

FungibleAssetValueWithCurrencyType

Fields
Field Name Description
currency - CurrencyType!
quantity - String!
Arguments
minerUnit - Boolean
Example
{
  "currency": CurrencyType,
  "quantity": "xyz789"
}

FungibleIdAndCountInput

Fields
Input Field Description
count - Int! Count
fungibleId - String! Fungible ID
Example
{"count": 123, "fungibleId": "abc123"}

FungibleItemGarageWithAddressType

Fields
Field Name Description
addr - Address
count - Int
fungibleItemId - String
item - FungibleItemType
Example
{
  "addr": Address,
  "count": 987,
  "fungibleItemId": "xyz789",
  "item": FungibleItemType
}

FungibleItemType

Fields
Field Name Description
fungibleItemId - String!
itemSubType - ItemSubType! Item sub category.
itemType - ItemType! Item category.
Example
{
  "fungibleItemId": "xyz789",
  "itemSubType": "AP_STONE",
  "itemType": "CONSUMABLE"
}

GaragesType

Fields
Field Name Description
agentAddr - Address
fungibleItemGarages - [FungibleItemGarageWithAddressType]
garageBalances - [FungibleAssetValue]
garageBalancesAddr - Address
Example
{
  "agentAddr": Address,
  "fungibleItemGarages": [
    FungibleItemGarageWithAddressType
  ],
  "garageBalances": [FungibleAssetValue],
  "garageBalancesAddr": Address
}

Guid

Example
Guid

HashDigestSHA1

Example
HashDigestSHA1

HashDigestSHA256

Example
HashDigestSHA256

HashDigest_SHA256

Example
HashDigest_SHA256

HelperQuery

Description

A number of queries for convenience.

Fields
Field Name Description
bencodexValue - IValue! Decodes hex encoded bencodex value
Arguments
hex - String!

The byte array in hex representation to decode.

currencyHash - HashDigestSHA1! Converts currency info to currency hash.
Arguments
currency - CurrencyInput!

The currency to convert.

keyHex - KeyBytes! Converts string to key hex representation
Arguments
value - String!

The string value to convert to key hex.

Example
{
  "bencodexValue": IValue,
  "currencyHash": HashDigestSHA1,
  "keyHex": KeyBytes
}

ID

Description

The ID scalar type represents a unique identifier, often used to refetch an object or as key for a cache. The ID type appears in a JSON response as a String; however, it is not intended to be human-readable. When expected as an input type, any string (such as "4") or integer (such as 4) input value will be accepted as an ID.

Example
"4"

IValue

Fields
Field Name Description
base64 - String! A base64 representation of the bencodex value encoded to byte array.
hex - String! A hexadecimal representation of the bencodex value encoded as byte array.
inspection - String! A human readable representation of the bencodex value.
json - String! A JSON representation of the bencodex value
Example
{
  "base64": "xyz789",
  "hex": "abc123",
  "inspection": "xyz789",
  "json": "xyz789"
}

Int

Description

The Int scalar type represents non-fractional signed whole numeric values. Int can represent values between -(2^31) and 2^31 - 1.

Example
123

InventoryItemType

Fields
Field Name Description
count - Int! A count of item
fungibleItemId - String
id - Int! An Id of item
itemType - ItemType! An ItemType of item
lockId - Guid
locked - Boolean!
tradableId - Guid
Example
{
  "count": 987,
  "fungibleItemId": "abc123",
  "id": 987,
  "itemType": "CONSUMABLE",
  "lockId": Guid,
  "locked": true,
  "tradableId": Guid
}

InventoryType

Fields
Field Name Description
consumables - [ConsumableType!]! List of Consumables.
costumes - [CostumeType!]! List of Costumes.
equipments - [EquipmentType!]! List of Equipments.
Arguments
equipped - Boolean

filter equipped inventory item

ids - [Int!]

Ids for fetching only equipment where id (number) is in the given argument.

itemIds - [Guid!]

ItemIds for fetching only equipment where itemId (Guid) is in the given argument.

itemSubType - ItemSubType

An item subtype for fetching only equipment where its subtype is the same. If it wasn't given, you'll get all equipment without relationship to the subtype.

items - [InventoryItemType!]! List of Inventory Item.
Arguments
inventoryItemId - Int

An Id to find Inventory Item

locked - Boolean

filter locked Inventory Item

materials - [MaterialType!]! List of Materials.
Example
{
  "consumables": [ConsumableType],
  "costumes": [CostumeType],
  "equipments": [EquipmentType],
  "items": [InventoryItemType],
  "materials": [MaterialType]
}

IssueTokenItemsInputType

Fields
Input Field Description
count - Int! Count
itemId - Int! item ID
tradable - Boolean! item can be tradable
Example
{"count": 123, "itemId": 987, "tradable": false}

ItemSubType

Values
Enum Value Description

AP_STONE

ARMOR

AURA

BELT

CHEST

ItemSubType.Chest has never been used outside the MaterialItemSheet. And we won't use it in the future until we have a specific reason.

CIRCLE

EAR_COSTUME

EQUIPMENT_MATERIAL

EYE_COSTUME

FOOD

FOOD_MATERIAL

FULL_COSTUME

GRIMOIRE

HAIR_COSTUME

HOURGLASS

MONSTER_PART

NECKLACE

NORMAL_MATERIAL

RING

SCROLL

TAIL_COSTUME

TITLE

WEAPON

Example
"AP_STONE"

ItemType

Values
Enum Value Description

CONSUMABLE

COSTUME

EQUIPMENT

MATERIAL

Example
"CONSUMABLE"

ItemUsableType

Fields
Field Name Description
elementalType - ElementalType! Item elemental.
grade - Int! Grade from ItemSheet.
id - Int! ID from ItemSheet.
itemId - Guid! Guid of item.
itemSubType - ItemSubType! Item subcategory.
itemType - ItemType! Item category.
requiredBlockIndex - Long
Example
{
  "elementalType": "FIRE",
  "grade": 987,
  "id": 987,
  "itemId": Guid,
  "itemSubType": "AP_STONE",
  "itemType": "CONSUMABLE",
  "requiredBlockIndex": {}
}

KeyBytes

Example
KeyBytes

KeyStoreMutation

Fields
Field Name Description
createPrivateKey - PrivateKeyType!
Arguments
passphrase - String!
privateKey - ByteString
revokePrivateKey - ProtectedPrivateKeyType!
Arguments
address - Address!
Example
{
  "createPrivateKey": PrivateKeyType,
  "revokePrivateKey": ProtectedPrivateKeyType
}

KeyStoreType

Fields
Field Name Description
decryptedPrivateKey - ByteString!
Arguments
address - Address!
passphrase - String!
privateKey - PrivateKeyType! An API to provide conversion to public-key, address.
Arguments
hex - ByteString!

A representation of public-key with hexadecimal format.

protectedPrivateKeys - [ProtectedPrivateKeyType!]!
Example
{
  "decryptedPrivateKey": ByteString,
  "privateKey": PrivateKeyType,
  "protectedPrivateKeys": [ProtectedPrivateKeyType]
}

LibplanetStateQuery

Fields
Field Name Description
balance - FungibleAssetValue! Retrieves balance from the legacy account.
Arguments
currency - CurrencyInput!
offsetBlockHash - ID
offsetStateRootHash - HashDigest_SHA256
owner - Address!
states - [BencodexValue]! Retrieves states from the legacy account.
Arguments
addresses - [Address!]!
offsetBlockHash - ID
offsetStateRootHash - HashDigest_SHA256
totalSupply - FungibleAssetValue Retrieves total supply from the legacy account.
Arguments
currency - CurrencyInput!
offsetBlockHash - ID
offsetStateRootHash - HashDigest_SHA256
validators - [Validator!] Retrieves validator set from the legacy account.
Arguments
offsetBlockHash - ID
offsetStateRootHash - HashDigest_SHA256
world - WorldState!
Arguments
blockHash - BlockHash
stateRootHash - HashDigestSHA256
Example
{
  "balance": FungibleAssetValue,
  "states": [BencodexValue],
  "totalSupply": FungibleAssetValue,
  "validators": [Validator],
  "world": WorldState
}

Long

Example
{}

MailBoxType

Fields
Field Name Description
count - Int!
mails - [MailType!]!
Example
{"count": 123, "mails": [MailType]}

MailType

Fields
Field Name Description
blockIndex - Long!
id - Guid!
requiredBlockIndex - Long!
Example
{"blockIndex": {}, "id": Guid, "requiredBlockIndex": {}}

MaterialType

Fields
Field Name Description
elementalType - ElementalType! Item elemental.
grade - Int! Grade from ItemSheet.
id - Int! ID from ItemSheet.
itemId - ByteString!
itemSubType - ItemSubType! Item subcategory.
itemType - ItemType! Item category.
requiredBlockIndex - Long
Example
{
  "elementalType": "FIRE",
  "grade": 123,
  "id": 987,
  "itemId": ByteString,
  "itemSubType": "AP_STONE",
  "itemType": "CONSUMABLE",
  "requiredBlockIndex": {}
}

MaterialsToUseInputType

Fields
Input Field Description
materialId - Int! Material ID to be used.
quantity - Int! Item quantity to be used.
Example
{"materialId": 123, "quantity": 123}

MeadPledgeType

Fields
Field Name Description
approved - Boolean!
mead - Int!
patronAddress - Address
Example
{"approved": true, "mead": 987, "patronAddress": Address}

MonsterCollectionRewardInfoType

Fields
Field Name Description
itemId - Int!
quantity - Int!
Example
{"itemId": 987, "quantity": 987}

MonsterCollectionRowType

Fields
Field Name Description
level - Int!
requiredGold - Int!
rewards - [MonsterCollectionRewardInfoType]!
Example
{
  "level": 987,
  "requiredGold": 987,
  "rewards": [MonsterCollectionRewardInfoType]
}

MonsterCollectionSheetType

Fields
Field Name Description
orderedList - [MonsterCollectionRowType]
Example
{"orderedList": [MonsterCollectionRowType]}

MonsterCollectionStateType

Fields
Field Name Description
address - Address!
claimableBlockIndex - Long!
expiredBlockIndex - Long!
level - Long!
receivedBlockIndex - Long!
rewardLevel - Long!
startedBlockIndex - Long!
Example
{
  "address": Address,
  "claimableBlockIndex": {},
  "expiredBlockIndex": {},
  "level": {},
  "receivedBlockIndex": {},
  "rewardLevel": {},
  "startedBlockIndex": {}
}

MonsterCollectionStatusType

Fields
Field Name Description
fungibleAssetValue - FungibleAssetValueType!
lockup - Boolean!
rewardInfos - [MonsterCollectionRewardInfoType]
tipIndex - Long!
Example
{
  "fungibleAssetValue": FungibleAssetValueType,
  "lockup": true,
  "rewardInfos": [MonsterCollectionRewardInfoType],
  "tipIndex": {}
}

MultiAccountInfo

Fields
Field Name Description
agents - [String]
agentsCount - Int
ips - [String]
ipsCount - Int
key - String!
Example
{
  "agents": ["xyz789"],
  "agentsCount": 987,
  "ips": ["xyz789"],
  "ipsCount": 987,
  "key": "xyz789"
}

NodeExceptionType

Fields
Field Name Description
code - Int! The code of NodeException.
message - String! The message of NodeException.
Example
{"code": 987, "message": "xyz789"}

NodeState

Fields
Field Name Description
peers - [BoundPeer!]!
preloaded - Boolean!
validators - [BoundPeer!]!
Example
{
  "peers": [BoundPeer],
  "preloaded": false,
  "validators": [BoundPeer]
}

NodeStatusType

Fields
Field Name Description
appProtocolVersion - AppProtocolVersionType
bootstrapEnded - Boolean! Whether the current libplanet node has ended bootstrapping.
genesis - BlockHeader! Block header of the genesis block from the current chain.
informationalVersion - String A informational version (a.k.a. version suffix) of NineChronicles.Headless
isMining - Boolean! Whether the current node is mining.
preloadEnded - Boolean! Whether the current libplanet node has ended preloading.
productVersion - String A version of NineChronicles.Headless
stagedTxIds - [TxId] Ids of staged transactions from the current node.
Arguments
address - Address

Target address to query

stagedTxIdsCount - Int The number of ids of staged transactions from the current node.
subscriberAddresses - [Address] A list of subscribers' address
subscriberAddressesCount - Int The number of a list of subscribers' address
tip - BlockHeader! Block header of the tip block from the current canonical chain.
topmostBlocks - [BlockHeader]! The topmost blocks from the current node.
Arguments
limit - Int!

The number of blocks to get.

miner - Address

List only blocks mined by the given address. (List everything if omitted.)

offset - Int

The number of blocks to skip from tip.

Example
{
  "appProtocolVersion": AppProtocolVersionType,
  "bootstrapEnded": false,
  "genesis": BlockHeader,
  "informationalVersion": "abc123",
  "isMining": true,
  "preloadEnded": false,
  "productVersion": "xyz789",
  "stagedTxIds": [TxId],
  "stagedTxIdsCount": 987,
  "subscriberAddresses": [Address],
  "subscriberAddressesCount": 987,
  "tip": BlockHeader,
  "topmostBlocks": [BlockHeader]
}

NotificationEnum

Values
Enum Value Description

BUYER

COMBINATION_CONSUMABLE

COMBINATION_EQUIPMENT

HAS

REFILL

SELLER

Example
"BUYER"

NotificationType

Fields
Field Name Description
message - String The message of Notification.
type - NotificationEnum! The type of Notification.
Example
{"message": "abc123", "type": "BUYER"}

OrderDigestListStateType

Fields
Field Name Description
address - Address
orderDigestList - [OrderDigestType]!
Example
{
  "address": Address,
  "orderDigestList": [OrderDigestType]
}

OrderDigestType

Fields
Field Name Description
combatPoint - Int!
expiredBlockIndex - Int! Block index order expired.
itemCount - Int! Count of item.
itemId - Int! Id of item.
level - Int!
orderId - Guid! Guid of order.
price - String! Order price.
sellerAgentAddress - Address! Address of seller agent.
startedBlockIndex - Int! Block index order started.
tradableId - Guid! Tradable guid of order.
Example
{
  "combatPoint": 987,
  "expiredBlockIndex": 987,
  "itemCount": 123,
  "itemId": 123,
  "level": 987,
  "orderId": Guid,
  "price": "abc123",
  "sellerAgentAddress": Address,
  "startedBlockIndex": 987,
  "tradableId": Guid
}

PeerChainStateQuery

Fields
Field Name Description
state - [String]! Summary of other peers connected to this node. It consists of address, chain height, and total difficulty.
Example
{"state": ["xyz789"]}

PreloadStateExtraType

Fields
Field Name Description
currentCount - Long!
totalCount - Long!
type - String!
Example
{
  "currentCount": {},
  "totalCount": {},
  "type": "xyz789"
}

PreloadStateType

Fields
Field Name Description
currentPhase - Long!
extra - PreloadStateExtraType!
totalPhase - Long!
Example
{
  "currentPhase": {},
  "extra": PreloadStateExtraType,
  "totalPhase": {}
}

PrivateKeyType

Fields
Field Name Description
hex - ByteString! A representation of private-key with hexadecimal format.
publicKey - PublicKeyType! A public-key derived from the private-key.
Example
{
  "hex": ByteString,
  "publicKey": PublicKeyType
}

ProtectedPrivateKeyType

Fields
Field Name Description
address - Address!
Example
{"address": Address}

PublicKey

Example
PublicKey

PublicKeyType

Fields
Field Name Description
address - Address! An address derived from the public-key.
hex - ByteString! A representation of public-key with hexadecimal format.
Arguments
compress - Boolean

A flag to determine whether to compress public-key.

Example
{
  "address": Address,
  "hex": ByteString
}

QuestListType

Fields
Field Name Description
completedQuestIds - [Int!]!
Example
{"completedQuestIds": [123]}

RaiderStateType

Fields
Field Name Description
avatarAddress - Address! address of avatar state.
avatarName - String! name of avatar state.
claimedBlockIndex - Long! rank reward claimed block index.
cp - Int! combat point of avatar state.
highScore - Int! season high score.
iconId - Int! icon id for ranking portrait.
latestBossLevel - Int! latest challenge boss level.
latestRewardRank - Int! latest reward claimed season rank.
level - Int! level of avatar state.
purchaseCount - Int! challenge ticket purchase count.
refillBlockIndex - Long! ticket refilled block index.
remainChallengeCount - Int! remain challenge count before refill.
totalChallengeCount - Int! season total challenge count.
totalScore - Int! season total score.
Example
{
  "avatarAddress": Address,
  "avatarName": "xyz789",
  "claimedBlockIndex": {},
  "cp": 123,
  "highScore": 987,
  "iconId": 987,
  "latestBossLevel": 987,
  "latestRewardRank": 987,
  "level": 987,
  "purchaseCount": 987,
  "refillBlockIndex": {},
  "remainChallengeCount": 123,
  "totalChallengeCount": 987,
  "totalScore": 123
}

RankingInfoType

Fields
Field Name Description
agentAddress - Address! Address of agent.
armorId - Int! Equipped Armor ID from EquipmentItemSheet.
avatarAddress - Address! Address of avatar.
avatarName - String! Avatar name.
exp - Long! Avatar total EXP.
level - Int! Avatar Level.
stageClearedBlockIndex - Long! Block index at Latest stage cleared.
updatedAt - Long! Block index at RankingInfo update.
Example
{
  "agentAddress": Address,
  "armorId": 123,
  "avatarAddress": Address,
  "avatarName": "abc123",
  "exp": {},
  "level": 123,
  "stageClearedBlockIndex": {},
  "updatedAt": {}
}

RankingMapStateType

Fields
Field Name Description
address - Address! Address of RankingMapState.
capacity - Int! RankingMapState Capacity.
rankingInfos - [RankingInfoType!]! List of RankingInfo.
Example
{
  "address": Address,
  "capacity": 123,
  "rankingInfos": [RankingInfoType]
}

RawStateQuery

Fields
Field Name Description
trie - Trie! Retrieves trie from given state root hash.
Arguments
stateRootHash - HashDigest_SHA256
Example
{"trie": Trie}

RecipientsInputType

Fields
Input Field Description
amount - FungibleAssetValueInputType!
recipient - Address!
Example
{
  "amount": FungibleAssetValueInputType,
  "recipient": Address
}

RootStateDiff

Fields
Field Name Description
diffs - [StateDiff!]! List of state differences under this root.
path - String! The path to the root state difference.
Example
{
  "diffs": [StateDiff],
  "path": "xyz789"
}

RpcInformationQuery

Fields
Field Name Description
clients - [Address]! List of address connected to this node.
clientsByDevice - [Address!]! clients connected to this node by device.
Arguments
device - String!
clientsByIps - [MultiAccountInfo]! clients connected to this node grouped by Ip addresses.
Arguments
minimum - Int!
clientsCountByIps - Int! clients count connected to this node grouped by Ip addresses.
Arguments
minimum - Int!
totalCount - Int! total count by connected to this node.
totalCountByDevice - Int! total count by connected to this node.
Arguments
device - String!
Example
{
  "clients": [Address],
  "clientsByDevice": [Address],
  "clientsByIps": [MultiAccountInfo],
  "clientsCountByIps": 987,
  "totalCount": 987,
  "totalCountByDevice": 987
}

RuneSlotInfoInputType

Fields
Input Field Description
runeId - Int!
slotIndex - Int!
Example
{"runeId": 123, "slotIndex": 987}

RuneStateType

Fields
Field Name Description
level - Int! Level of this rune.
runeId - Int! ID of rune.
Example
{"level": 987, "runeId": 987}

ShardedShopStateV2Type

Fields
Field Name Description
address - Address! Address of sharded shop.
orderDigestList - [OrderDigestType]! List of OrderDigest.
Arguments
id - Int

Filter for item id.

maximumPrice - Int

Filter for item maximum price.

Example
{
  "address": Address,
  "orderDigestList": [OrderDigestType]
}

ShopItemType

Fields
Field Name Description
costume - CostumeType Costume information.
itemUsable - ItemUsableType Equipment / Consumable information.
price - String! Item price.
productId - Guid! Guid of product registered.
sellerAgentAddress - Address! Address of seller agent.
sellerAvatarAddress - Address! Address of seller avatar.
Example
{
  "costume": CostumeType,
  "itemUsable": ItemUsableType,
  "price": "abc123",
  "productId": Guid,
  "sellerAgentAddress": Address,
  "sellerAvatarAddress": Address
}

ShopStateType

Fields
Field Name Description
address - Address! Address of shop.
products - [ShopItemType]! List of ShopItem.
Arguments
id - Int

Filter for item id.

maximumPrice - Int

Filter for item maximum price.

Example
{
  "address": Address,
  "products": [ShopItemType]
}

SimplifyFungibleAssetValueInput

Description

A fungible asset value ticker and amount.You can specify either currencyEnum or currencyTicker.

Fields
Input Field Description
currencyEnum - CurrencyEnum A currency type to be loaded.
currencyTicker - String A currency ticker to be loaded.
value - String! A numeric string to parse. Can consist of digits, plus (+), minus (-), and decimal separator (.).
Example
{
  "currencyEnum": "CRYSTAL",
  "currencyTicker": "abc123",
  "value": "abc123"
}

SkillType

Fields
Field Name Description
chance - Int!
elementalType - ElementalType!
id - Int!
power - Int!
referencedStatType - StatType!
statPowerRatio - Int!
Example
{
  "chance": 987,
  "elementalType": "FIRE",
  "id": 987,
  "power": 123,
  "referencedStatType": "ARMOR_PENETRATION",
  "statPowerRatio": 987
}

StakeAchievementsType

Fields
Field Name Description
achievementsByLevel - Int! The address of current state.
Arguments
level - Int!
Example
{"achievementsByLevel": 987}

StakeRegularFixedRewardInfoType

Fields
Field Name Description
count - Int!
itemId - Int!
Example
{"count": 123, "itemId": 987}

StakeRegularRewardInfoType

Fields
Field Name Description
currencyDecimalPlaces - Int
currencyTicker - String
decimalRate - Decimal!
itemId - Int!
rate - Int!
type - StakeRewardType!
Example
{
  "currencyDecimalPlaces": 123,
  "currencyTicker": "abc123",
  "decimalRate": Decimal,
  "itemId": 987,
  "rate": 123,
  "type": "CURRENCY"
}

StakeRegularRewardsType

Fields
Field Name Description
bonusRewards - [StakeRegularFixedRewardInfoType!]!
level - Int!
requiredGold - Long!
rewards - [StakeRegularRewardInfoType!]!
Example
{
  "bonusRewards": [StakeRegularFixedRewardInfoType],
  "level": 987,
  "requiredGold": {},
  "rewards": [StakeRegularRewardInfoType]
}

StakeRewardType

Values
Enum Value Description

CURRENCY

ITEM

RUNE

Example
"CURRENCY"

StakeRewardsType

Fields
Field Name Description
orderedList - [StakeRegularRewardsType!]!
Example
{"orderedList": [StakeRegularRewardsType]}

StakeStateType

Fields
Field Name Description
achievements - StakeAchievementsType The staking achievements. Since StakeStateV2, the achievement became removed.
address - Address! The address of current state.
cancellableBlockIndex - Long! The block index the user can cancel the staking.
claimableBlockIndex - Long! The block index the user can claim rewards.
deposit - String! The staked amount.
receivedBlockIndex - Long! The block index the user received rewards.
stakeRewards - StakeRewardsType!
startedBlockIndex - Long! The block index the user started to stake.
Example
{
  "achievements": StakeAchievementsType,
  "address": Address,
  "cancellableBlockIndex": {},
  "claimableBlockIndex": {},
  "deposit": "abc123",
  "receivedBlockIndex": {},
  "stakeRewards": StakeRewardsType,
  "startedBlockIndex": {}
}

StatType

Values
Enum Value Description

ARMOR_PENETRATION

ATK

CDMG

CRI

DEF

DRR

DRV

HIT

HP

NONE

SPD

THORN

Example
"ARMOR_PENETRATION"

StateDiff

Fields
Field Name Description
baseState - String! The base state before changes.
changedState - String The state after changes.
path - String! The path of the state difference.
Example
{
  "baseState": "xyz789",
  "changedState": "abc123",
  "path": "xyz789"
}

StateQuery

Fields
Field Name Description
agent - AgentStateType State for agent.
Arguments
address - Address!

Address of agent.

arenaInformation - [ArenaInformationType!]! List of arena information of requested arena and avatar list
Arguments
avatarAddresses - [Address!]!

List of avatar address to get arena information

championshipId - Int!

Championship ID to get arena information

round - Int!

Round of championship to get arena information

arenaParticipants - [ArenaParticipantType]!
Arguments
avatarAddress - Address!
filterBounds - Boolean!
avatar - AvatarStateType State for avatar.
Arguments
avatarAddress - Address!

Address of avatar.

avatars - [AvatarStateType]! Avatar states having some order as addresses
Arguments
addresses - [Address!]!

Addresses of avatars to query.

balance - FungibleAssetValueWithCurrencyType! asset balance by currency.
Arguments
address - Address!
currency - CurrencyInput!
cachedSheet - String
Arguments
tableName - String!
crystalMonsterCollectionMultiplierSheet - CrystalMonsterCollectionMultiplierSheetType
garages - GaragesType Get balances and fungible items in garages. Use either currencyEnums or currencyTickers to get balances.
Arguments
agentAddr - Address!

Agent address to get balances and fungible items in garages

currencyEnums - [CurrencyEnum!]

List of currency enums to get balances in garages

currencyTickers - [String!]

List of currency tickers to get balances in garages

fungibleItemIds - [String!]

List of fungible item IDs to get fungible item in garages

latestStakeRewards - StakeRewardsType The latest stake rewards based on StakePolicySheet.
monsterCollectionSheet - MonsterCollectionSheetType
monsterCollectionState - MonsterCollectionStateType State for monster collection.
Arguments
agentAddress - Address!

Address of agent.

orderDigestList - OrderDigestListStateType
Arguments
avatarAddress - Address!
pledge - MeadPledgeType!
Arguments
agentAddress - Address!
raidId - Int! world boss season id by block index.
Arguments
blockIndex - Long!
prev - Boolean

find previous raid id.

raiderList - [Address!] raider address list by world boss season.
Arguments
raiderListAddress - Address!
raiderState - RaiderStateType world boss season user information.
Arguments
raiderAddress - Address!

address of world boss season.

rankingMap - RankingMapStateType State for avatar EXP record.
Arguments
index - Int!

RankingMapState index. 0 ~ 99

shardedShop - ShardedShopStateV2Type State for sharded shop.
Arguments
nonce - Int!

Nonce for shard. It's not considered if itemSubtype is kind of costume or title. 0 ~ 15

shop - ShopStateType State for shop. Shop is migrated to ShardedShop and not using now. Use shardedShop() instead.
stakeRewards - StakeRewardsType Since stake3, claim_stake_reward9 actions, each stakers have their own contracts.
stakeState - StakeStateType State for staking.
Arguments
address - Address!

Address of agent who staked.

stakeStates - [StakeStateType]! Staking states having same order as addresses
Arguments
addresses - [Address]!

Addresses of agent who staked.

unlockedRecipeIds - [Int] List of unlocked equipment recipe sheet row ids.
Arguments
avatarAddress - Address!

Address of avatar.

unlockedWorldIds - [Int] List of unlocked world sheet row ids.
Arguments
avatarAddress - Address!

Address of avatar.

weeklyArena - WeeklyArenaStateType State for weekly arena.
Arguments
index - Int!

WeeklyArenaState index. It increases every 56,000 blocks.

worldBossKillRewardRecord - WorldBossKillRewardRecordType user boss kill reward record by world boss season.
Arguments
worldBossKillRewardRecordAddress - Address!
worldBossState - WorldBossStateType world boss season boss information.
Arguments
bossAddress - Address!
Example
{
  "agent": AgentStateType,
  "arenaInformation": [ArenaInformationType],
  "arenaParticipants": [ArenaParticipantType],
  "avatar": AvatarStateType,
  "avatars": [AvatarStateType],
  "balance": FungibleAssetValueWithCurrencyType,
  "cachedSheet": "xyz789",
  "crystalMonsterCollectionMultiplierSheet": CrystalMonsterCollectionMultiplierSheetType,
  "garages": GaragesType,
  "latestStakeRewards": StakeRewardsType,
  "monsterCollectionSheet": MonsterCollectionSheetType,
  "monsterCollectionState": MonsterCollectionStateType,
  "orderDigestList": OrderDigestListStateType,
  "pledge": MeadPledgeType,
  "raidId": 123,
  "raiderList": [Address],
  "raiderState": RaiderStateType,
  "rankingMap": RankingMapStateType,
  "shardedShop": ShardedShopStateV2Type,
  "shop": ShopStateType,
  "stakeRewards": StakeRewardsType,
  "stakeState": StakeStateType,
  "stakeStates": [StakeStateType],
  "unlockedRecipeIds": [987],
  "unlockedWorldIds": [987],
  "weeklyArena": WeeklyArenaStateType,
  "worldBossKillRewardRecord": WorldBossKillRewardRecordType,
  "worldBossState": WorldBossStateType
}

StatsMapType

Fields
Field Name Description
aTK - Int!
cRI - Int!
dEF - Int!
hIT - Int!
hP - Int!
sPD - Int!
Example
{"aTK": 123, "cRI": 987, "dEF": 123, "hIT": 987, "hP": 987, "sPD": 123}

String

Description

The String scalar type represents textual data, represented as UTF-8 character sequences. The String type is most often used by GraphQL to represent free-form human-readable text.

Example
"xyz789"

TipChanged

Fields
Field Name Description
hash - ByteString
index - Long!
Example
{"hash": ByteString, "index": {}}

Transaction

Fields
Field Name Description
actions - [Action!]! A list of actions in this transaction.
blockRef - Block! The block including the transaction.
id - ID! A unique identifier derived from this transaction content.
nonce - Long! The number of previous transactions committed by the signer of this tx.
publicKey - ByteString! A PublicKey of the account who signed this transaction.
serializedPayload - String! A serialized tx payload in base64 string.
signature - ByteString! A digital signature of the content of this transaction.
signer - Address! An address of the account who signed this transaction.
timestamp - DateTimeOffset! The time this transaction was created and signed.
updatedAddresses - [Address!]! Addresses whose states were affected by Actions.
Example
{
  "actions": [Action],
  "blockRef": Block,
  "id": "4",
  "nonce": {},
  "publicKey": ByteString,
  "serializedPayload": "abc123",
  "signature": ByteString,
  "signer": Address,
  "timestamp": DateTimeOffset,
  "updatedAddresses": [Address]
}

TransactionHeadlessQuery

Fields
Field Name Description
attachSignature - String! Use signTransaction
Arguments
signature - String!

The base64-encoded signature of the given unsigned transaction.

unsignedTransaction - String!

The base64-encoded unsigned transaction to attach the given signature.

createUnsignedTx - String! API update with action query. use unsignedTransaction
Arguments
nonce - Long

The nonce for Transaction.

plainValue - String!

The base64-encoded plain value of action for Transaction.

publicKey - String!

The base64-encoded public key for Transaction.

getTx - TransactionType
Arguments
txId - TxId!

transaction id.

ncTransactions - [TransactionType]
Arguments
actionType - String!

filter tx by having actions' type. It is regular expression.

limit - Long!

number of block to query.

startingBlockIndex - Long!

start block index for query tx.

txStatusFilter - [TxStatus!]

filter txStatus.

nextTxNonce - Long!
Arguments
address - Address!

Target address to query

signTransaction - ByteString!
Arguments
signature - String!

The hexadecimal string of signature of the given unsigned transaction.

unsignedTransaction - String!

The hexadecimal string of unsigned transaction to attach the given signature.

transactionResult - TxResultType!
Arguments
txId - TxId!

transaction id.

transactionResults - [TxResultType]!
Arguments
txIds - [TxId]!

transaction ids.

unsignedTransaction - ByteString!
Arguments
nonce - Long

The nonce for Transaction.

plainValue - String!

The hexadecimal string of plain value for Action.

publicKey - String!

The hexadecimal string of public key for Transaction.

Example
{
  "attachSignature": "abc123",
  "createUnsignedTx": "xyz789",
  "getTx": TransactionType,
  "ncTransactions": [TransactionType],
  "nextTxNonce": {},
  "signTransaction": ByteString,
  "transactionResult": TxResultType,
  "transactionResults": [TxResultType],
  "unsignedTransaction": ByteString
}

TransactionQuery

Fields
Field Name Description
bindSignature - String! Attach the given signature to the given transaction and return tx as hexadecimal
Arguments
signature - String!

The hexadecimal string of the given unsigned transaction.

unsignedTransaction - String!

The hexadecimal string of unsigned transaction to attach the given signature.

nextNonce - Long!
Arguments
address - Address!

Address of the account to get the next tx nonce.

stagedTransactions - [Transaction!]!
Arguments
desc - Boolean
involvedAddress - Address
limit - Int
offset - Int
signer - Address
transaction - Transaction
Arguments
id - ID
transactionResult - TxResultType!
Arguments
txId - ID!

transaction id.

transactions - [Transaction!]!
Arguments
desc - Boolean
involvedAddress - Address
limit - Int
offset - Int
signer - Address
unsignedTransaction - ByteString!
Arguments
nonce - Long

The nonce for Transaction.

plainValue - String!

The hexadecimal string of plain value for Action.

publicKey - String!

The hexadecimal string of public key for Transaction.

Example
{
  "bindSignature": "abc123",
  "nextNonce": {},
  "stagedTransactions": [Transaction],
  "transaction": Transaction,
  "transactionResult": TxResultType,
  "transactions": [Transaction],
  "unsignedTransaction": ByteString
}

TransactionType

Fields
Field Name Description
actions - [Action]! A list of actions in this transaction.
id - TxId! A unique identifier derived from this transaction content.
nonce - Long! The number of previous transactions committed by the signer of this transaction.
publicKey - PublicKeyType! A PublicKey of the account who signed this transaction.
serializedPayload - String! A serialized tx payload in base64 string.
signature - ByteString! A digital signature of the content of this transaction.
signer - Address! An address of the account who signed this transaction.
timestamp - String! The time this transaction was created and signed.
updatedAddresses - [Address]! Addresses whose states were affected by Actions.
Example
{
  "actions": [Action],
  "id": TxId,
  "nonce": {},
  "publicKey": PublicKeyType,
  "serializedPayload": "abc123",
  "signature": ByteString,
  "signer": Address,
  "timestamp": "xyz789",
  "updatedAddresses": [Address]
}

TransferNCGHistoryType

Fields
Field Name Description
amount - String!
blockHash - ByteString!
memo - String
recipient - Address!
sender - Address!
txId - ByteString!
Example
{
  "amount": "xyz789",
  "blockHash": ByteString,
  "memo": "xyz789",
  "recipient": Address,
  "sender": Address,
  "txId": ByteString
}

Trie

Fields
Field Name Description
value - IValue Gets the value stored at given key.
Arguments
key - KeyBytes!

The key to search.

values - IValue Gets the values stored at given multiple keys.
Arguments
keys - [KeyBytes!]!

The list of keys to search.

Example
{"value": IValue, "values": IValue}

TxId

Example
TxId

TxResultType

Fields
Field Name Description
blockHash - String The block hash which the target transaction executed.
blockIndex - Long The block index which the target transaction executed.
exceptionNames - [String] The name of exception. (when only failed)
inputState - HashDigest_SHA256 The input state's root hash which the target transaction executed.
outputState - HashDigest_SHA256 The output state's root hash which the target transaction executed.
txStatus - TxStatus! The transaction status.
Example
{
  "blockHash": "xyz789",
  "blockIndex": {},
  "exceptionNames": ["abc123"],
  "inputState": HashDigest_SHA256,
  "outputState": HashDigest_SHA256,
  "txStatus": "FAILURE"
}

TxStatus

Values
Enum Value Description

FAILURE

INCLUDED

INVALID

STAGING

SUCCESS

Example
"FAILURE"

TxType

Fields
Field Name Description
transaction - TransactionType!
txResult - TxResultType
Example
{
  "transaction": TransactionType,
  "txResult": TxResultType
}

ValidationQuery

Fields
Field Name Description
metadata - Boolean!
Arguments
raw - String!

The raw value of json metadata.

privateKey - Boolean!
Arguments
hex - ByteString!

The raw value of private-key, presented as hexadecimal.

publicKey - Boolean!
Arguments
hex - ByteString!

The raw value of public-key, presented as hexadecimal.

Example
{"metadata": false, "privateKey": true, "publicKey": true}

Validator

Description

A data type holds validator's public key and its voting power.

Fields
Field Name Description
power - BigInt! Gets the voting power of the validator.
publicKey - PublicKey! The public key of the validator.
Example
{"power": {}, "publicKey": PublicKey}

Vote

Fields
Field Name Description
blockHash - String! Hash of the block voted.
flag - VoteFlag! Flag of the vote
height - Long! Height of the consensus voted.
round - Int! Round of the consensus voted.
signature - ByteString! A digital signature of the content of this vote.
timestamp - DateTimeOffset! The time this vote was created and signed.
validatorPower - BigInt Power of the validator which is subject of the vote.
validatorPublicKey - PublicKey! Public key of the validator which is subject of the vote.
Example
{
  "blockHash": "xyz789",
  "flag": VoteFlag,
  "height": {},
  "round": 123,
  "signature": ByteString,
  "timestamp": DateTimeOffset,
  "validatorPower": {},
  "validatorPublicKey": PublicKey
}

VoteFlag

Example
VoteFlag

WeeklyArenaStateType

Fields
Field Name Description
address - Address!
ended - Boolean!
orderedArenaInfos - [ArenaInfoType]!
Example
{
  "address": Address,
  "ended": true,
  "orderedArenaInfos": [ArenaInfoType]
}

WorldBossKillRewardRecordMapType

Fields
Field Name Description
bossLevel - Int!
claimed - Boolean! check reward already claimed. if already claimed return true.
Example
{"bossLevel": 987, "claimed": true}

WorldBossKillRewardRecordType

Fields
Field Name Description
map - [WorldBossKillRewardRecordMapType!]!
Example
{"map": [WorldBossKillRewardRecordMapType]}

WorldBossStateType

Fields
Field Name Description
currentHp - BigInt! world boss current hp.
endedBlockIndex - Long! world boss season ended block index.
id - Int! world boss season id.
level - Int! world boss current level.
startedBlockIndex - Long! world boss season started block index.
Example
{
  "currentHp": {},
  "endedBlockIndex": {},
  "id": 987,
  "level": 987,
  "startedBlockIndex": {}
}

WorldInformationType

Fields
Field Name Description
isStageCleared - Boolean!
Arguments
stageId - Int!
isWorldUnlocked - Boolean!
Arguments
worldId - Int!
lastClearedStage - ClearedStageType!
world - WorldType!
Arguments
worldId - Int!
Example
{
  "isStageCleared": false,
  "isWorldUnlocked": false,
  "lastClearedStage": ClearedStageType,
  "world": WorldType
}

WorldState

Fields
Field Name Description
account - AccountState! Gets the account associated with given address.
Arguments
address - Address!

The address of an account to retrieve.

accounts - [AccountState!]! Gets the accounts associated with given addresses.
Arguments
addresses - [Address!]!

The list of addresses of accounts to retrieve.

balance - FungibleAssetValue! Balance at given address and currency pair.
Arguments
address - Address!

The address to look up.

currency - CurrencyInput!

The currency to look up.

legacy - Boolean! The legacy flag of the world state.
stateRootHash - HashDigestSHA256! The state root hash of the world state.
totalSupply - FungibleAssetValue! Total supply in circulation for given currency.
Arguments
currency - CurrencyInput!

The currency to look up.

validatorSet - IValue! The validator set.
version - Int! The version of the bakcing data model.
Example
{
  "account": AccountState,
  "accounts": [AccountState],
  "balance": FungibleAssetValue,
  "legacy": true,
  "stateRootHash": HashDigestSHA256,
  "totalSupply": FungibleAssetValue,
  "validatorSet": IValue,
  "version": 987
}

WorldType

Fields
Field Name Description
id - Int!
isStageCleared - Boolean!
isUnlocked - Boolean!
name - String!
stageBegin - Int!
stageClearedBlockIndex - Long!
stageClearedId - Int!
stageEnd - Int!
unlockedBlockIndex - Long!
Example
{
  "id": 987,
  "isStageCleared": true,
  "isUnlocked": true,
  "name": "xyz789",
  "stageBegin": 123,
  "stageClearedBlockIndex": {},
  "stageClearedId": 123,
  "stageEnd": 987,
  "unlockedBlockIndex": {}
}