← Back to Overview
⚠️ Development Notice: The Flash API is currently under active development. All endpoints, parameters, and responses are subject to change and improvement. This documentation will be updated as the API evolves.
← Back to Overview
⚠️ Development Notice: The Flash API is currently under active development. All endpoints, parameters, and responses are subject to change and improvement. This documentation will be updated as the API evolves.
← Back to Overview
⚠️ Development Notice: The Flash API is currently under active development. All endpoints, parameters, and responses are subject to change and improvement. This documentation will be updated as the API evolves.
← Back to Overview
⚠️ Development Notice: The Flash API is currently under active development. All endpoints, parameters, and responses are subject to change and improvement. This documentation will be updated as the API evolves.
← Back to Overview ← Back to Overview ← Back to Overview ← Back to Overview ← Back to Overview ← Back to Overview ← Back to Overview ← Back to Overview ← Back to Overview ← Back to Overview ← Back to Overview

Flash API Documentation

Documentation for Flash's GraphQL API

Contact

Flash Support

https://flashapp.me/support

Terms of Service

https://flashapp.me/terms

API Endpoints
https://api.flashapp.me/graphql
Version

1.0.0

Queries

accountDefaultWallet

Response

Returns a PublicWallet!

Arguments
Name Description
username - Username!
walletCurrency - WalletCurrency

Example

Query
query AccountDefaultWallet(
  $username: Username!,
  $walletCurrency: WalletCurrency
) {
  accountDefaultWallet(
    username: $username,
    walletCurrency: $walletCurrency
  ) {
    id
    lnurlp
    walletCurrency
  }
}
Variables
{"username": Username, "walletCurrency": "BTC"}
Response
{
  "data": {
    "accountDefaultWallet": {
      "id": 4,
      "lnurlp": Lnurl,
      "walletCurrency": "BTC"
    }
  }
}

btcPrice

Deprecated in favor of realtimePrice
Response

Returns a Price

Arguments
Name Description
currency - DisplayCurrency! Default = "USD"

Example

Query
query BtcPrice($currency: DisplayCurrency!) {
  btcPrice(currency: $currency) {
    base
    currencyUnit
    formattedAmount
    offset
  }
}
Variables
{"currency": "USD"}
Response
{
  "data": {
    "btcPrice": {
      "base": 9007199254740991,
      "currencyUnit": "abc123",
      "formattedAmount": "xyz789",
      "offset": 123
    }
  }
}

btcPriceList

Response

Returns [PricePoint]

Arguments
Name Description
range - PriceGraphRange!

Example

Query
query BtcPriceList($range: PriceGraphRange!) {
  btcPriceList(range: $range) {
    price {
      base
      currencyUnit
      formattedAmount
      offset
    }
    timestamp
  }
}
Variables
{"range": "FIVE_YEARS"}
Response
{
  "data": {
    "btcPriceList": [
      {"price": Price, "timestamp": 1592577642}
    ]
  }
}

businessMapMarkers

Response

Returns [MapMarker!]!

Example

Query
query BusinessMapMarkers {
  businessMapMarkers {
    mapInfo {
      coordinates {
        ...CoordinatesFragment
      }
      title
    }
    username
  }
}
Response
{
  "data": {
    "businessMapMarkers": [
      {
        "mapInfo": MapInfo,
        "username": Username
      }
    ]
  }
}

currencyList

Response

Returns [Currency!]!

Example

Query
query CurrencyList {
  currencyList {
    flag
    fractionDigits
    id
    name
    symbol
  }
}
Response
{
  "data": {
    "currencyList": [
      {
        "flag": "abc123",
        "fractionDigits": 987,
        "id": "4",
        "name": "xyz789",
        "symbol": "xyz789"
      }
    ]
  }
}

globals

Response

Returns a Globals

Example

Query
query Globals {
  globals {
    buildInformation {
      commitHash
      helmRevision
    }
    feesInformation {
      deposit {
        ...DepositFeesInformationFragment
      }
    }
    lightningAddressDomain
    lightningAddressDomainAliases
    network
    nodesIds
    supportedCountries {
      id
      supportedAuthChannels
    }
  }
}
Response
{
  "data": {
    "globals": {
      "buildInformation": BuildInformation,
      "feesInformation": FeesInformation,
      "lightningAddressDomain": "xyz789",
      "lightningAddressDomainAliases": [
        "xyz789"
      ],
      "network": "mainnet",
      "nodesIds": ["xyz789"],
      "supportedCountries": [Country]
    }
  }
}

isFlashNpub

Response

Returns an IsFlashNpubPayload

Arguments
Name Description
input - IsFlashNpubInput!

Example

Query
query IsFlashNpub($input: IsFlashNpubInput!) {
  isFlashNpub(input: $input) {
    errors {
      code
      message
      path
    }
    isFlashNpub
  }
}
Variables
{"input": IsFlashNpubInput}
Response
{
  "data": {
    "isFlashNpub": {
      "errors": [Error],
      "isFlashNpub": false
    }
  }
}

lnInvoicePaymentStatus

Response

Returns a LnInvoicePaymentStatusPayload!

Arguments
Name Description
input - LnInvoicePaymentStatusInput!

Example

Query
query LnInvoicePaymentStatus($input: LnInvoicePaymentStatusInput!) {
  lnInvoicePaymentStatus(input: $input) {
    errors {
      code
      message
      path
    }
    status
  }
}
Variables
{"input": LnInvoicePaymentStatusInput}
Response
{
  "data": {
    "lnInvoicePaymentStatus": {
      "errors": [Error],
      "status": "EXPIRED"
    }
  }
}

me

Response

Returns a User

Example

Query
query Me {
  me {
    contactByUsername {
      alias
      id
      transactions {
        ...TransactionConnectionFragment
      }
      transactionsCount
      username
    }
    contacts {
      alias
      id
      transactions {
        ...TransactionConnectionFragment
      }
      transactionsCount
      username
    }
    createdAt
    defaultAccount {
      callbackEndpoints {
        ...CallbackEndpointFragment
      }
      csvTransactions
      defaultWalletId
      displayCurrency
      id
      level
      limits {
        ...AccountLimitsFragment
      }
      notificationSettings {
        ...NotificationSettingsFragment
      }
      realtimePrice {
        ...RealtimePriceFragment
      }
      transactions {
        ...TransactionConnectionFragment
      }
      wallets {
        ...WalletFragment
      }
    }
    email {
      address
      verified
    }
    id
    language
    npub
    phone
    quizQuestions {
      completed
      question {
        ...QuizQuestionFragment
      }
    }
    totpEnabled
    username
  }
}
Response
{
  "data": {
    "me": {
      "contactByUsername": UserContact,
      "contacts": [UserContact],
      "createdAt": 1592577642,
      "defaultAccount": Account,
      "email": Email,
      "id": "4",
      "language": Language,
      "npub": npub,
      "phone": Phone,
      "quizQuestions": [UserQuizQuestion],
      "totpEnabled": false,
      "username": Username
    }
  }
}

mobileVersions

Response

Returns [MobileVersions]

Example

Query
query MobileVersions {
  mobileVersions {
    currentSupported
    minSupported
    platform
  }
}
Response
{
  "data": {
    "mobileVersions": [
      {
        "currentSupported": 987,
        "minSupported": 987,
        "platform": "abc123"
      }
    ]
  }
}

npubByUsername

Response

Returns a npubByUsername

Arguments
Name Description
username - Username!

Example

Query
query NpubByUsername($username: Username!) {
  npubByUsername(username: $username) {
    npub
    username
  }
}
Variables
{"username": Username}
Response
{
  "data": {
    "npubByUsername": {
      "npub": npub,
      "username": Username
    }
  }
}

onChainTxFee

Response

Returns an OnChainTxFee!

Arguments
Name Description
address - OnChainAddress!
amount - SatAmount!
speed - PayoutSpeed Default = FAST
walletId - WalletId!

Example

Query
query OnChainTxFee(
  $address: OnChainAddress!,
  $amount: SatAmount!,
  $speed: PayoutSpeed,
  $walletId: WalletId!
) {
  onChainTxFee(
    address: $address,
    amount: $amount,
    speed: $speed,
    walletId: $walletId
  ) {
    amount
  }
}
Variables
{
  "address": OnChainAddress,
  "amount": SatAmount,
  "speed": "FAST",
  "walletId": WalletId
}
Response
{"data": {"onChainTxFee": {"amount": SatAmount}}}

onChainUsdTxFee

Response

Returns an OnChainUsdTxFee!

Arguments
Name Description
address - OnChainAddress!
amount - CentAmount!
speed - PayoutSpeed Default = FAST
walletId - WalletId!

Example

Query
query OnChainUsdTxFee(
  $address: OnChainAddress!,
  $amount: CentAmount!,
  $speed: PayoutSpeed,
  $walletId: WalletId!
) {
  onChainUsdTxFee(
    address: $address,
    amount: $amount,
    speed: $speed,
    walletId: $walletId
  ) {
    amount
  }
}
Variables
{
  "address": OnChainAddress,
  "amount": CentAmount,
  "speed": "FAST",
  "walletId": WalletId
}
Response
{"data": {"onChainUsdTxFee": {"amount": CentAmount}}}

onChainUsdTxFeeAsBtcDenominated

Response

Returns an OnChainUsdTxFee!

Arguments
Name Description
address - OnChainAddress!
amount - SatAmount!
speed - PayoutSpeed Default = FAST
walletId - WalletId!

Example

Query
query OnChainUsdTxFeeAsBtcDenominated(
  $address: OnChainAddress!,
  $amount: SatAmount!,
  $speed: PayoutSpeed,
  $walletId: WalletId!
) {
  onChainUsdTxFeeAsBtcDenominated(
    address: $address,
    amount: $amount,
    speed: $speed,
    walletId: $walletId
  ) {
    amount
  }
}
Variables
{
  "address": OnChainAddress,
  "amount": SatAmount,
  "speed": "FAST",
  "walletId": WalletId
}
Response
{
  "data": {
    "onChainUsdTxFeeAsBtcDenominated": {
      "amount": CentAmount
    }
  }
}

quizQuestions

TODO: remove. we don't need a non authenticated version of this query. the users can only do the query while authenticated
Response

Returns [QuizQuestion]

Example

Query
query QuizQuestions {
  quizQuestions {
    earnAmount
    id
  }
}
Response
{
  "data": {
    "quizQuestions": [
      {
        "earnAmount": SatAmount,
        "id": "4"
      }
    ]
  }
}

realtimePrice

Description

Returns 1 Sat and 1 Usd Cent price for the given currency

Response

Returns a RealtimePrice!

Arguments
Name Description
currency - DisplayCurrency Default = "USD"

Example

Query
query RealtimePrice($currency: DisplayCurrency) {
  realtimePrice(currency: $currency) {
    btcSatPrice {
      base
      currencyUnit
      offset
    }
    denominatorCurrency
    id
    timestamp
    usdCentPrice {
      base
      currencyUnit
      offset
    }
  }
}
Variables
{"currency": "USD"}
Response
{
  "data": {
    "realtimePrice": {
      "btcSatPrice": PriceOfOneSatInMinorUnit,
      "denominatorCurrency": DisplayCurrency,
      "id": 4,
      "timestamp": 1592577642,
      "usdCentPrice": PriceOfOneUsdCentInMinorUnit
    }
  }
}

userDefaultWalletId

will be migrated to AccountDefaultWalletId
Response

Returns a WalletId!

Arguments
Name Description
username - Username!

Example

Query
query UserDefaultWalletId($username: Username!) {
  userDefaultWalletId(username: $username)
}
Variables
{"username": Username}
Response
{"data": {"userDefaultWalletId": WalletId}}

usernameAvailable

Response

Returns a Boolean

Arguments
Name Description
username - Username!

Example

Query
query UsernameAvailable($username: Username!) {
  usernameAvailable(username: $username)
}
Variables
{"username": Username}
Response
{"data": {"usernameAvailable": true}}

Mutations

accountDelete

Response

Returns an AccountDeletePayload!

Example

Query
mutation AccountDelete {
  accountDelete {
    errors {
      code
      message
      path
    }
    success
  }
}
Response
{
  "data": {
    "accountDelete": {"errors": [Error], "success": true}
  }
}

accountDisableNotificationCategory

Arguments
Name Description
input - AccountDisableNotificationCategoryInput!

Example

Query
mutation AccountDisableNotificationCategory($input: AccountDisableNotificationCategoryInput!) {
  accountDisableNotificationCategory(input: $input) {
    account {
      callbackEndpoints {
        ...CallbackEndpointFragment
      }
      csvTransactions
      defaultWalletId
      displayCurrency
      id
      level
      limits {
        ...AccountLimitsFragment
      }
      notificationSettings {
        ...NotificationSettingsFragment
      }
      quiz {
        ...QuizFragment
      }
      realtimePrice {
        ...RealtimePriceFragment
      }
      transactions {
        ...TransactionConnectionFragment
      }
      wallets {
        ...WalletFragment
      }
    }
    errors {
      code
      message
      path
    }
  }
}
Variables
{"input": AccountDisableNotificationCategoryInput}
Response
{
  "data": {
    "accountDisableNotificationCategory": {
      "account": ConsumerAccount,
      "errors": [Error]
    }
  }
}

