Supported Queries

FetchParabolConfig

query FetchParabolConfig {
  nonFungibleNotePositionContractInfo(id: "1") {
    name
    version
  }
  parabolUSDContractInfo(id: "1") {
    name
    version
  }
}
  • Returns
    • nonFungibleNotePositionContractInfo: Information about the non-fungible note position contract. It is needed for permit signature (permitClaim).
    • parabolUSDContractInfo: Information about the Parabol USD contract. It is needed for permit signature (permitLend).

FetchMinLendLimit

query FetchMinLendLimit {
  minLendLimit(id: "1") {
    minLendLimit
  }
}
  • Returns
    • minLendLimit: The minimum lend limit for a lend.

FetchAllPositions

query FetchAllPositions($walletAddress: Bytes!) {
  positionInfos(
    where: { currentOwner: $walletAddress }
    orderBy: tokenId
    orderDirection: desc
  ) {
    tokenId
    owner: currentOwner
    initalOwner
    initiator
    coupon
    principal
    lendTimestamp
    maturityTimestamp
    partnerFeeBPS
    partnerId
    status
    lendTransactionHash
  }
}
  • Returns
    • positionInfos: An array of position information objects.
      • tokenId: The token ID of the position.
      • owner: The wallet address of the current owner.
      • initalOwner: The wallet address of the initial owner.
      • initiator: The wallet address of the initiator.
      • coupon: The coupon of the position. (500 = 5%)
      • principal: The principal of the position.
      • lendTimestamp: The timestamp of the lend.
      • maturityTimestamp: The timestamp of the maturity.
      • status: The status of the position. (Active, Claimed)
      • partnerId and partnerFeeBPS: The ID and fee BPS of the partner. (see FetchPartnerConfig)
      • lendTransactionHash: The transaction hash of the lend.

FetchFloatingIncomes

query FetchFloatingIncomes {
  floatingIncomes(orderBy: day, orderDirection: desc) {
    day
    floatingIncome
    accFloatingIncome
  }
}
  • Returns
    • floatingIncomes: This data shows the overnight income distributed by Parabol’s RSP to T-bill holders.
      • day: The day of the floating income.
      • floatingIncome: The floating income of the day.
      • accFloatingIncome: The accumulated floating income.
ℹ️

floatingIncome represents the bonus distributed for a 1 paraUSD lending transaction during its 1-second duration in the RSP.

FetchLendTransactions

query FetchLendTransactions($walletAddress: Bytes!) {
  positionInfos(
    where: { initalOwner: $walletAddress }
    orderBy: tokenId
    orderDirection: desc
  ) {
    tokenId
    initalOwner
    coupon
    principal
    lendTimestamp
    maturityTimestamp
    partnerFeeBPS
    partnerId
    status
    lendTransactionHash
  }
}
  • Returns
    • positionInfos: An array of position information objects.
ℹ️

This query is used to get the information about the lend transactions of a specific wallet where the initalOwner is the wallet address while status is Active.

FetchClaimedPositions

query FetchClaimedPositions($walletAddress: Bytes!) {
  claimedPositionInfos(where: { beneficiary: $walletAddress }) {
    beneficiary
    claimTimestamp
    fee
    initiator
    tokenId
    principal
    totalIncome
    claimTransactionHash
  }
}
  • Returns
    • claimedPositionInfos: An array of claimed position information objects.
ℹ️

This query is used to get the information about the claimed positions of a specific wallet where the beneficiary is the wallet address while status is Claimed.

FetchPartnerConfig

query FetchPartnerConfig($walletAddress: Bytes!) {
  partnerInfos(where: { partnerOwner: $walletAddress }) {
    id
    partnerFeeBPS
    partnerOwner
    partnerVault
  }
}
  • Returns
    • partnerInfos: An array of partner information objects.
      • id: The wallet address of the partner.
      • partnerFeeBPS: The fee percentage charged by the partner for each transaction. (100 = 1%)
      • partnerOwner: The wallet address of the partner owner.
      • partnerVault: The wallet address of the partner vault.
ℹ️

For more information about the partner, please refer to the Parabol Partner Program.

FetchPositionTransfers

query FetchPositionTransfers($walletAddress: Bytes!) {
  positionTransfers(
    where: {
      and: [
        { or: [{ from: $walletAddress }, { to: $walletAddress }] }
        { from_not: "0x0000000000000000000000000000000000000000" }
        { to_not: "0x0000000000000000000000000000000000000000" }
      ]
    }
  ) {
    tokenId
    from
    to
    blockTimestamp
    transactionHash
  }
}
  • Returns
    • positionTransfers: An array of position transfer information objects.
      • tokenId: The token ID of the position.
      • from: The wallet address of the sender.
      • to: The wallet address of the receiver.
      • blockTimestamp: The timestamp of the transaction.
      • transactionHash: The transaction hash.
ℹ️

This query is used to get the information about the transfers of a specific note position NFT through secondary markets.

FetchBalance

query FetchBalance($walletAddress: ID!) {
  parabolUSDBalance(id: $walletAddress) {
    address
    balance
  }
}
  • Returns
    • parabolUSDBalance: An object containing the balance of the wallet.
      • address: The wallet address.
      • balance: The paraUSD balance of the wallet.

FetchParabolUSDNonce

query FetchParabolUSDNonce($walletAddress: ID!) {
  parabolUSDNonce(id: $walletAddress) {
    nonce
    id
  }
}
  • Returns
    • parabolUSDNonce: An object containing the nonce of the wallet.
      • nonce: The paraUSD ERC-20 contract nonce of the wallet.
      • id: The wallet address.
ℹ️

This query is used to get the nonce of the paraUSD ERC-20 contract of a specific wallet. This nonce is used for the permit signature (permitLend).

FetchNonFungibleNotePositionNonce

query FetchNonFungibleNotePositionNonce($walletAddress: ID!) {
  positionNonce(id: $walletAddress) {
    nonce
    id
  }
}
  • Returns
    • positionNonce: An object containing the nonce of the wallet.
      • nonce: The NonFungibleNotePosition ERC-721 contract nonce of the wallet.
      • id: The wallet address.
ℹ️

This query is used to get the nonce of the NonFungibleNotePosition ERC-721 contract of a specific wallet. This nonce is used for the permit signature (permitClaim).

FetchParabolUSDAllowance

query FetchParabolUSDAllowance($ownerToOperator: ID!) {
  parabolUSDAllowance(id: $ownerToOperator) {
    owner
    spender
    value
  }
}
  • Returns
    • parabolUSDAllowance: An object containing the allowance of the wallet.
      • owner: The wallet address of the owner.
      • spender: The wallet address of the spender.
      • value: The paraUSD allowance of the wallet to the spender.

FetchPositionDetailedAllowance

query FetchPositionDetailedAllowance(
  $ownerToOperator: ID!
  $ownerTotokenId: ID!
) {
  positionOperatorAllowance(id: $ownerToOperator) {
    approved
  }
  positionAllowance(id: $ownerTotokenId) {
    spender
  }
}
  • Returns
    • positionOperatorAllowance: An object containing the allowance of the wallet.
      • approved: true if operator is approved, false otherwise.
    • positionAllowance: An object containing the allowance of the wallet.
      • spender: The wallet address of the spender.
ℹ️

This query is handled internally by the Parabol SDK efficiently.