⌘K

Icon SunFilledIcon MoonStars
Recipes

Icon LinkRecipes

You can see and test the example queries and mutations below. Click the "Run" button to run the query above it and see the response. Click the "TypeScript", "Apollo Client", or "urql" buttons to see code examples.

Icon LinkGet an asset balance of an address

query Balance($address: Address, $assetId: AssetId) {
  balance(owner: $address, assetId: $assetId) {
    owner
    amount
    assetId
  }
}

Variables:

{
  "address": "0xf65d6448a273b531ee942c133bb91a6f904c7d7f3104cdaf6b9f7f50d3518871",
  "assetId": "0x0000000000000000000000000000000000000000000000000000000000000000"
}
Icon LinkCheck it working

Icon LinkList all asset balances of an address

query Balances($filter: BalanceFilterInput) {
  balances(filter: $filter, first: 5) {
    nodes {
      amount
      assetId
    }
  }
}

Variables:

{
  "filter": {
    "owner": "0xf65d6448a273b531ee942c133bb91a6f904c7d7f3104cdaf6b9f7f50d3518871"
  }
}
Icon LinkCheck it working

Icon LinkList all transactions from an address

query Transactions($address: Address) {
  transactionsByOwner(owner: $address, first: 5) {
    nodes {
      id
      inputs {
        __typename
        ... on InputCoin {
          owner
          utxoId
          amount
          assetId
        }
        ... on InputContract {
          utxoId
          contract {
            id
          }
        }
        ... on InputMessage {
          messageId
          sender
          recipient
          amount
          data
        }
      }
      outputs {
        __typename
        ... on CoinOutput {
          to
          amount
          assetId
        }
        ... on ContractOutput {
          inputIndex
          balanceRoot
          stateRoot
        }
        ... on MessageOutput {
          recipient
          amount
        }
        ... on ChangeOutput {
          to
          amount
          assetId
        }
        ... on VariableOutput {
          to
          amount
          assetId
        }
        ... on ContractCreated {
          contract {
            id
          }
          stateRoot
        }
      }
      status {
        __typename
        ... on FailureStatus {
          reason
          programState {
            returnType
          }
        }
      }
    }
  }
}

Variables:

{
  "address": "0xf65d6448a273b531ee942c133bb91a6f904c7d7f3104cdaf6b9f7f50d3518871"
}
Icon LinkCheck it working

Icon LinkList the latest transactions

query LatestTransactions {
  transactions(last: 5) {
    nodes {
      id
      inputs {
        __typename
        ... on InputCoin {
          owner
          utxoId
          amount
          assetId
        }
        ... on InputContract {
          utxoId
          contract {
            id
          }
        }
        ... on InputMessage {
          messageId
          sender
          recipient
          amount
          data
        }
      }
      outputs {
        __typename
        ... on CoinOutput {
          to
          amount
          assetId
        }
        ... on ContractOutput {
          inputIndex
          balanceRoot
          stateRoot
        }
        ... on MessageOutput {
          recipient
          amount
        }
        ... on ChangeOutput {
          to
          amount
          assetId
        }
        ... on VariableOutput {
          to
          amount
          assetId
        }
        ... on ContractCreated {
          contract {
            id
          }
          stateRoot
        }
      }
      status {
        __typename
        ... on FailureStatus {
          reason
          programState {
            returnType
          }
        }
      }
    }
  }
}
Icon LinkCheck it working

Icon LinkGet an asset balance of a contract

query ContractBalance($contract: ContractId, $asset: AssetId) {
  contractBalance(contract: $contract, asset: $asset) {
    contract
    amount
    assetId
  }
}

Variables:

{
  "contract": "0xc9a5366c269438d294ef942bc962dd2e6c86121e3bca00192723eb7eb58fa87d",
  "asset": "0x0000000000000000000000000000000000000000000000000000000000000000"
}
Icon LinkCheck it working

Icon LinkList all asset balances of a contract

query ContractBalances($filter: ContractBalanceFilterInput!) {
  contractBalances(filter: $filter, first: 5) {
    nodes {
      amount
      assetId
    }
  }
}

Variables:

{
  "filter": {
    "contract": "0x0a98320d39c03337401a4e46263972a9af6ce69ec2f35a5420b1bd35784c74b1"
  }
}
Icon LinkCheck it working

Icon LinkList the latest blocks

query LatestBlocks {
  blocks(last: 5) {
    nodes {
      id
      transactions {
        id
        inputAssetIds
        inputs {
          __typename
          ... on InputCoin {
            owner
            utxoId
            amount
            assetId
          }
          ... on InputContract {
            utxoId
            contract {
              id
            }
          }
          ... on InputMessage {
            messageId
            sender
            recipient
            amount
            data
          }
        }
        outputs {
          __typename
          ... on CoinOutput {
            to
            amount
            assetId
          }
          ... on ContractOutput {
            inputIndex
            balanceRoot
            stateRoot
          }
          ... on MessageOutput {
            recipient
            amount
          }
          ... on ChangeOutput {
            to
            amount
            assetId
          }
          ... on VariableOutput {
            to
            amount
            assetId
          }
          ... on ContractCreated {
            contract {
              id
            }
            stateRoot
          }
        }
        gasPrice
      }
    }
  }
}
Icon LinkCheck it working

Icon LinkGet block information by height

query Block($height: U64) {
  block(height: $height) {
    id
  }
}

Variables:

{
  "height": "378485"
}
Icon LinkCheck it working

Icon LinkList all messages owned by address

query MessageInfo($address: Address) {
  messages(owner: $address, first: 5) {
    nodes {
      amount
      sender
      recipient
      nonce
      data
      daHeight
    }
  }
}

Variables:

{
  "address": "0xf65d6448a273b531ee942c133bb91a6f904c7d7f3104cdaf6b9f7f50d3518871"
}
Icon LinkCheck it working

Icon LinkDry run a transaction

mutation DryRun($encodedTransaction: HexString!, $utxoValidation: Boolean) {
  dryRun(tx: $encodedTransaction, utxoValidation: $utxoValidation) {
    receiptType
    data
    rawPayload
  }
}

Icon LinkSubmit a transaction

mutation submit($encodedTransaction: HexString!) {
  submit(tx: $encodedTransaction) {
    id
  }
}

Icon LinkMore Examples

You can find more examples of how we use this API in our GitHub:

Block Explorer Icon Link

Fuels Typescript SDK Icon Link