accountDisableNotificationChannel

Arguments
Name Description
input - AccountDisableNotificationChannelInput!

Example

Query
mutation AccountDisableNotificationChannel($input: AccountDisableNotificationChannelInput!) {
  accountDisableNotificationChannel(input: $input) {
    account {
      callbackEndpoints {
        ...CallbackEndpointFragment
      }
      csvTransactions
      defaultWalletId
      displayCurrency
      id
      level
      limits {
        ...AccountLimitsFragment
      }
      notificationSettings {
        ...NotificationSettingsFragment
      }
      quiz {
        ...QuizFragment
      }
      realtimePrice {
        ...RealtimePriceFragment
      }
      transactions {
        ...TransactionConnectionFragment
      }
      wallets {
        ...WalletFragment
      }
    }
    errors {
      code
      message
      path
    }
  }
}
Variables
{"input": AccountDisableNotificationChannelInput}
Response
{
  "data": {
    "accountDisableNotificationChannel": {
      "account": ConsumerAccount,
      "errors": [Error]
    }
  }
}

accountEnableNotificationCategory

Arguments
Name Description
input - AccountEnableNotificationCategoryInput!

Example

Query
mutation AccountEnableNotificationCategory($input: AccountEnableNotificationCategoryInput!) {
  accountEnableNotificationCategory(input: $input) {
    account {
      callbackEndpoints {
        ...CallbackEndpointFragment
      }
      csvTransactions
      defaultWalletId
      displayCurrency
      id
      level
      limits {
        ...AccountLimitsFragment
      }
      notificationSettings {
        ...NotificationSettingsFragment
      }
      quiz {
        ...QuizFragment
      }
      realtimePrice {
        ...RealtimePriceFragment
      }
      transactions {
        ...TransactionConnectionFragment
      }
      wallets {
        ...WalletFragment
      }
    }
    errors {
      code
      message
      path
    }
  }
}
Variables
{"input": AccountEnableNotificationCategoryInput}
Response
{
  "data": {
    "accountEnableNotificationCategory": {
      "account": ConsumerAccount,
      "errors": [Error]
    }
  }
}

accountEnableNotificationChannel

Arguments
Name Description
input - AccountEnableNotificationChannelInput!

Example

Query
mutation AccountEnableNotificationChannel($input: AccountEnableNotificationChannelInput!) {
  accountEnableNotificationChannel(input: $input) {
    account {
      callbackEndpoints {
        ...CallbackEndpointFragment
      }
      csvTransactions
      defaultWalletId
      displayCurrency
      id
      level
      limits {
        ...AccountLimitsFragment
      }
      notificationSettings {
        ...NotificationSettingsFragment
      }
      quiz {
        ...QuizFragment
      }
      realtimePrice {
        ...RealtimePriceFragment
      }
      transactions {
        ...TransactionConnectionFragment
      }
      wallets {
        ...WalletFragment
      }
    }
    errors {
      code
      message
      path
    }
  }
}
Variables
{"input": AccountEnableNotificationChannelInput}
Response
{
  "data": {
    "accountEnableNotificationChannel": {
      "account": ConsumerAccount,
      "errors": [Error]
    }
  }
}

accountUpdateDefaultWalletId

Arguments
Name Description
input - AccountUpdateDefaultWalletIdInput!

Example

Query
mutation AccountUpdateDefaultWalletId($input: AccountUpdateDefaultWalletIdInput!) {
  accountUpdateDefaultWalletId(input: $input) {
    account {
      callbackEndpoints {
        ...CallbackEndpointFragment
      }
      csvTransactions
      defaultWalletId
      displayCurrency
      id
      level
      limits {
        ...AccountLimitsFragment
      }
      notificationSettings {
        ...NotificationSettingsFragment
      }
      quiz {
        ...QuizFragment
      }
      realtimePrice {
        ...RealtimePriceFragment
      }
      transactions {
        ...TransactionConnectionFragment
      }
      wallets {
        ...WalletFragment
      }
    }
    errors {
      code
      message
      path
    }
  }
}
Variables
{"input": AccountUpdateDefaultWalletIdInput}
Response
{
  "data": {
    "accountUpdateDefaultWalletId": {
      "account": ConsumerAccount,
      "errors": [Error]
    }
  }
}

accountUpdateDisplayCurrency

Arguments
Name Description
input - AccountUpdateDisplayCurrencyInput!

Example

Query
mutation AccountUpdateDisplayCurrency($input: AccountUpdateDisplayCurrencyInput!) {
  accountUpdateDisplayCurrency(input: $input) {
    account {
      callbackEndpoints {
        ...CallbackEndpointFragment
      }
      csvTransactions
      defaultWalletId
      displayCurrency
      id
      level
      limits {
        ...AccountLimitsFragment
      }
      notificationSettings {
        ...NotificationSettingsFragment
      }
      quiz {
        ...QuizFragment
      }
      realtimePrice {
        ...RealtimePriceFragment
      }
      transactions {
        ...TransactionConnectionFragment
      }
      wallets {
        ...WalletFragment
      }
    }
    errors {
      code
      message
      path
    }
  }
}
Variables
{"input": AccountUpdateDisplayCurrencyInput}
Response
{
  "data": {
    "accountUpdateDisplayCurrency": {
      "account": ConsumerAccount,
      "errors": [Error]
    }
  }
}

callbackEndpointAdd

Response

Returns a CallbackEndpointAddPayload!

Arguments
Name Description
input - CallbackEndpointAddInput!

Example

Query
mutation CallbackEndpointAdd($input: CallbackEndpointAddInput!) {
  callbackEndpointAdd(input: $input) {
    errors {
      code
      message
      path
    }
    id
  }
}
Variables
{"input": CallbackEndpointAddInput}
Response
{
  "data": {
    "callbackEndpointAdd": {
      "errors": [Error],
      "id": EndpointId
    }
  }
}

callbackEndpointDelete

Response

Returns a SuccessPayload!

Arguments
Name Description
input - CallbackEndpointDeleteInput!

Example

Query
mutation CallbackEndpointDelete($input: CallbackEndpointDeleteInput!) {
  callbackEndpointDelete(input: $input) {
    errors {
      code
      message
      path
    }
    success
  }
}
Variables
{"input": CallbackEndpointDeleteInput}
Response
{
  "data": {
    "callbackEndpointDelete": {
      "errors": [Error],
      "success": true
    }
  }
}

captchaCreateChallenge

Response

Returns a CaptchaCreateChallengePayload!

Example

Query
mutation CaptchaCreateChallenge {
  captchaCreateChallenge {
    errors {
      code
      message
      path
    }
    result {
      challengeCode
      failbackMode
      id
      newCaptcha
    }
  }
}
Response
{
  "data": {
    "captchaCreateChallenge": {
      "errors": [Error],
      "result": CaptchaCreateChallengeResult
    }
  }
}

captchaRequestAuthCode

Response

Returns a SuccessPayload!

Arguments
Name Description
input - CaptchaRequestAuthCodeInput!

Example

Query
mutation CaptchaRequestAuthCode($input: CaptchaRequestAuthCodeInput!) {
  captchaRequestAuthCode(input: $input) {
    errors {
      code
      message
      path
    }
    success
  }
}
Variables
{"input": CaptchaRequestAuthCodeInput}
Response
{
  "data": {
    "captchaRequestAuthCode": {
      "errors": [Error],
      "success": false
    }
  }
}

deviceNotificationTokenCreate

Response

Returns a SuccessPayload!

Arguments
Name Description
input - DeviceNotificationTokenCreateInput!

Example

Query
mutation DeviceNotificationTokenCreate($input: DeviceNotificationTokenCreateInput!) {
  deviceNotificationTokenCreate(input: $input) {
    errors {
      code
      message
      path
    }
    success
  }
}
Variables
{"input": DeviceNotificationTokenCreateInput}
Response
{
  "data": {
    "deviceNotificationTokenCreate": {
      "errors": [Error],
      "success": true
    }
  }
}

feedbackSubmit

Response

Returns a SuccessPayload!

Arguments
Name Description
input - FeedbackSubmitInput!

Example

Query
mutation FeedbackSubmit($input: FeedbackSubmitInput!) {
  feedbackSubmit(input: $input) {
    errors {
      code
      message
      path
    }
    success
  }
}
Variables
{"input": FeedbackSubmitInput}
Response
{
  "data": {
    "feedbackSubmit": {
      "errors": [Error],
      "success": false
    }
  }
}

intraLedgerPaymentSend

Description

Actions a payment which is internal to the ledger e.g. it does not use onchain/lightning. Returns payment status (success, failed, pending, already_paid).

Response

Returns a PaymentSendPayload!

Arguments
Name Description
input - IntraLedgerPaymentSendInput!

Example

Query
mutation IntraLedgerPaymentSend($input: IntraLedgerPaymentSendInput!) {
  intraLedgerPaymentSend(input: $input) {
    errors {
      code
      message
      path
    }
    status
  }
}
Variables
{"input": IntraLedgerPaymentSendInput}
Response
{
  "data": {
    "intraLedgerPaymentSend": {
      "errors": [Error],
      "status": "ALREADY_PAID"
    }
  }
}

intraLedgerUsdPaymentSend

Description

Galoy: Actions a payment which is internal to the ledger e.g. it does not use onchain/lightning. Returns payment status (success, failed, pending, already_paid).

Flash: We do not currently have an internal ledger. Consequently, intraledger payments have been updated to call Ibex instead.

Response

Returns a PaymentSendPayload!

Arguments
Name Description
input - IntraLedgerUsdPaymentSendInput!

Example

Query
mutation IntraLedgerUsdPaymentSend($input: IntraLedgerUsdPaymentSendInput!) {
  intraLedgerUsdPaymentSend(input: $input) {
    errors {
      code
      message
      path
    }
    status
  }
}
Variables
{"input": IntraLedgerUsdPaymentSendInput}
Response
{
  "data": {
    "intraLedgerUsdPaymentSend": {
      "errors": [Error],
      "status": "ALREADY_PAID"
    }
  }
}

lnInvoiceCreate

Description

Returns a lightning invoice for an associated wallet. When invoice is paid the value will be credited to a BTC wallet. Expires after 'expiresIn' or 24 hours.

Response

Returns a LnInvoicePayload!

Arguments
Name Description
input - LnInvoiceCreateInput!

Example

Query
mutation LnInvoiceCreate($input: LnInvoiceCreateInput!) {
  lnInvoiceCreate(input: $input) {
    errors {
      code
      message
      path
    }
    invoice {
      paymentHash
      paymentRequest
      paymentSecret
      satoshis
    }
  }
}
Variables
{"input": LnInvoiceCreateInput}
Response
{
  "data": {
    "lnInvoiceCreate": {
      "errors": [Error],
      "invoice": LnInvoice
    }
  }
}

lnInvoiceCreateOnBehalfOfRecipient

Description

Returns a lightning invoice for an associated wallet. When invoice is paid the value will be credited to a BTC wallet. Expires after 'expiresIn' or 24 hours.

Response

Returns a LnInvoicePayload!

Arguments
Name Description
input - LnInvoiceCreateOnBehalfOfRecipientInput!

Example

Query
mutation LnInvoiceCreateOnBehalfOfRecipient($input: LnInvoiceCreateOnBehalfOfRecipientInput!) {
  lnInvoiceCreateOnBehalfOfRecipient(input: $input) {
    errors {
      code
      message
      path
    }
    invoice {
      paymentHash
      paymentRequest
      paymentSecret
      satoshis
    }
  }
}
Variables
{"input": LnInvoiceCreateOnBehalfOfRecipientInput}
Response
{
  "data": {
    "lnInvoiceCreateOnBehalfOfRecipient": {
      "errors": [Error],
      "invoice": LnInvoice
    }
  }
}

lnInvoiceFeeProbe

Response

Returns a SatAmountPayload!

Arguments
Name Description
input - LnInvoiceFeeProbeInput!

Example

Query
mutation LnInvoiceFeeProbe($input: LnInvoiceFeeProbeInput!) {
  lnInvoiceFeeProbe(input: $input) {
    amount
    errors {
      code
      message
      path
    }
  }
}
Variables
{"input": LnInvoiceFeeProbeInput}
Response
{
  "data": {
    "lnInvoiceFeeProbe": {
      "amount": SatAmount,
      "errors": [Error]
    }
  }
}

lnInvoicePaymentSend

Description

Pay a lightning invoice using a balance from a wallet which is owned by the account of the current user. Provided wallet can be USD or BTC and must have sufficient balance to cover amount in lightning invoice. Returns payment status (success, failed, pending, already_paid).

Response

Returns a PaymentSendPayload!

Arguments
Name Description
input - LnInvoicePaymentInput!

Example

Query
mutation LnInvoicePaymentSend($input: LnInvoicePaymentInput!) {
  lnInvoicePaymentSend(input: $input) {
    errors {
      code
      message
      path
    }
    status
  }
}
Variables
{"input": LnInvoicePaymentInput}
Response
{
  "data": {
    "lnInvoicePaymentSend": {
      "errors": [Error],
      "status": "ALREADY_PAID"
    }
  }
}

lnNoAmountInvoiceCreate

Description

Returns a lightning invoice for an associated wallet. Can be used to receive any supported currency value (currently USD or BTC). Expires after 'expiresIn' or 24 hours for BTC invoices or 5 minutes for USD invoices.

Response

Returns a LnNoAmountInvoicePayload!

Arguments
Name Description
input - LnNoAmountInvoiceCreateInput!

Example

Query
mutation LnNoAmountInvoiceCreate($input: LnNoAmountInvoiceCreateInput!) {
  lnNoAmountInvoiceCreate(input: $input) {
    errors {
      code
      message
      path
    }
    invoice {
      paymentHash
      paymentRequest
      paymentSecret
    }
  }
}
Variables
{"input": LnNoAmountInvoiceCreateInput}
Response
{
  "data": {
    "lnNoAmountInvoiceCreate": {
      "errors": [Error],
      "invoice": LnNoAmountInvoice
    }
  }
}

lnNoAmountInvoiceCreateOnBehalfOfRecipient

Description

Returns a lightning invoice for an associated wallet. Can be used to receive any supported currency value (currently USD or BTC). Expires after 'expiresIn' or 24 hours for BTC invoices or 5 minutes for USD invoices.

Response

Returns a LnNoAmountInvoicePayload!

Arguments
Name Description
input - LnNoAmountInvoiceCreateOnBehalfOfRecipientInput!

Example

Query
mutation LnNoAmountInvoiceCreateOnBehalfOfRecipient($input: LnNoAmountInvoiceCreateOnBehalfOfRecipientInput!) {
  lnNoAmountInvoiceCreateOnBehalfOfRecipient(input: $input) {
    errors {
      code
      message
      path
    }
    invoice {
      paymentHash
      paymentRequest
      paymentSecret
    }
  }
}
Variables
{"input": LnNoAmountInvoiceCreateOnBehalfOfRecipientInput}
Response
{
  "data": {
    "lnNoAmountInvoiceCreateOnBehalfOfRecipient": {
      "errors": [Error],
      "invoice": LnNoAmountInvoice
    }
  }
}

lnNoAmountInvoiceFeeProbe

Response

Returns a SatAmountPayload!

Arguments
Name Description
input - LnNoAmountInvoiceFeeProbeInput!

Example

Query
mutation LnNoAmountInvoiceFeeProbe($input: LnNoAmountInvoiceFeeProbeInput!) {
  lnNoAmountInvoiceFeeProbe(input: $input) {
    amount
    errors {
      code
      message
      path
    }
  }
}
Variables
{"input": LnNoAmountInvoiceFeeProbeInput}
Response
{
  "data": {
    "lnNoAmountInvoiceFeeProbe": {
      "amount": SatAmount,
      "errors": [Error]
    }
  }
}

lnNoAmountInvoicePaymentSend

Description

Pay a lightning invoice using a balance from a wallet which is owned by the account of the current user. Provided wallet must be BTC and must have sufficient balance to cover amount specified in mutation request. Returns payment status (success, failed, pending, already_paid).

Response

Returns a PaymentSendPayload!

Arguments
Name Description
input - LnNoAmountInvoicePaymentInput!

Example

Query
mutation LnNoAmountInvoicePaymentSend($input: LnNoAmountInvoicePaymentInput!) {
  lnNoAmountInvoicePaymentSend(input: $input) {
    errors {
      code
      message
      path
    }
    status
  }
}
Variables
{"input": LnNoAmountInvoicePaymentInput}
Response
{
  "data": {
    "lnNoAmountInvoicePaymentSend": {
      "errors": [Error],
      "status": "ALREADY_PAID"
    }
  }
}

lnNoAmountUsdInvoiceFeeProbe

Response

Returns a CentAmountPayload!

Arguments
Name Description
input - LnNoAmountUsdInvoiceFeeProbeInput!

Example

Query
mutation LnNoAmountUsdInvoiceFeeProbe($input: LnNoAmountUsdInvoiceFeeProbeInput!) {
  lnNoAmountUsdInvoiceFeeProbe(input: $input) {
    amount
    errors {
      code
      message
      path
    }
  }
}
Variables
{"input": LnNoAmountUsdInvoiceFeeProbeInput}
Response
{
  "data": {
    "lnNoAmountUsdInvoiceFeeProbe": {
      "amount": CentAmount,
      "errors": [Error]
    }
  }
}

lnNoAmountUsdInvoicePaymentSend

Description

Pay a lightning invoice using a balance from a wallet which is owned by the account of the current user. Provided wallet must be USD and have sufficient balance to cover amount specified in mutation request. Returns payment status (success, failed, pending, already_paid).

Response

Returns a PaymentSendPayload!

Arguments
Name Description
input - LnNoAmountUsdInvoicePaymentInput!

Example

Query
mutation LnNoAmountUsdInvoicePaymentSend($input: LnNoAmountUsdInvoicePaymentInput!) {
  lnNoAmountUsdInvoicePaymentSend(input: $input) {
    errors {
      code
      message
      path
    }
    status
  }
}
Variables
{"input": LnNoAmountUsdInvoicePaymentInput}
Response
{
  "data": {
    "lnNoAmountUsdInvoicePaymentSend": {
      "errors": [Error],
      "status": "ALREADY_PAID"
    }
  }
}

lnUsdInvoiceCreate

Description

Returns a lightning invoice denominated in satoshis for an associated wallet. When invoice is paid the equivalent value at invoice creation will be credited to a USD wallet. Expires after 'expiresIn' or 5 minutes (short expiry time because there is a USD/BTC exchange rate associated with the amount).

Response

Returns a LnInvoicePayload!

Arguments
Name Description
input - LnUsdInvoiceCreateInput!

Example

Query
mutation LnUsdInvoiceCreate($input: LnUsdInvoiceCreateInput!) {
  lnUsdInvoiceCreate(input: $input) {
    errors {
      code
      message
      path
    }
    invoice {
      paymentHash
      paymentRequest
      paymentSecret
      satoshis
    }
  }
}
Variables
{"input": LnUsdInvoiceCreateInput}
Response
{
  "data": {
    "lnUsdInvoiceCreate": {
      "errors": [Error],
      "invoice": LnInvoice
    }
  }
}

lnUsdInvoiceCreateOnBehalfOfRecipient

Description

Returns a lightning invoice denominated in satoshis for an associated wallet. When invoice is paid the equivalent value at invoice creation will be credited to a USD wallet. Expires after 'expiresIn' or 5 minutes (short expiry time because there is a USD/BTC exchange rate associated with the amount).

Response

Returns a LnInvoicePayload!

Arguments
Name Description
input - LnUsdInvoiceCreateOnBehalfOfRecipientInput!

Example

Query
mutation LnUsdInvoiceCreateOnBehalfOfRecipient($input: LnUsdInvoiceCreateOnBehalfOfRecipientInput!) {
  lnUsdInvoiceCreateOnBehalfOfRecipient(input: $input) {
    errors {
      code
      message
      path
    }
    invoice {
      paymentHash
      paymentRequest
      paymentSecret
      satoshis
    }
  }
}
Variables
{"input": LnUsdInvoiceCreateOnBehalfOfRecipientInput}
Response
{
  "data": {
    "lnUsdInvoiceCreateOnBehalfOfRecipient": {
      "errors": [Error],
      "invoice": LnInvoice
    }
  }
}

lnUsdInvoiceFeeProbe

Response

Returns a CentAmountPayload!

Arguments
Name Description
input - LnUsdInvoiceFeeProbeInput!

Example

Query
mutation LnUsdInvoiceFeeProbe($input: LnUsdInvoiceFeeProbeInput!) {
  lnUsdInvoiceFeeProbe(input: $input) {
    amount
    errors {
      code
      message
      path
    }
  }
}
Variables
{"input": LnUsdInvoiceFeeProbeInput}
Response
{
  "data": {
    "lnUsdInvoiceFeeProbe": {
      "amount": CentAmount,
      "errors": [Error]
    }
  }
}

merchantMapSuggest

Response

Returns a MerchantPayload!

Arguments
Name Description
input - MerchantMapSuggestInput!

Example

Query
mutation MerchantMapSuggest($input: MerchantMapSuggestInput!) {
  merchantMapSuggest(input: $input) {
    errors {
      code
      message
      path
    }
    merchant {
      coordinates {
        ...CoordinatesFragment
      }
      createdAt
      id
      title
      username
      validated
    }
  }
}
Variables
{"input": MerchantMapSuggestInput}
Response
{
  "data": {
    "merchantMapSuggest": {
      "errors": [Error],
      "merchant": Merchant
    }
  }
}

onChainAddressCreate

Response

Returns an OnChainAddressPayload!

Arguments
Name Description
input - OnChainAddressCreateInput!

Example

Query
mutation OnChainAddressCreate($input: OnChainAddressCreateInput!) {
  onChainAddressCreate(input: $input) {
    address
    errors {
      code
      message
      path
    }
  }
}
Variables
{"input": OnChainAddressCreateInput}
Response
{
  "data": {
    "onChainAddressCreate": {
      "address": OnChainAddress,
      "errors": [Error]
    }
  }
}

onChainAddressCurrent

Response

Returns an OnChainAddressPayload!

Arguments
Name Description
input - OnChainAddressCurrentInput!

Example

Query
mutation OnChainAddressCurrent($input: OnChainAddressCurrentInput!) {
  onChainAddressCurrent(input: $input) {
    address
    errors {
      code
      message
      path
    }
  }
}
Variables
{"input": OnChainAddressCurrentInput}
Response
{
  "data": {
    "onChainAddressCurrent": {
      "address": OnChainAddress,
      "errors": [Error]
    }
  }
}

onChainPaymentSend

Response

Returns a PaymentSendPayload!

Arguments
Name Description
input - OnChainPaymentSendInput!

Example

Query
mutation OnChainPaymentSend($input: OnChainPaymentSendInput!) {
  onChainPaymentSend(input: $input) {
    errors {
      code
      message
      path
    }
    status
  }
}
Variables
{"input": OnChainPaymentSendInput}
Response
{
  "data": {
    "onChainPaymentSend": {
      "errors": [Error],
      "status": "ALREADY_PAID"
    }
  }
}

onChainPaymentSendAll

Response

Returns a PaymentSendPayload!

Arguments
Name Description
input - OnChainPaymentSendAllInput!

Example

Query
mutation OnChainPaymentSendAll($input: OnChainPaymentSendAllInput!) {
  onChainPaymentSendAll(input: $input) {
    errors {
      code
      message
      path
    }
    status
  }
}
Variables
{"input": OnChainPaymentSendAllInput}
Response
{
  "data": {
    "onChainPaymentSendAll": {
      "errors": [Error],
      "status": "ALREADY_PAID"
    }
  }
}

onChainUsdPaymentSend

Response

Returns a PaymentSendPayload!

Arguments
Name Description
input - OnChainUsdPaymentSendInput!

Example

Query
mutation OnChainUsdPaymentSend($input: OnChainUsdPaymentSendInput!) {
  onChainUsdPaymentSend(input: $input) {
    errors {
      code
      message
      path
    }
    status
  }
}
Variables
{"input": OnChainUsdPaymentSendInput}
Response
{
  "data": {
    "onChainUsdPaymentSend": {
      "errors": [Error],
      "status": "ALREADY_PAID"
    }
  }
}

onChainUsdPaymentSendAsBtcDenominated

Response

Returns a PaymentSendPayload!

Arguments
Name Description
input - OnChainUsdPaymentSendAsBtcDenominatedInput!

Example

Query
mutation OnChainUsdPaymentSendAsBtcDenominated($input: OnChainUsdPaymentSendAsBtcDenominatedInput!) {
  onChainUsdPaymentSendAsBtcDenominated(input: $input) {
    errors {
      code
      message
      path
    }
    status
  }
}
Variables
{"input": OnChainUsdPaymentSendAsBtcDenominatedInput}
Response
{
  "data": {
    "onChainUsdPaymentSendAsBtcDenominated": {
      "errors": [Error],
      "status": "ALREADY_PAID"
    }
  }
}

quizCompleted

Response

Returns a QuizCompletedPayload!

Arguments
Name Description
input - QuizCompletedInput!

Example

Query
mutation QuizCompleted($input: QuizCompletedInput!) {
  quizCompleted(input: $input) {
    errors {
      code
      message
      path
    }
    quiz {
      amount
      completed
      id
    }
  }
}
Variables
{"input": QuizCompletedInput}
Response
{
  "data": {
    "quizCompleted": {
      "errors": [Error],
      "quiz": Quiz
    }
  }
}

userContactUpdateAlias

will be moved to AccountContact
Response

Returns a UserContactUpdateAliasPayload!

Arguments
Name Description
input - UserContactUpdateAliasInput!

Example

Query
mutation UserContactUpdateAlias($input: UserContactUpdateAliasInput!) {
  userContactUpdateAlias(input: $input) {
    contact {
      alias
      id
      transactions {
        ...TransactionConnectionFragment
      }
      transactionsCount
      username
    }
    errors {
      code
      message
      path
    }
  }
}
Variables
{"input": UserContactUpdateAliasInput}
Response
{
  "data": {
    "userContactUpdateAlias": {
      "contact": UserContact,
      "errors": [Error]
    }
  }
}

userEmailDelete

Response

Returns a UserEmailDeletePayload!

Example

Query
mutation UserEmailDelete {
  userEmailDelete {
    errors {
      code
      message
      path
    }
    me {
      contactByUsername {
        ...UserContactFragment
      }
      contacts {
        ...UserContactFragment
      }
      createdAt
      defaultAccount {
        ...AccountFragment
      }
      email {
        ...EmailFragment
      }
      id
      language
      npub
      phone
      quizQuestions {
        ...UserQuizQuestionFragment
      }
      totpEnabled
      username
    }
  }
}
Response
{
  "data": {
    "userEmailDelete": {
      "errors": [Error],
      "me": User
    }
  }
}

userEmailRegistrationInitiate

Arguments
Name Description
input - UserEmailRegistrationInitiateInput!

Example

Query
mutation UserEmailRegistrationInitiate($input: UserEmailRegistrationInitiateInput!) {
  userEmailRegistrationInitiate(input: $input) {
    emailRegistrationId
    errors {
      code
      message
      path
    }
    me {
      contactByUsername {
        ...UserContactFragment
      }
      contacts {
        ...UserContactFragment
      }
      createdAt
      defaultAccount {
        ...AccountFragment
      }
      email {
        ...EmailFragment
      }
      id
      language
      npub
      phone
      quizQuestions {
        ...UserQuizQuestionFragment
      }
      totpEnabled
      username
    }
  }
}
Variables
{"input": UserEmailRegistrationInitiateInput}
Response
{
  "data": {
    "userEmailRegistrationInitiate": {
      "emailRegistrationId": EmailRegistrationId,
      "errors": [Error],
      "me": User
    }
  }
}

userEmailRegistrationValidate

Arguments
Name Description
input - UserEmailRegistrationValidateInput!

Example

Query
mutation UserEmailRegistrationValidate($input: UserEmailRegistrationValidateInput!) {
  userEmailRegistrationValidate(input: $input) {
    errors {
      code
      message
      path
    }
    me {
      contactByUsername {
        ...UserContactFragment
      }
      contacts {
        ...UserContactFragment
      }
      createdAt
      defaultAccount {
        ...AccountFragment
      }
      email {
        ...EmailFragment
      }
      id
      language
      npub
      phone
      quizQuestions {
        ...UserQuizQuestionFragment
      }
      totpEnabled
      username
    }
  }
}
Variables
{"input": UserEmailRegistrationValidateInput}
Response
{
  "data": {
    "userEmailRegistrationValidate": {
      "errors": [Error],
      "me": User
    }
  }
}

userLogin

Response

Returns an AuthTokenPayload!

Arguments
Name Description
input - UserLoginInput!

Example

Query
mutation UserLogin($input: UserLoginInput!) {
  userLogin(input: $input) {
    authToken
    errors {
      code
      message
      path
    }
    totpRequired
  }
}
Variables
{"input": UserLoginInput}
Response
{
  "data": {
    "userLogin": {
      "authToken": AuthToken,
      "errors": [Error],
      "totpRequired": false
    }
  }
}

userLoginUpgrade

Response

Returns an UpgradePayload!

Arguments
Name Description
input - UserLoginUpgradeInput!

Example

Query
mutation UserLoginUpgrade($input: UserLoginUpgradeInput!) {
  userLoginUpgrade(input: $input) {
    authToken
    errors {
      code
      message
      path
    }
    success
  }
}
Variables
{"input": UserLoginUpgradeInput}
Response
{
  "data": {
    "userLoginUpgrade": {
      "authToken": AuthToken,
      "errors": [Error],
      "success": false
    }
  }
}

userLogout

Response

Returns a SuccessPayload!

Arguments
Name Description
input - UserLogoutInput

Example

Query
mutation UserLogout($input: UserLogoutInput) {
  userLogout(input: $input) {
    errors {
      code
      message
      path
    }
    success
  }
}
Variables
{"input": UserLogoutInput}
Response
{
  "data": {
    "userLogout": {"errors": [Error], "success": false}
  }
}

userPhoneDelete

Response

Returns a UserPhoneDeletePayload!

Example

Query
mutation UserPhoneDelete {
  userPhoneDelete {
    errors {
      code
      message
      path
    }
    me {
      contactByUsername {
        ...UserContactFragment
      }
      contacts {
        ...UserContactFragment
      }
      createdAt
      defaultAccount {
        ...AccountFragment
      }
      email {
        ...EmailFragment
      }
      id
      language
      npub
      phone
      quizQuestions {
        ...UserQuizQuestionFragment
      }
      totpEnabled
      username
    }
  }
}
Response
{
  "data": {
    "userPhoneDelete": {
      "errors": [Error],
      "me": User
    }
  }
}

userPhoneRegistrationInitiate

Response

Returns a SuccessPayload!

Arguments
Name Description
input - UserPhoneRegistrationInitiateInput!

Example

Query
mutation UserPhoneRegistrationInitiate($input: UserPhoneRegistrationInitiateInput!) {
  userPhoneRegistrationInitiate(input: $input) {
    errors {
      code
      message
      path
    }
    success
  }
}
Variables
{"input": UserPhoneRegistrationInitiateInput}
Response
{
  "data": {
    "userPhoneRegistrationInitiate": {
      "errors": [Error],
      "success": true
    }
  }
}

userPhoneRegistrationValidate

Arguments
Name Description
input - UserPhoneRegistrationValidateInput!

Example

Query
mutation UserPhoneRegistrationValidate($input: UserPhoneRegistrationValidateInput!) {
  userPhoneRegistrationValidate(input: $input) {
    errors {
      code
      message
      path
    }
    me {
      contactByUsername {
        ...UserContactFragment
      }
      contacts {
        ...UserContactFragment
      }
      createdAt
      defaultAccount {
        ...AccountFragment
      }
      email {
        ...EmailFragment
      }
      id
      language
      npub
      phone
      quizQuestions {
        ...UserQuizQuestionFragment
      }
      totpEnabled
      username
    }
  }
}
Variables
{"input": UserPhoneRegistrationValidateInput}
Response
{
  "data": {
    "userPhoneRegistrationValidate": {
      "errors": [Error],
      "me": User
    }
  }
}

userQuizQuestionUpdateCompleted

Use QuizCompletedMutation instead
Arguments
Name Description
input - UserQuizQuestionUpdateCompletedInput!

Example

Query
mutation UserQuizQuestionUpdateCompleted($input: UserQuizQuestionUpdateCompletedInput!) {
  userQuizQuestionUpdateCompleted(input: $input) {
    errors {
      code
      message
      path
    }
    userQuizQuestion {
      completed
      question {
        ...QuizQuestionFragment
      }
    }
  }
}
Variables
{"input": UserQuizQuestionUpdateCompletedInput}
Response
{
  "data": {
    "userQuizQuestionUpdateCompleted": {
      "errors": [Error],
      "userQuizQuestion": UserQuizQuestion
    }
  }
}

userTotpDelete

Response

Returns a UserTotpDeletePayload!

Arguments
Name Description
input - UserTotpDeleteInput!

Example

Query
mutation UserTotpDelete($input: UserTotpDeleteInput!) {
  userTotpDelete(input: $input) {
    errors {
      code
      message
      path
    }
    me {
      contactByUsername {
        ...UserContactFragment
      }
      contacts {
        ...UserContactFragment
      }
      createdAt
      defaultAccount {
        ...AccountFragment
      }
      email {
        ...EmailFragment
      }
      id
      language
      npub
      phone
      quizQuestions {
        ...UserQuizQuestionFragment
      }
      totpEnabled
      username
    }
  }
}
Variables
{"input": UserTotpDeleteInput}
Response
{
  "data": {
    "userTotpDelete": {
      "errors": [Error],
      "me": User
    }
  }
}

userTotpRegistrationInitiate

Arguments
Name Description
input - UserTotpRegistrationInitiateInput!

Example

Query
mutation UserTotpRegistrationInitiate($input: UserTotpRegistrationInitiateInput!) {
  userTotpRegistrationInitiate(input: $input) {
    errors {
      code
      message
      path
    }
    totpRegistrationId
    totpSecret
  }
}
Variables
{"input": UserTotpRegistrationInitiateInput}
Response
{
  "data": {
    "userTotpRegistrationInitiate": {
      "errors": [Error],
      "totpRegistrationId": TotpRegistrationId,
      "totpSecret": TotpSecret
    }
  }
}

userTotpRegistrationValidate

Arguments
Name Description
input - UserTotpRegistrationValidateInput!

Example

Query
mutation UserTotpRegistrationValidate($input: UserTotpRegistrationValidateInput!) {
  userTotpRegistrationValidate(input: $input) {
    errors {
      code
      message
      path
    }
    me {
      contactByUsername {
        ...UserContactFragment
      }
      contacts {
        ...UserContactFragment
      }
      createdAt
      defaultAccount {
        ...AccountFragment
      }
      email {
        ...EmailFragment
      }
      id
      language
      npub
      phone
      quizQuestions {
        ...UserQuizQuestionFragment
      }
      totpEnabled
      username
    }
  }
}
Variables
{"input": UserTotpRegistrationValidateInput}
Response
{
  "data": {
    "userTotpRegistrationValidate": {
      "errors": [Error],
      "me": User
    }
  }
}

userUpdateLanguage

Response

Returns a UserUpdateLanguagePayload!

Arguments
Name Description
input - UserUpdateLanguageInput!

Example

Query
mutation UserUpdateLanguage($input: UserUpdateLanguageInput!) {
  userUpdateLanguage(input: $input) {
    errors {
      code
      message
      path
    }
    user {
      contactByUsername {
        ...UserContactFragment
      }
      contacts {
        ...UserContactFragment
      }
      createdAt
      defaultAccount {
        ...AccountFragment
      }
      email {
        ...EmailFragment
      }
      id
      language
      npub
      phone
      quizQuestions {
        ...UserQuizQuestionFragment
      }
      totpEnabled
      username
    }
  }
}
Variables
{"input": UserUpdateLanguageInput}
Response
{
  "data": {
    "userUpdateLanguage": {
      "errors": [Error],
      "user": User
    }
  }
}

userUpdateNpub

Response

Returns a UserUpdateNpubPayload!

Arguments
Name Description
input - UserUpdateNpubInput!

Example

Query
mutation UserUpdateNpub($input: UserUpdateNpubInput!) {
  userUpdateNpub(input: $input) {
    errors {
      code
      message
      path
    }
    user {
      contactByUsername {
        ...UserContactFragment
      }
      contacts {
        ...UserContactFragment
      }
      createdAt
      defaultAccount {
        ...AccountFragment
      }
      email {
        ...EmailFragment
      }
      id
      language
      npub
      phone
      quizQuestions {
        ...UserQuizQuestionFragment
      }
      totpEnabled
      username
    }
  }
}
Variables
{"input": UserUpdateNpubInput}
Response
{
  "data": {
    "userUpdateNpub": {
      "errors": [Error],
      "user": User
    }
  }
}

userUpdateUsername

Username will be moved to @Handle in Accounts. Also SetUsername naming should be used instead of UpdateUsername to reflect the idempotency of Handles
Response

Returns a UserUpdateUsernamePayload!

Arguments
Name Description
input - UserUpdateUsernameInput!

Example

Query
mutation UserUpdateUsername($input: UserUpdateUsernameInput!) {
  userUpdateUsername(input: $input) {
    errors {
      code
      message
      path
    }
    user {
      contactByUsername {
        ...UserContactFragment
      }
      contacts {
        ...UserContactFragment
      }
      createdAt
      defaultAccount {
        ...AccountFragment
      }
      email {
        ...EmailFragment
      }
      id
      language
      npub
      phone
      quizQuestions {
        ...UserQuizQuestionFragment
      }
      totpEnabled
      username
    }
  }
}
Variables
{"input": UserUpdateUsernameInput}
Response
{
  "data": {
    "userUpdateUsername": {
      "errors": [Error],
      "user": User
    }
  }
}

Subscriptions

lnInvoicePaymentStatus

Response

Returns a LnInvoicePaymentStatusPayload!

Arguments
Name Description
input - LnInvoicePaymentStatusInput!

Example

Query
subscription LnInvoicePaymentStatus($input: LnInvoicePaymentStatusInput!) {
  lnInvoicePaymentStatus(input: $input) {
    errors {
      code
      message
      path
    }
    status
  }
}
Variables
{"input": LnInvoicePaymentStatusInput}
Response
{
  "data": {
    "lnInvoicePaymentStatus": {
      "errors": [Error],
      "status": "EXPIRED"
    }
  }
}

myUpdates

Response

Returns a MyUpdatesPayload!

Example

Query
subscription MyUpdates {
  myUpdates {
    errors {
      code
      message
      path
    }
    me {
      contactByUsername {
        ...UserContactFragment
      }
      contacts {
        ...UserContactFragment
      }
      createdAt
      defaultAccount {
        ...AccountFragment
      }
      email {
        ...EmailFragment
      }
      id
      language
      npub
      phone
      quizQuestions {
        ...UserQuizQuestionFragment
      }
      totpEnabled
      username
    }
    update {
      ... on IntraLedgerUpdate {
        ...IntraLedgerUpdateFragment
      }
      ... on LnUpdate {
        ...LnUpdateFragment
      }
      ... on OnChainUpdate {
        ...OnChainUpdateFragment
      }
      ... on Price {
        ...PriceFragment
      }
      ... on RealtimePrice {
        ...RealtimePriceFragment
      }
    }
  }
}
Response
{
  "data": {
    "myUpdates": {
      "errors": [Error],
      "me": User,
      "update": IntraLedgerUpdate
    }
  }
}

price

Response

Returns a PricePayload!

Arguments
Name Description
input - PriceInput!

Example

Query
subscription Price($input: PriceInput!) {
  price(input: $input) {
    errors {
      code
      message
      path
    }
    price {
      base
      currencyUnit
      formattedAmount
      offset
    }
  }
}
Variables
{"input": PriceInput}
Response
{
  "data": {
    "price": {
      "errors": [Error],
      "price": Price
    }
  }
}

realtimePrice

Description

Returns the price of 1 satoshi

Response

Returns a RealtimePricePayload!

Arguments
Name Description
input - RealtimePriceInput!

Example

Query
subscription RealtimePrice($input: RealtimePriceInput!) {
  realtimePrice(input: $input) {
    errors {
      code
      message
      path
    }
    realtimePrice {
      btcSatPrice {
        ...PriceOfOneSatInMinorUnitFragment
      }
      denominatorCurrency
      id
      timestamp
      usdCentPrice {
        ...PriceOfOneUsdCentInMinorUnitFragment
      }
    }
  }
}
Variables
{"input": RealtimePriceInput}
Response
{
  "data": {
    "realtimePrice": {
      "errors": [Error],
      "realtimePrice": RealtimePrice
    }
  }
}

Types

Account

Fields
Field Name Description
callbackEndpoints - [CallbackEndpoint!]!
csvTransactions - String!
Arguments
walletIds - [WalletId!]!
defaultWalletId - WalletId!
displayCurrency - DisplayCurrency!
id - ID!
level - AccountLevel!
limits - AccountLimits!
notificationSettings - NotificationSettings!
realtimePrice - RealtimePrice!
transactions - TransactionConnection
Arguments
after - String

Returns the items in the list that come after the specified cursor.

before - String

Returns the items in the list that come before the specified cursor.

first - Int

Returns the first n items from the list.

last - Int

Returns the last n items from the list.

walletIds - [WalletId]
wallets - [Wallet!]!
Possible Types
Account Types

ConsumerAccount

Example
{
  "callbackEndpoints": [CallbackEndpoint],
  "csvTransactions": "abc123",
  "defaultWalletId": WalletId,
  "displayCurrency": DisplayCurrency,
  "id": 4,
  "level": "ONE",
  "limits": AccountLimits,
  "notificationSettings": NotificationSettings,
  "realtimePrice": RealtimePrice,
  "transactions": TransactionConnection,
  "wallets": [Wallet]
}

AccountDeletePayload

Fields
Field Name Description
errors - [Error!]!
success - Boolean!
Example
{"errors": [Error], "success": true}

AccountDisableNotificationCategoryInput

Fields
Input Field Description
category - NotificationCategory!
channel - NotificationChannel
Example
{"category": NotificationCategory, "channel": "PUSH"}

AccountDisableNotificationChannelInput

Fields
Input Field Description
channel - NotificationChannel!
Example
{"channel": "PUSH"}

AccountEnableNotificationCategoryInput

Fields
Input Field Description
category - NotificationCategory!
channel - NotificationChannel
Example
{"category": NotificationCategory, "channel": "PUSH"}

AccountEnableNotificationChannelInput

Fields
Input Field Description
channel - NotificationChannel!
Example
{"channel": "PUSH"}

AccountLevel

Values
Enum Value Description

ONE

TWO

ZERO

Example
"ONE"

AccountLimit

Fields
Field Name Description
interval - Seconds The rolling time interval in seconds that the limits would apply for.
remainingLimit - CentAmount The amount of cents remaining below the limit for the current 24 hour period.
totalLimit - CentAmount! The current maximum limit for a given 24 hour period.
Possible Types
AccountLimit Types

OneDayAccountLimit

Example
{
  "interval": Seconds,
  "remainingLimit": CentAmount,
  "totalLimit": CentAmount
}

AccountLimits

Fields
Field Name Description
convert - [AccountLimit!]! Limits for converting between currencies among a account's own wallets.
internalSend - [AccountLimit!]! Limits for sending to other internal accounts.
withdrawal - [AccountLimit!]! Limits for withdrawing to external onchain or lightning destinations.
Example
{
  "convert": [AccountLimit],
  "internalSend": [AccountLimit],
  "withdrawal": [AccountLimit]
}

AccountUpdateDefaultWalletIdInput

Fields
Input Field Description
walletId - WalletId!
Example
{"walletId": WalletId}

AccountUpdateDefaultWalletIdPayload

Fields
Field Name Description
account - ConsumerAccount
errors - [Error!]!
Example
{
  "account": ConsumerAccount,
  "errors": [Error]
}

AccountUpdateDisplayCurrencyInput

Fields
Input Field Description
currency - DisplayCurrency!
Example
{"currency": DisplayCurrency}

AccountUpdateDisplayCurrencyPayload

Fields
Field Name Description
account - ConsumerAccount
errors - [Error!]!
Example
{
  "account": ConsumerAccount,
  "errors": [Error]
}

AccountUpdateNotificationSettingsPayload

Fields
Field Name Description
account - ConsumerAccount
errors - [Error!]!
Example
{
  "account": ConsumerAccount,
  "errors": [Error]
}

AuthToken

Description

An Opaque Bearer token

Example
AuthToken

AuthTokenPayload

Fields
Field Name Description
authToken - AuthToken
errors - [Error!]!
totpRequired - Boolean
Example
{
  "authToken": AuthToken,
  "errors": [Error],
  "totpRequired": false
}

BTCWallet

Description

A wallet belonging to an account which contains a BTC balance and a list of transactions.

Fields
Field Name Description
accountId - ID!
balance - SignedAmount! A balance stored in BTC.
id - ID!
lnurlp - Lnurl
pendingIncomingBalance - SignedAmount! An unconfirmed incoming onchain balance.
transactions - TransactionConnection A list of BTC transactions associated with this wallet.
Arguments
after - String

Returns the items in the list that come after the specified cursor.

before - String

Returns the items in the list that come before the specified cursor.

first - Int

Returns the first n items from the list.

last - Int

Returns the last n items from the list.

transactionsByAddress - TransactionConnection
Arguments
address - OnChainAddress!

Returns the items that include this address.

after - String

Returns the items in the list that come after the specified cursor.

before - String

Returns the items in the list that come before the specified cursor.

first - Int

Returns the first n items from the list.

last - Int

Returns the last n items from the list.

walletCurrency - WalletCurrency!
Example
{
  "accountId": 4,
  "balance": SignedAmount,
  "id": "4",
  "lnurlp": Lnurl,
  "pendingIncomingBalance": SignedAmount,
  "transactions": TransactionConnection,
  "transactionsByAddress": TransactionConnection,
  "walletCurrency": "BTC"
}

Boolean

Description

The Boolean scalar type represents true or false.

BuildInformation

Fields
Field Name Description
commitHash - String
helmRevision - Int
Example
{
  "commitHash": "abc123",
  "helmRevision": 987
}

CallbackEndpoint

Fields
Field Name Description
id - EndpointId!
url - EndpointUrl!
Example
{
  "id": EndpointId,
  "url": EndpointUrl
}

CallbackEndpointAddInput

Fields
Input Field Description
url - EndpointUrl! callback endpoint to be called
Example
{"url": EndpointUrl}

CallbackEndpointAddPayload

Fields
Field Name Description
errors - [Error!]!
id - EndpointId
Example
{
  "errors": [Error],
  "id": EndpointId
}

CallbackEndpointDeleteInput

Fields
Input Field Description
id - EndpointId!
Example
{"id": EndpointId}

CaptchaCreateChallengePayload

Fields
Field Name Description
errors - [Error!]!
result - CaptchaCreateChallengeResult
Example
{
  "errors": [Error],
  "result": CaptchaCreateChallengeResult
}

CaptchaCreateChallengeResult

Fields
Field Name Description
challengeCode - String!
failbackMode - Boolean!
id - String!
newCaptcha - Boolean!
Example
{
  "challengeCode": "xyz789",
  "failbackMode": true,
  "id": "abc123",
  "newCaptcha": false
}

CaptchaRequestAuthCodeInput

Fields
Input Field Description
challengeCode - String!
channel - PhoneCodeChannelType
phone - Phone!
secCode - String!
validationCode - String!
Example
{
  "challengeCode": "abc123",
  "channel": "SMS",
  "phone": Phone,
  "secCode": "abc123",
  "validationCode": "xyz789"
}

CentAmount

Description

(Positive) Cent amount (1/100 of a dollar)

Example
CentAmount

CentAmountPayload

Fields
Field Name Description
amount - CentAmount
errors - [Error!]!
Example
{
  "amount": CentAmount,
  "errors": [Error]
}

ConsumerAccount

Fields
Field Name Description
callbackEndpoints - [CallbackEndpoint!]!
csvTransactions - String! return CSV stream, base64 encoded, of the list of transactions in the wallet
Arguments
walletIds - [WalletId!]!
defaultWalletId - WalletId!
displayCurrency - DisplayCurrency!
id - ID!
level - AccountLevel!
limits - AccountLimits!
notificationSettings - NotificationSettings!
quiz - [Quiz!]! List the quiz questions of the consumer account
realtimePrice - RealtimePrice!
transactions - TransactionConnection A list of all transactions associated with walletIds optionally passed.
Arguments
after - String

Returns the items in the list that come after the specified cursor.

before - String

Returns the items in the list that come before the specified cursor.

first - Int

Returns the first n items from the list.

last - Int

Returns the last n items from the list.

walletIds - [WalletId]
wallets - [Wallet!]!
Example
{
  "callbackEndpoints": [CallbackEndpoint],
  "csvTransactions": "abc123",
  "defaultWalletId": WalletId,
  "displayCurrency": DisplayCurrency,
  "id": 4,
  "level": "ONE",
  "limits": AccountLimits,
  "notificationSettings": NotificationSettings,
  "quiz": [Quiz],
  "realtimePrice": RealtimePrice,
  "transactions": TransactionConnection,
  "wallets": [Wallet]
}

ContactAlias

Description

An alias name that a user can set for a wallet (with which they have transactions)

Example
ContactAlias

Coordinates

Fields
Field Name Description
latitude - Float!
longitude - Float!
Example
{"latitude": 123.45, "longitude": 123.45}

Country

Fields
Field Name Description
id - CountryCode!
supportedAuthChannels - [PhoneCodeChannelType!]!
Example
{
  "id": "US",
  "supportedAuthChannels": ["SMS"]
}

CountryCode

Description

A CCA2 country code (ex US, FR, etc)

Example
"US"

Currency

Fields
Field Name Description
flag - String!
fractionDigits - Int!
id - ID!
name - String!
symbol - String!
Example
{
  "flag": "abc123",
  "fractionDigits": 987,
  "id": "4",
  "name": "xyz789",
  "symbol": "xyz789"
}

DepositFeesInformation

Fields
Field Name Description
minBankFee - String!
minBankFeeThreshold - String! below this amount minBankFee will be charged
ratio - String! ratio to charge as basis points above minBankFeeThreshold amount
Example
{
  "minBankFee": "abc123",
  "minBankFeeThreshold": "xyz789",
  "ratio": "xyz789"
}

DeviceNotificationTokenCreateInput

Fields
Input Field Description
deviceToken - String!
Example
{"deviceToken": "xyz789"}

DisplayCurrency

Description

Display currency of an account

Example
DisplayCurrency

Email

Fields
Field Name Description
address - EmailAddress
verified - Boolean
Example
{
  "address": "[email protected]",
  "verified": true
}

EmailAddress

Description

Email address

Example
"[email protected]"

EmailRegistrationId

Description

An id to be passed between registrationInitiate and registrationValidate for confirming email

Example
EmailRegistrationId

EndpointId

Example
EndpointId

EndpointUrl

Description

Url that will be fetched on events for the account

Example
EndpointUrl

Error

Fields
Field Name Description
code - String
message - String!
path - [String]
Possible Types
Error Types

GraphQLApplicationError

Example
{
  "code": "xyz789",
  "message": "abc123",
  "path": ["abc123"]
}

ExchangeCurrencyUnit

Values
Enum Value Description

BTCSAT

USDCENT

Example
"BTCSAT"

Feedback

Description

Feedback shared with our user

Example
Feedback

FeedbackSubmitInput

Fields
Input Field Description
feedback - Feedback!
Example
{"feedback": Feedback}

FeesInformation

Fields
Field Name Description
deposit - DepositFeesInformation!
Example
{"deposit": DepositFeesInformation}

Float

Description

The Float scalar type represents signed double-precision fractional values as specified by IEEE 754.

Example
987.65

FractionalCentAmount

Description

(Positive) Cent amount (1/100 of a dollar) as a float

Example
FractionalCentAmount

Globals

Description

Provides global settings for the application which might have an impact for the user.

Fields
Field Name Description
buildInformation - BuildInformation!
feesInformation - FeesInformation!
lightningAddressDomain - String! The domain name for lightning addresses accepted by this Galoy instance
lightningAddressDomainAliases - [String!]!
network - Network! Which network (mainnet, testnet, regtest, signet) this instance is running on.
nodesIds - [String!]! A list of public keys for the running lightning nodes. This can be used to know if an invoice belongs to one of our nodes.
supportedCountries - [Country!]! A list of countries and their supported auth channels
Example
{
  "buildInformation": BuildInformation,
  "feesInformation": FeesInformation,
  "lightningAddressDomain": "xyz789",
  "lightningAddressDomainAliases": [
    "xyz789"
  ],
  "network": "mainnet",
  "nodesIds": ["abc123"],
  "supportedCountries": [Country]
}

GraphQLApplicationError

Fields
Field Name Description
code - String
message - String!
path - [String]
Example
{
  "code": "abc123",
  "message": "abc123",
  "path": ["xyz789"]
}

Hex32Bytes

Description

Hex-encoded string of 32 bytes

Example
Hex32Bytes

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"

InitiationVia

Example
InitiationViaIntraLedger

InitiationViaIntraLedger

Fields
Field Name Description
counterPartyUsername - Username
counterPartyWalletId - WalletId
Example
{
  "counterPartyUsername": Username,
  "counterPartyWalletId": WalletId
}

InitiationViaLn

Fields
Field Name Description
paymentHash - PaymentHash!
Example
{"paymentHash": PaymentHash}

InitiationViaOnChain

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

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

IntraLedgerPaymentSendInput

Fields
Input Field Description
amount - SatAmount! Amount in satoshis.
memo - Memo Optional memo to be attached to the payment.
recipientWalletId - WalletId!
walletId - WalletId! The wallet ID of the sender.
Example
{
  "amount": SatAmount,
  "memo": Memo,
  "recipientWalletId": WalletId,
  "walletId": WalletId
}

IntraLedgerUpdate

Fields
Field Name Description
amount - SatAmount!
displayCurrencyPerSat - Float!
txNotificationType - TxNotificationType!
usdPerSat - Float! updated over displayCurrencyPerSat
walletId - WalletId!
Example
{
  "amount": SatAmount,
  "displayCurrencyPerSat": 987.65,
  "txNotificationType": "IntraLedgerPayment",
  "usdPerSat": 987.65,
  "walletId": WalletId
}

IntraLedgerUsdPaymentSendInput

Fields
Input Field Description
amount - FractionalCentAmount! Amount in cents.
memo - Memo Optional memo to be attached to the payment.
recipientWalletId - WalletId!
walletId - WalletId! The wallet ID of the sender.
Example
{
  "amount": FractionalCentAmount,
  "memo": Memo,
  "recipientWalletId": WalletId,
  "walletId": WalletId
}

InvoicePaymentStatus

Values
Enum Value Description

EXPIRED

PAID

PENDING

Example
"EXPIRED"

IsFlashNpubInput

Fields
Input Field Description
npub - npub!
Example
{"npub": npub}

IsFlashNpubPayload

Fields
Field Name Description
errors - [Error!]!
isFlashNpub - Boolean
Example
{"errors": [Error], "isFlashNpub": false}

Language

Example
Language

LnInvoice

Fields
Field Name Description
paymentHash - PaymentHash!
paymentRequest - LnPaymentRequest!
paymentSecret - LnPaymentSecret!
satoshis - SatAmount
Example
{
  "paymentHash": PaymentHash,
  "paymentRequest": LnPaymentRequest,
  "paymentSecret": LnPaymentSecret,
  "satoshis": SatAmount
}

LnInvoiceCreateInput

Fields
Input Field Description
amount - SatAmount! Amount in satoshis.
expiresIn - Minutes Optional invoice expiration time in minutes.
memo - Memo Optional memo for the lightning invoice.
walletId - WalletId! Wallet ID for a BTC wallet belonging to the current account.
Example
{
  "amount": SatAmount,
  "expiresIn": Minutes,
  "memo": Memo,
  "walletId": WalletId
}

LnInvoiceCreateOnBehalfOfRecipientInput

Fields
Input Field Description
amount - SatAmount! Amount in satoshis.
descriptionHash - Hex32Bytes
expiresIn - Minutes Optional invoice expiration time in minutes.
memo - Memo Optional memo for the lightning invoice.
recipientWalletId - WalletId! Wallet ID for a BTC wallet which belongs to any account.
Example
{
  "amount": SatAmount,
  "descriptionHash": Hex32Bytes,
  "expiresIn": Minutes,
  "memo": Memo,
  "recipientWalletId": WalletId
}

LnInvoiceFeeProbeInput

Fields
Input Field Description
paymentRequest - LnPaymentRequest!
walletId - WalletId!
Example
{
  "paymentRequest": LnPaymentRequest,
  "walletId": WalletId
}

LnInvoicePayload

Fields
Field Name Description
errors - [Error!]!
invoice - LnInvoice
Example
{
  "errors": [Error],
  "invoice": LnInvoice
}

LnInvoicePaymentInput

Fields
Input Field Description
memo - Memo Optional memo to associate with the lightning invoice.
paymentRequest - LnPaymentRequest! Payment request representing the invoice which is being paid.
walletId - WalletId! Wallet ID with sufficient balance to cover amount of invoice. Must belong to the account of the current user.
Example
{
  "memo": Memo,
  "paymentRequest": LnPaymentRequest,
  "walletId": WalletId
}

LnInvoicePaymentStatusInput

Fields
Input Field Description
paymentRequest - LnPaymentRequest!
Example
{"paymentRequest": LnPaymentRequest}

LnInvoicePaymentStatusPayload

Fields
Field Name Description
errors - [Error!]!
status - InvoicePaymentStatus
Example
{"errors": [Error], "status": "EXPIRED"}

LnNoAmountInvoice

Fields
Field Name Description
paymentHash - PaymentHash!
paymentRequest - LnPaymentRequest!
paymentSecret - LnPaymentSecret!
Example
{
  "paymentHash": PaymentHash,
  "paymentRequest": LnPaymentRequest,
  "paymentSecret": LnPaymentSecret
}

LnNoAmountInvoiceCreateInput

Fields
Input Field Description
expiresIn - Minutes Optional invoice expiration time in minutes.
memo - Memo Optional memo for the lightning invoice.
walletId - WalletId! ID for either a USD or BTC wallet belonging to the account of the current user.
Example
{
  "expiresIn": Minutes,
  "memo": Memo,
  "walletId": WalletId
}

LnNoAmountInvoiceCreateOnBehalfOfRecipientInput

Fields
Input Field Description
expiresIn - Minutes Optional invoice expiration time in minutes.
memo - Memo Optional memo for the lightning invoice.
recipientWalletId - WalletId! ID for either a USD or BTC wallet which belongs to the account of any user.
Example
{
  "expiresIn": Minutes,
  "memo": Memo,
  "recipientWalletId": WalletId
}

LnNoAmountInvoiceFeeProbeInput

Fields
Input Field Description
amount - SatAmount!
paymentRequest - LnPaymentRequest!
walletId - WalletId!
Example
{
  "amount": SatAmount,
  "paymentRequest": LnPaymentRequest,
  "walletId": WalletId
}

LnNoAmountInvoicePayload

Fields
Field Name Description
errors - [Error!]!
invoice - LnNoAmountInvoice
Example
{
  "errors": [Error],
  "invoice": LnNoAmountInvoice
}

LnNoAmountInvoicePaymentInput

Fields
Input Field Description
amount - SatAmount! Amount to pay in satoshis.
memo - Memo Optional memo to associate with the lightning invoice.
paymentRequest - LnPaymentRequest! Payment request representing the invoice which is being paid.
walletId - WalletId! Wallet ID with sufficient balance to cover amount defined in mutation request. Must belong to the account of the current user.
Example
{
  "amount": SatAmount,
  "memo": Memo,
  "paymentRequest": LnPaymentRequest,
  "walletId": WalletId
}

LnNoAmountUsdInvoiceFeeProbeInput

Fields
Input Field Description
amount - FractionalCentAmount!
paymentRequest - LnPaymentRequest!
walletId - WalletId!
Example
{
  "amount": FractionalCentAmount,
  "paymentRequest": LnPaymentRequest,
  "walletId": WalletId
}

LnNoAmountUsdInvoicePaymentInput

Fields
Input Field Description
amount - FractionalCentAmount! Amount to pay in USD cents.
memo - Memo Optional memo to associate with the lightning invoice.
paymentRequest - LnPaymentRequest! Payment request representing the invoice which is being paid.
walletId - WalletId! Wallet ID with sufficient balance to cover amount defined in mutation request. Must belong to the account of the current user.
Example
{
  "amount": FractionalCentAmount,
  "memo": Memo,
  "paymentRequest": LnPaymentRequest,
  "walletId": WalletId
}

LnPaymentPreImage

Example
LnPaymentPreImage

LnPaymentRequest

Description

BOLT11 lightning invoice payment request with the amount included

Example
LnPaymentRequest

LnPaymentSecret

Example
LnPaymentSecret

LnUpdate

Fields
Field Name Description
paymentHash - PaymentHash!
status - InvoicePaymentStatus!
walletId - WalletId!
Example
{
  "paymentHash": PaymentHash,
  "status": "EXPIRED",
  "walletId": WalletId
}

LnUsdInvoiceCreateInput

Fields
Input Field Description
amount - FractionalCentAmount! Amount in USD cents.
expiresIn - Minutes Optional invoice expiration time in minutes.
memo - Memo Optional memo for the lightning invoice.
walletId - WalletId! Wallet ID for a USD wallet belonging to the current user.
Example
{
  "amount": FractionalCentAmount,
  "expiresIn": Minutes,
  "memo": Memo,
  "walletId": WalletId
}

LnUsdInvoiceCreateOnBehalfOfRecipientInput

Fields
Input Field Description
amount - FractionalCentAmount! Amount in USD cents.
descriptionHash - Hex32Bytes
expiresIn - Minutes Optional invoice expiration time in minutes.
memo - Memo Optional memo for the lightning invoice. Acts as a note to the recipient.
recipientWalletId - WalletId! Wallet ID for a USD wallet which belongs to the account of any user.
Example
{
  "amount": FractionalCentAmount,
  "descriptionHash": Hex32Bytes,
  "expiresIn": Minutes,
  "memo": Memo,
  "recipientWalletId": WalletId
}

LnUsdInvoiceFeeProbeInput

Fields
Input Field Description
paymentRequest - LnPaymentRequest!
walletId - WalletId!
Example
{
  "paymentRequest": LnPaymentRequest,
  "walletId": WalletId
}

Lnurl

Description

A bech32-encoded HTTPS/Onion URL that can be interacted with automatically by a WALLET in a standard way such that a SERVICE can provide extra services or a better experience for the user. Ref: https://github.com/lnurl/luds/blob/luds/01.md

Example
Lnurl

MapInfo

Fields
Field Name Description
coordinates - Coordinates!
title - String!
Example
{
  "coordinates": Coordinates,
  "title": "abc123"
}

MapMarker

Fields
Field Name Description
mapInfo - MapInfo!
username - Username
Example
{
  "mapInfo": MapInfo,
  "username": Username
}

Memo

Description

Text field in a lightning payment transaction

Example
Memo

Merchant

Fields
Field Name Description
coordinates - Coordinates! GPS coordinates for the merchant that can be used to place the related business on a map
createdAt - Timestamp!
id - ID!
title - String!
username - Username! The username of the merchant
validated - Boolean! Whether the merchant has been validated
Example
{
  "coordinates": Coordinates,
  "createdAt": 1592577642,
  "id": "4",
  "title": "abc123",
  "username": Username,
  "validated": true
}

MerchantMapSuggestInput

Fields
Input Field Description
latitude - Float!
longitude - Float!
title - String!
username - Username!
Example
{
  "latitude": 123.45,
  "longitude": 123.45,
  "title": "xyz789",
  "username": Username
}

MerchantPayload

Fields
Field Name Description
errors - [Error!]!
merchant - Merchant
Example
{
  "errors": [Error],
  "merchant": Merchant
}

Minutes

Description

(Positive) amount of minutes

Example
Minutes

MobileVersions

Fields
Field Name Description
currentSupported - Int!
minSupported - Int!
platform - String!
Example
{
  "currentSupported": 987,
  "minSupported": 123,
  "platform": "abc123"
}

MyUpdatesPayload

Fields
Field Name Description
errors - [Error!]!
me - User
update - UserUpdate
Example
{
  "errors": [Error],
  "me": User,
  "update": IntraLedgerUpdate
}

Network

Values
Enum Value Description

mainnet

regtest

signet

testnet

Example
"mainnet"

NotificationCategory

Example
NotificationCategory

NotificationChannel

Values
Enum Value Description

PUSH

Example
"PUSH"

NotificationChannelSettings

Fields
Field Name Description
disabledCategories - [NotificationCategory!]!
enabled - Boolean!
Example
{
  "disabledCategories": [NotificationCategory],
  "enabled": false
}

NotificationSettings

Fields
Field Name Description
push - NotificationChannelSettings!
Example
{"push": NotificationChannelSettings}

OnChainAddress

Description

An address for an on-chain bitcoin destination

Example
OnChainAddress

OnChainAddressCreateInput

Fields
Input Field Description
walletId - WalletId!
Example
{"walletId": WalletId}

OnChainAddressCurrentInput

Fields
Input Field Description
walletId - WalletId!
Example
{"walletId": WalletId}

OnChainAddressPayload

Fields
Field Name Description
address - OnChainAddress
errors - [Error!]!
Example
{
  "address": OnChainAddress,
  "errors": [Error]
}

OnChainPaymentSendAllInput

Fields
Input Field Description
address - OnChainAddress!
memo - Memo
speed - PayoutSpeed
walletId - WalletId!
Example
{
  "address": OnChainAddress,
  "memo": Memo,
  "speed": "FAST",
  "walletId": WalletId
}

OnChainPaymentSendInput

Fields
Input Field Description
address - OnChainAddress!
amount - SatAmount!
memo - Memo
speed - PayoutSpeed
walletId - WalletId!
Example
{
  "address": OnChainAddress,
  "amount": SatAmount,
  "memo": Memo,
  "speed": "FAST",
  "walletId": WalletId
}

OnChainTxFee

Fields
Field Name Description
amount - SatAmount!
Example
{"amount": SatAmount}

OnChainTxHash

Example
OnChainTxHash

OnChainUpdate

Fields
Field Name Description
amount - SatAmount!
displayCurrencyPerSat - Float!
txHash - OnChainTxHash!
txNotificationType - TxNotificationType!
usdPerSat - Float! updated over displayCurrencyPerSat
walletId - WalletId!
Example
{
  "amount": SatAmount,
  "displayCurrencyPerSat": 123.45,
  "txHash": OnChainTxHash,
  "txNotificationType": "IntraLedgerPayment",
  "usdPerSat": 123.45,
  "walletId": WalletId
}

OnChainUsdPaymentSendAsBtcDenominatedInput

Fields
Input Field Description
address - OnChainAddress!
amount - SatAmount!
memo - Memo
speed - PayoutSpeed
walletId - WalletId!
Example
{
  "address": OnChainAddress,
  "amount": SatAmount,
  "memo": Memo,
  "speed": "FAST",
  "walletId": WalletId
}

OnChainUsdPaymentSendInput

Fields
Input Field Description
address - OnChainAddress!
amount - FractionalCentAmount!
memo - Memo
speed - PayoutSpeed
walletId - WalletId!
Example
{
  "address": OnChainAddress,
  "amount": FractionalCentAmount,
  "memo": Memo,
  "speed": "FAST",
  "walletId": WalletId
}

OnChainUsdTxFee

Fields
Field Name Description
amount - CentAmount!
Example
{"amount": CentAmount}

OneDayAccountLimit

Fields
Field Name Description
interval - Seconds The rolling time interval value in seconds for the current 24 hour period.
remainingLimit - CentAmount The amount of cents remaining below the limit for the current 24 hour period.
totalLimit - CentAmount! The current maximum limit for a given 24 hour period.
Example
{
  "interval": Seconds,
  "remainingLimit": CentAmount,
  "totalLimit": CentAmount
}

OneTimeAuthCode

Description

An authentication code valid for a single use

Example
OneTimeAuthCode

PageInfo

Description

Information about pagination in a connection.

Fields
Field Name Description
endCursor - String When paginating forwards, the cursor to continue.
hasNextPage - Boolean! When paginating forwards, are there more items?
hasPreviousPage - Boolean! When paginating backwards, are there more items?
startCursor - String When paginating backwards, the cursor to continue.
Example
{
  "endCursor": "xyz789",
  "hasNextPage": false,
  "hasPreviousPage": false,
  "startCursor": "xyz789"
}

PaymentHash

Example
PaymentHash

PaymentSendPayload

Fields
Field Name Description
errors - [Error!]!
status - PaymentSendResult
Example
{"errors": [Error], "status": "ALREADY_PAID"}

PaymentSendResult

Values
Enum Value Description

ALREADY_PAID

FAILURE

PENDING

SUCCESS

Example
"ALREADY_PAID"

PayoutSpeed

Values
Enum Value Description

FAST

Example
"FAST"

Phone

Description

Phone number which includes country code

Example
Phone

PhoneCodeChannelType

Values
Enum Value Description

SMS

WHATSAPP

Example
"SMS"

Price

Description

Price amount expressed in base/offset. To calculate, use: base / 10^offset

Fields
Field Name Description
base - SafeInt!
currencyUnit - String!
formattedAmount - String!
offset - Int!
Example
{
  "base": 9007199254740991,
  "currencyUnit": "abc123",
  "formattedAmount": "abc123",
  "offset": 123
}

PriceGraphRange

Description

The range for the X axis in the BTC price graph

Values
Enum Value Description

FIVE_YEARS

ONE_DAY

ONE_MONTH

ONE_WEEK

ONE_YEAR

Example
"FIVE_YEARS"

PriceInput

Fields
Input Field Description
amount - SatAmount!
amountCurrencyUnit - ExchangeCurrencyUnit!
priceCurrencyUnit - ExchangeCurrencyUnit!
Example
{
  "amount": SatAmount,
  "amountCurrencyUnit": "BTCSAT",
  "priceCurrencyUnit": "BTCSAT"
}

PriceInterface

Fields
Field Name Description
base - SafeInt!
currencyUnit - String! Deprecated due to type renaming
offset - Int!
Example
{
  "base": 9007199254740991,
  "currencyUnit": "xyz789",
  "offset": 123
}

PriceOfOneSatInMinorUnit

Description

Price of 1 sat in base/offset. To calculate, use: base / 10^offset

Fields
Field Name Description
base - SafeInt!
currencyUnit - String! Deprecated due to type renaming
offset - Int!
Example
{
  "base": 9007199254740991,
  "currencyUnit": "abc123",
  "offset": 987
}

PriceOfOneSettlementMinorUnitInDisplayMinorUnit

Description

Price of 1 sat or 1 usd cent in base/offset. To calculate, use: base / 10^offset

Fields
Field Name Description
base - SafeInt!
currencyUnit - String! Deprecated due to type renaming
formattedAmount - String! Deprecated please use base / 10^offset
offset - Int!
Example
{
  "base": 9007199254740991,
  "currencyUnit": "xyz789",
  "formattedAmount": "abc123",
  "offset": 987
}

PriceOfOneUsdCentInMinorUnit

Description

Price of 1 usd cent in base/offset. To calculate, use: base / 10^offset

Fields
Field Name Description
base - SafeInt!
currencyUnit - String! Deprecated due to type renaming
offset - Int!
Example
{
  "base": 9007199254740991,
  "currencyUnit": "abc123",
  "offset": 123
}

PricePayload

Fields
Field Name Description
errors - [Error!]!
price - Price
Example
{"errors": [Error], "price": Price}

PricePoint

Fields
Field Name Description
price - Price!
timestamp - Timestamp! Unix timestamp (number of seconds elapsed since January 1, 1970 00:00:00 UTC)
Example
{"price": Price, "timestamp": 1592577642}

PublicWallet

Description

A public view of a generic wallet which stores value in one of our supported currencies.

Fields
Field Name Description
id - ID!
lnurlp - Lnurl
walletCurrency - WalletCurrency!
Example
{"id": 4, "lnurlp": Lnurl, "walletCurrency": "BTC"}

Quiz

Fields
Field Name Description
amount - SatAmount! The reward in Satoshis for the quiz question
completed - Boolean!
id - ID!
Example
{
  "amount": SatAmount,
  "completed": false,
  "id": "4"
}

QuizCompletedInput

Fields
Input Field Description
id - ID!
Example
{"id": "4"}

QuizCompletedPayload

Fields
Field Name Description
errors - [Error!]!
quiz - Quiz
Example
{"errors": [Error], "quiz": Quiz}

QuizQuestion

Fields
Field Name Description
earnAmount - SatAmount! The earn reward in Satoshis for the quiz question
id - ID!
Example
{"earnAmount": SatAmount, "id": 4}

RealtimePrice

Fields
Field Name Description
btcSatPrice - PriceOfOneSatInMinorUnit!
denominatorCurrency - DisplayCurrency!
id - ID!
timestamp - Timestamp! Unix timestamp (number of seconds elapsed since January 1, 1970 00:00:00 UTC)
usdCentPrice - PriceOfOneUsdCentInMinorUnit!
Example
{
  "btcSatPrice": PriceOfOneSatInMinorUnit,
  "denominatorCurrency": DisplayCurrency,
  "id": 4,
  "timestamp": 1592577642,
  "usdCentPrice": PriceOfOneUsdCentInMinorUnit
}

RealtimePriceInput

Fields
Input Field Description
currency - DisplayCurrency
Example
{"currency": DisplayCurrency}

RealtimePricePayload

Fields
Field Name Description
errors - [Error!]!
realtimePrice - RealtimePrice
Example
{
  "errors": [Error],
  "realtimePrice": RealtimePrice
}

SafeInt

Description

Non-fractional signed whole numeric value between -(2^53) + 1 and 2^53 - 1

Example
9007199254740991

SatAmount

Description

(Positive) Satoshi amount

Example
SatAmount

SatAmountPayload

Fields
Field Name Description
amount - SatAmount
errors - [Error!]!
Example
{
  "amount": SatAmount,
  "errors": [Error]
}

Seconds

Description

(Positive) amount of seconds

Example
Seconds

SettlementVia

Example
SettlementViaIntraLedger

SettlementViaIntraLedger

Fields
Field Name Description
counterPartyUsername - Username Settlement destination: Could be null if the payee does not have a username
counterPartyWalletId - WalletId
Example
{
  "counterPartyUsername": Username,
  "counterPartyWalletId": WalletId
}

SettlementViaLn

Fields
Field Name Description
paymentSecret - LnPaymentSecret Shifting property to 'preImage' to improve granularity of the LnPaymentSecret type
preImage - LnPaymentPreImage
Example
{
  "paymentSecret": LnPaymentSecret,
  "preImage": LnPaymentPreImage
}

SettlementViaOnChain

Fields
Field Name Description
transactionHash - OnChainTxHash
vout - Int
Example
{"transactionHash": OnChainTxHash, "vout": 987}

SignedAmount

Description

An amount (of a currency) that can be negative (e.g. in a transaction)

Example
SignedAmount

SignedDisplayMajorAmount

Description

A string amount (of a currency) that can be negative (e.g. in a transaction)

Example
SignedDisplayMajorAmount

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"

SuccessPayload

Fields
Field Name Description
errors - [Error!]!
success - Boolean
Example
{"errors": [Error], "success": false}

Timestamp

Description

Timestamp field, serialized as Unix time (the number of seconds since the Unix epoch)

Example
1592577642

TotpCode

Description

A time-based one-time password

Example
TotpCode

TotpRegistrationId

Description

An id to be passed between set and verify for confirming totp

Example
TotpRegistrationId

TotpSecret

Description

A secret to generate time-based one-time password

Example
TotpSecret

Transaction

Description

Give details about an individual transaction. Galoy have a smart routing system which is automatically settling intraledger when both the payer and payee use the same wallet therefore it's possible the transactions is being initiated onchain or with lightning but settled intraledger.

Fields
Field Name Description
createdAt - Timestamp!
direction - TxDirection!
id - ID!
initiationVia - InitiationVia! From which protocol the payment has been initiated.
memo - Memo
settlementAmount - SignedAmount! Amount of the settlement currency sent or received.
settlementCurrency - WalletCurrency! Wallet currency for transaction.
settlementDisplayAmount - SignedDisplayMajorAmount!
settlementDisplayCurrency - DisplayCurrency!
settlementDisplayFee - SignedDisplayMajorAmount!
settlementFee - SignedAmount!
settlementPrice - PriceOfOneSettlementMinorUnitInDisplayMinorUnit! Price in WALLETCURRENCY/SETTLEMENTUNIT at time of settlement.
settlementVia - SettlementVia! To which protocol the payment has settled on.
status - TxStatus!
Example
{
  "createdAt": 1592577642,
  "direction": "RECEIVE",
  "id": "4",
  "initiationVia": InitiationViaIntraLedger,
  "memo": Memo,
  "settlementAmount": SignedAmount,
  "settlementCurrency": "BTC",
  "settlementDisplayAmount": SignedDisplayMajorAmount,
  "settlementDisplayCurrency": DisplayCurrency,
  "settlementDisplayFee": SignedDisplayMajorAmount,
  "settlementFee": SignedAmount,
  "settlementPrice": PriceOfOneSettlementMinorUnitInDisplayMinorUnit,
  "settlementVia": SettlementViaIntraLedger,
  "status": "FAILURE"
}

TransactionConnection

Description

A connection to a list of items.

Fields
Field Name Description
edges - [TransactionEdge!] A list of edges.
pageInfo - PageInfo! Information to aid in pagination.
Example
{
  "edges": [TransactionEdge],
  "pageInfo": PageInfo
}

TransactionEdge

Description

An edge in a connection.

Fields
Field Name Description
cursor - String! A cursor for use in pagination
node - Transaction! The item at the end of the edge
Example
{
  "cursor": "abc123",
  "node": Transaction
}

TxDirection

Values
Enum Value Description

RECEIVE

SEND

Example
"RECEIVE"

TxNotificationType

Values
Enum Value Description

IntraLedgerPayment

IntraLedgerReceipt

LnInvoicePaid

OnchainPayment

OnchainReceipt

OnchainReceiptPending

Example
"IntraLedgerPayment"

TxStatus

Values
Enum Value Description

FAILURE

PENDING

SUCCESS

Example
"FAILURE"

UpgradePayload

Fields
Field Name Description
authToken - AuthToken
errors - [Error!]!
success - Boolean!
Example
{
  "authToken": AuthToken,
  "errors": [Error],
  "success": false
}

UsdWallet

Description

A wallet belonging to an account which contains a USD balance and a list of transactions.

Fields
Field Name Description
accountId - ID!
balance - SignedAmount!
id - ID!
lnurlp - Lnurl
pendingIncomingBalance - SignedAmount! An unconfirmed incoming onchain balance.
transactions - TransactionConnection
Arguments
after - String

Returns the items in the list that come after the specified cursor.

before - String

Returns the items in the list that come before the specified cursor.

first - Int

Returns the first n items from the list.

last - Int

Returns the last n items from the list.

transactionsByAddress - TransactionConnection
Arguments
address - OnChainAddress!

Returns the items that include this address.

after - String

Returns the items in the list that come after the specified cursor.

before - String

Returns the items in the list that come before the specified cursor.

first - Int

Returns the first n items from the list.

last - Int

Returns the last n items from the list.

walletCurrency - WalletCurrency!
Example
{
  "accountId": 4,
  "balance": SignedAmount,
  "id": 4,
  "lnurlp": Lnurl,
  "pendingIncomingBalance": SignedAmount,
  "transactions": TransactionConnection,
  "transactionsByAddress": TransactionConnection,
  "walletCurrency": "BTC"
}

User

Fields
Field Name Description
contactByUsername - UserContact! Get single contact details. Can include the transactions associated with the contact. will be moved to Accounts
Arguments
username - Username!
contacts - [UserContact!]! Get full list of contacts. Can include the transactions associated with each contact. will be moved to account
createdAt - Timestamp!
defaultAccount - Account!
email - Email Email address
id - ID!
language - Language! Preferred language for user. When value is 'default' the intent is to use preferred language from OS settings.
npub - npub Nostr public key
phone - Phone Phone number with international calling code.
quizQuestions - [UserQuizQuestion!]! List the quiz questions the user may have completed. use Quiz from Account instead
totpEnabled - Boolean! Whether TOTP is enabled for this user.
username - Username Optional immutable user friendly identifier. will be moved to @Handle in Account and Wallet
Example
{
  "contactByUsername": UserContact,
  "contacts": [UserContact],
  "createdAt": 1592577642,
  "defaultAccount": Account,
  "email": Email,
  "id": "4",
  "language": Language,
  "npub": npub,
  "phone": Phone,
  "quizQuestions": [UserQuizQuestion],
  "totpEnabled": false,
  "username": Username
}

UserContact

Fields
Field Name Description
alias - ContactAlias Alias the user can set for this contact. Only the user can see the alias attached to their contact.
id - Username!
transactions - TransactionConnection Paginated list of transactions sent to/from this contact.
Arguments
after - String

Returns the items in the list that come after the specified cursor.

before - String

Returns the items in the list that come before the specified cursor.

first - Int

Returns the first n items from the list.

last - Int

Returns the last n items from the list.

transactionsCount - Int!
username - Username! Actual identifier of the contact.
Example
{
  "alias": ContactAlias,
  "id": Username,
  "transactions": TransactionConnection,
  "transactionsCount": 987,
  "username": Username
}

UserContactUpdateAliasInput

Fields
Input Field Description
alias - ContactAlias!
username - Username!
Example
{
  "alias": ContactAlias,
  "username": Username
}

UserContactUpdateAliasPayload

Fields
Field Name Description
contact - UserContact
errors - [Error!]!
Example
{
  "contact": UserContact,
  "errors": [Error]
}

UserEmailDeletePayload

Fields
Field Name Description
errors - [Error!]!
me - User
Example
{"errors": [Error], "me": User}

UserEmailRegistrationInitiateInput

Fields
Input Field Description
email - EmailAddress!
Example
{"email": "[email protected]"}

UserEmailRegistrationInitiatePayload

Fields
Field Name Description
emailRegistrationId - EmailRegistrationId
errors - [Error!]!
me - User
Example
{
  "emailRegistrationId": EmailRegistrationId,
  "errors": [Error],
  "me": User
}

UserEmailRegistrationValidateInput

Fields
Input Field Description
code - OneTimeAuthCode!
emailRegistrationId - EmailRegistrationId!
Example
{
  "code": OneTimeAuthCode,
  "emailRegistrationId": EmailRegistrationId
}

UserEmailRegistrationValidatePayload

Fields
Field Name Description
errors - [Error!]!
me - User
Example
{"errors": [Error], "me": User}

UserLoginInput

Fields
Input Field Description
code - OneTimeAuthCode!
phone - Phone!
Example
{
  "code": OneTimeAuthCode,
  "phone": Phone
}

UserLoginUpgradeInput

Fields
Input Field Description
code - OneTimeAuthCode!
phone - Phone!
Example
{
  "code": OneTimeAuthCode,
  "phone": Phone
}

UserLogoutInput

Fields
Input Field Description
deviceToken - String!
Example
{"deviceToken": "xyz789"}

UserPhoneDeletePayload

Fields
Field Name Description
errors - [Error!]!
me - User
Example
{"errors": [Error], "me": User}

UserPhoneRegistrationInitiateInput

Fields
Input Field Description
channel - PhoneCodeChannelType
phone - Phone!
Example
{"channel": "SMS", "phone": Phone}

UserPhoneRegistrationValidateInput

Fields
Input Field Description
code - OneTimeAuthCode!
phone - Phone!
Example
{
  "code": OneTimeAuthCode,
  "phone": Phone
}

UserPhoneRegistrationValidatePayload

Fields
Field Name Description
errors - [Error!]!
me - User
Example
{"errors": [Error], "me": User}

UserQuizQuestion

Fields
Field Name Description
completed - Boolean!
question - QuizQuestion!
Example
{"completed": false, "question": QuizQuestion}

UserQuizQuestionUpdateCompletedInput

Fields
Input Field Description
id - ID!
Example
{"id": 4}

UserQuizQuestionUpdateCompletedPayload

Fields
Field Name Description
errors - [Error!]!
userQuizQuestion - UserQuizQuestion
Example
{
  "errors": [Error],
  "userQuizQuestion": UserQuizQuestion
}

UserTotpDeleteInput

Fields
Input Field Description
authToken - AuthToken!
Example
{"authToken": AuthToken}

UserTotpDeletePayload

Fields
Field Name Description
errors - [Error!]!
me - User
Example
{"errors": [Error], "me": User}

UserTotpRegistrationInitiateInput

Fields
Input Field Description
authToken - AuthToken!
Example
{"authToken": AuthToken}

UserTotpRegistrationInitiatePayload

Fields
Field Name Description
errors - [Error!]!
totpRegistrationId - TotpRegistrationId
totpSecret - TotpSecret
Example
{
  "errors": [Error],
  "totpRegistrationId": TotpRegistrationId,
  "totpSecret": TotpSecret
}

UserTotpRegistrationValidateInput

Fields
Input Field Description
authToken - AuthToken!
totpCode - TotpCode!
totpRegistrationId - TotpRegistrationId!
Example
{
  "authToken": AuthToken,
  "totpCode": TotpCode,
  "totpRegistrationId": TotpRegistrationId
}

UserTotpRegistrationValidatePayload

Fields
Field Name Description
errors - [Error!]!
me - User
Example
{"errors": [Error], "me": User}

UserUpdate

Example
IntraLedgerUpdate

UserUpdateLanguageInput

Fields
Input Field Description
language - Language!
Example
{"language": Language}

UserUpdateLanguagePayload

Fields
Field Name Description
errors - [Error!]!
user - User
Example
{"errors": [Error], "user": User}

UserUpdateNpubInput

Fields
Input Field Description
npub - npub!
Example
{"npub": npub}

UserUpdateNpubPayload

Fields
Field Name Description
errors - [Error!]!
user - User
Example
{"errors": [Error], "user": User}

UserUpdateUsernameInput

Fields
Input Field Description
username - Username!
Example
{"username": Username}

UserUpdateUsernamePayload

Fields
Field Name Description
errors - [Error!]!
user - User
Example
{"errors": [Error], "user": User}

Username

Description

Unique identifier of a user

Example
Username

Wallet

Description

A generic wallet which stores value in one of our supported currencies.

Fields
Field Name Description
accountId - ID!
balance - SignedAmount!
id - ID!
lnurlp - Lnurl
pendingIncomingBalance - SignedAmount!
transactions - TransactionConnection Transactions are ordered anti-chronologically, ie: the newest transaction will be first
Arguments
after - String

Returns the items in the list that come after the specified cursor.

before - String

Returns the items in the list that come before the specified cursor.

first - Int

Returns the first n items from the list.

last - Int

Returns the last n items from the list.

transactionsByAddress - TransactionConnection Transactions are ordered anti-chronologically, ie: the newest transaction will be first
Arguments
address - OnChainAddress!

Returns the items that include this address.

after - String

Returns the items in the list that come after the specified cursor.

before - String

Returns the items in the list that come before the specified cursor.

first - Int

Returns the first n items from the list.

last - Int

Returns the last n items from the list.

walletCurrency - WalletCurrency!
Possible Types
Wallet Types

BTCWallet

UsdWallet

Example
{
  "accountId": 4,
  "balance": SignedAmount,
  "id": 4,
  "lnurlp": Lnurl,
  "pendingIncomingBalance": SignedAmount,
  "transactions": TransactionConnection,
  "transactionsByAddress": TransactionConnection,
  "walletCurrency": "BTC"
}

WalletCurrency

Values
Enum Value Description

BTC

USD

Example
"BTC"

WalletId

Description

Unique identifier of a wallet

Example
WalletId

npub

Description

Nostr Identity public key

Example
npub

npubByUsername

Fields
Field Name Description
npub - npub Nostr public key
username - Username Optional immutable user friendly identifier.
Example
{"npub": npub, "username": Username}