GraphQL API Reference

Welcome to the Galoy API reference!

Contact

Galoy developer community

https://chat.galoy.io/

API Endpoints
https://api.staging.galoy.io/graphql

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
    walletCurrency
  }
}
Variables
{"username": Username, "walletCurrency": "BTC"}
Response
{
  "data": {
    "accountDefaultWallet": {
      "id": "4",
      "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 {
      ...PriceFragment
    }
    timestamp
  }
}
Variables
{"range": "FIVE_YEARS"}
Response
{
  "data": {
    "btcPriceList": [
      {"price": Price, "timestamp": 1592577642}
    ]
  }
}

businessMapMarkers

Response

Returns [MapMarker]

Example

Query
query businessMapMarkers {
  businessMapMarkers {
    mapInfo {
      ...MapInfoFragment
    }
    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": "xyz789",
        "fractionDigits": 123,
        "id": 4,
        "name": "xyz789",
        "symbol": "abc123"
      }
    ]
  }
}

globals

Response

Returns a Globals

Example

Query
query globals {
  globals {
    buildInformation {
      ...BuildInformationFragment
    }
    feesInformation {
      ...FeesInformationFragment
    }
    lightningAddressDomain
    lightningAddressDomainAliases
    network
    nodesIds
    supportedCountries {
      ...CountryFragment
    }
  }
}
Response
{
  "data": {
    "globals": {
      "buildInformation": BuildInformation,
      "feesInformation": FeesInformation,
      "lightningAddressDomain": "xyz789",
      "lightningAddressDomainAliases": [
        "xyz789"
      ],
      "network": "mainnet",
      "nodesIds": ["abc123"],
      "supportedCountries": [Country]
    }
  }
}

lnInvoicePaymentStatus

Response

Returns a LnInvoicePaymentStatusPayload!

Arguments
Name Description
input - LnInvoicePaymentStatusInput!

Example

Query
query lnInvoicePaymentStatus($input: LnInvoicePaymentStatusInput!) {
  lnInvoicePaymentStatus(input: $input) {
    errors {
      ...ErrorFragment
    }
    status
  }
}
Variables
{"input": LnInvoicePaymentStatusInput}
Response
{
  "data": {
    "lnInvoicePaymentStatus": {
      "errors": [Error],
      "status": "EXPIRED"
    }
  }
}

me

Response

Returns a User

Example

Query
query me {
  me {
    contactByUsername {
      ...UserContactFragment
    }
    contacts {
      ...UserContactFragment
    }
    createdAt
    defaultAccount {
      ...AccountFragment
    }
    email {
      ...EmailFragment
    }
    id
    language
    phone
    quizQuestions {
      ...UserQuizQuestionFragment
    }
    totpEnabled
    username
  }
}
Response
{
  "data": {
    "me": {
      "contactByUsername": UserContact,
      "contacts": [UserContact],
      "createdAt": 1592577642,
      "defaultAccount": Account,
      "email": Email,
      "id": "4",
      "language": Language,
      "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"
      }
    ]
  }
}

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
    targetConfirmations
  }
}
Variables
{
  "address": OnChainAddress,
  "amount": SatAmount,
  "speed": "FAST",
  "walletId": WalletId
}
Response
{
  "data": {
    "onChainTxFee": {
      "amount": SatAmount,
      "targetConfirmations": TargetConfirmations
    }
  }
}

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
    targetConfirmations
  }
}
Variables
{
  "address": OnChainAddress,
  "amount": CentAmount,
  "speed": "FAST",
  "walletId": WalletId
}
Response
{
  "data": {
    "onChainUsdTxFee": {
      "amount": CentAmount,
      "targetConfirmations": TargetConfirmations
    }
  }
}

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
    targetConfirmations
  }
}
Variables
{
  "address": OnChainAddress,
  "amount": SatAmount,
  "speed": "FAST",
  "walletId": WalletId
}
Response
{
  "data": {
    "onChainUsdTxFeeAsBtcDenominated": {
      "amount": CentAmount,
      "targetConfirmations": TargetConfirmations
    }
  }
}

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 {
      ...PriceOfOneSatInMinorUnitFragment
    }
    denominatorCurrency
    id
    timestamp
    usdCentPrice {
      ...PriceOfOneUsdCentInMinorUnitFragment
    }
  }
}
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 {
      ...ErrorFragment
    }
    success
  }
}
Response
{
  "data": {
    "accountDelete": {"errors": [Error], "success": true}
  }
}

accountUpdateDefaultWalletId

Arguments
Name Description
input - AccountUpdateDefaultWalletIdInput!

Example

Query
mutation accountUpdateDefaultWalletId($input: AccountUpdateDefaultWalletIdInput!) {
  accountUpdateDefaultWalletId(input: $input) {
    account {
      ...ConsumerAccountFragment
    }
    errors {
      ...ErrorFragment
    }
  }
}
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 {
      ...ConsumerAccountFragment
    }
    errors {
      ...ErrorFragment
    }
  }
}
Variables
{"input": AccountUpdateDisplayCurrencyInput}
Response
{
  "data": {
    "accountUpdateDisplayCurrency": {
      "account": ConsumerAccount,
      "errors": [Error]
    }
  }
}

captchaCreateChallenge

Response

Returns a CaptchaCreateChallengePayload!

Example

Query
mutation captchaCreateChallenge {
  captchaCreateChallenge {
    errors {
      ...ErrorFragment
    }
    result {
      ...CaptchaCreateChallengeResultFragment
    }
  }
}
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 {
      ...ErrorFragment
    }
    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 {
      ...ErrorFragment
    }
    success
  }
}
Variables
{"input": DeviceNotificationTokenCreateInput}
Response
{
  "data": {
    "deviceNotificationTokenCreate": {
      "errors": [Error],
      "success": false
    }
  }
}

feedbackSubmit

Response

Returns a SuccessPayload!

Arguments
Name Description
input - FeedbackSubmitInput!

Example

Query
mutation feedbackSubmit($input: FeedbackSubmitInput!) {
  feedbackSubmit(input: $input) {
    errors {
      ...ErrorFragment
    }
    success
  }
}
Variables
{"input": FeedbackSubmitInput}
Response
{
  "data": {
    "feedbackSubmit": {"errors": [Error], "success": true}
  }
}

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 {
      ...ErrorFragment
    }
    status
  }
}
Variables
{"input": IntraLedgerPaymentSendInput}
Response
{
  "data": {
    "intraLedgerPaymentSend": {
      "errors": [Error],
      "status": "ALREADY_PAID"
    }
  }
}

intraLedgerUsdPaymentSend

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 - IntraLedgerUsdPaymentSendInput!

Example

Query
mutation intraLedgerUsdPaymentSend($input: IntraLedgerUsdPaymentSendInput!) {
  intraLedgerUsdPaymentSend(input: $input) {
    errors {
      ...ErrorFragment
    }
    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 {
      ...ErrorFragment
    }
    invoice {
      ...LnInvoiceFragment
    }
  }
}
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 {
      ...ErrorFragment
    }
    invoice {
      ...LnInvoiceFragment
    }
  }
}
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 {
      ...ErrorFragment
    }
  }
}
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 {
      ...ErrorFragment
    }
    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 {
      ...ErrorFragment
    }
    invoice {
      ...LnNoAmountInvoiceFragment
    }
  }
}
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 {
      ...ErrorFragment
    }
    invoice {
      ...LnNoAmountInvoiceFragment
    }
  }
}
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 {
      ...ErrorFragment
    }
  }
}
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 {
      ...ErrorFragment
    }
    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 {
      ...ErrorFragment
    }
  }
}
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 {
      ...ErrorFragment
    }
    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 {
      ...ErrorFragment
    }
    invoice {
      ...LnInvoiceFragment
    }
  }
}
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 {
      ...ErrorFragment
    }
    invoice {
      ...LnInvoiceFragment
    }
  }
}
Variables
{"input": LnUsdInvoiceCreateOnBehalfOfRecipientInput}
Response
{
  "data": {
    "lnUsdInvoiceCreateOnBehalfOfRecipient": {
      "errors": [Error],
      "invoice": LnInvoice
    }
  }
}

lnUsdInvoiceFeeProbe

Response

Returns a SatAmountPayload!

Arguments
Name Description
input - LnUsdInvoiceFeeProbeInput!

Example

Query
mutation lnUsdInvoiceFeeProbe($input: LnUsdInvoiceFeeProbeInput!) {
  lnUsdInvoiceFeeProbe(input: $input) {
    amount
    errors {
      ...ErrorFragment
    }
  }
}
Variables
{"input": LnUsdInvoiceFeeProbeInput}
Response
{
  "data": {
    "lnUsdInvoiceFeeProbe": {
      "amount": SatAmount,
      "errors": [Error]
    }
  }
}

onChainAddressCreate

Response

Returns an OnChainAddressPayload!

Arguments
Name Description
input - OnChainAddressCreateInput!

Example

Query
mutation onChainAddressCreate($input: OnChainAddressCreateInput!) {
  onChainAddressCreate(input: $input) {
    address
    errors {
      ...ErrorFragment
    }
  }
}
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 {
      ...ErrorFragment
    }
  }
}
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 {
      ...ErrorFragment
    }
    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 {
      ...ErrorFragment
    }
    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 {
      ...ErrorFragment
    }
    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 {
      ...ErrorFragment
    }
    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 {
      ...ErrorFragment
    }
    quiz {
      ...QuizFragment
    }
  }
}
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 {
      ...UserContactFragment
    }
    errors {
      ...ErrorFragment
    }
  }
}
Variables
{"input": UserContactUpdateAliasInput}
Response
{
  "data": {
    "userContactUpdateAlias": {
      "contact": UserContact,
      "errors": [Error]
    }
  }
}

userEmailDelete

Response

Returns a UserEmailDeletePayload!

Example

Query
mutation userEmailDelete {
  userEmailDelete {
    errors {
      ...ErrorFragment
    }
    me {
      ...UserFragment
    }
  }
}
Response
{
  "data": {
    "userEmailDelete": {
      "errors": [Error],
      "me": User
    }
  }
}

userEmailRegistrationInitiate

Arguments
Name Description
input - UserEmailRegistrationInitiateInput!

Example

Query
mutation userEmailRegistrationInitiate($input: UserEmailRegistrationInitiateInput!) {
  userEmailRegistrationInitiate(input: $input) {
    emailRegistrationId
    errors {
      ...ErrorFragment
    }
    me {
      ...UserFragment
    }
  }
}
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 {
      ...ErrorFragment
    }
    me {
      ...UserFragment
    }
  }
}
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 {
      ...ErrorFragment
    }
    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 {
      ...ErrorFragment
    }
    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 {
      ...ErrorFragment
    }
    success
  }
}
Variables
{"input": UserLogoutInput}
Response
{
  "data": {
    "userLogout": {"errors": [Error], "success": true}
  }
}

userPhoneDelete

Response

Returns a UserPhoneDeletePayload!

Example

Query
mutation userPhoneDelete {
  userPhoneDelete {
    errors {
      ...ErrorFragment
    }
    me {
      ...UserFragment
    }
  }
}
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 {
      ...ErrorFragment
    }
    success
  }
}
Variables
{"input": UserPhoneRegistrationInitiateInput}
Response
{
  "data": {
    "userPhoneRegistrationInitiate": {
      "errors": [Error],
      "success": false
    }
  }
}

userPhoneRegistrationValidate

Arguments
Name Description
input - UserPhoneRegistrationValidateInput!

Example

Query
mutation userPhoneRegistrationValidate($input: UserPhoneRegistrationValidateInput!) {
  userPhoneRegistrationValidate(input: $input) {
    errors {
      ...ErrorFragment
    }
    me {
      ...UserFragment
    }
  }
}
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 {
      ...ErrorFragment
    }
    userQuizQuestion {
      ...UserQuizQuestionFragment
    }
  }
}
Variables
{"input": UserQuizQuestionUpdateCompletedInput}
Response
{
  "data": {
    "userQuizQuestionUpdateCompleted": {
      "errors": [Error],
      "userQuizQuestion": UserQuizQuestion
    }
  }
}

userRequestAuthCode

Response

Returns a SuccessPayload!

Arguments
Name Description
input - UserRequestAuthCodeInput!

Example

Query
mutation userRequestAuthCode($input: UserRequestAuthCodeInput!) {
  userRequestAuthCode(input: $input) {
    errors {
      ...ErrorFragment
    }
    success
  }
}
Variables
{"input": UserRequestAuthCodeInput}
Response
{
  "data": {
    "userRequestAuthCode": {
      "errors": [Error],
      "success": false
    }
  }
}

userTotpDelete

Response

Returns a UserTotpDeletePayload!

Arguments
Name Description
input - UserTotpDeleteInput!

Example

Query
mutation userTotpDelete($input: UserTotpDeleteInput!) {
  userTotpDelete(input: $input) {
    errors {
      ...ErrorFragment
    }
    me {
      ...UserFragment
    }
  }
}
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 {
      ...ErrorFragment
    }
    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 {
      ...ErrorFragment
    }
    me {
      ...UserFragment
    }
  }
}
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 {
      ...ErrorFragment
    }
    user {
      ...UserFragment
    }
  }
}
Variables
{"input": UserUpdateLanguageInput}
Response
{
  "data": {
    "userUpdateLanguage": {
      "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 {
      ...ErrorFragment
    }
    user {
      ...UserFragment
    }
  }
}
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 {
      ...ErrorFragment
    }
    status
  }
}
Variables
{"input": LnInvoicePaymentStatusInput}
Response
{
  "data": {
    "lnInvoicePaymentStatus": {
      "errors": [Error],
      "status": "EXPIRED"
    }
  }
}

myUpdates

Response

Returns a MyUpdatesPayload!

Example

Query
subscription myUpdates {
  myUpdates {
    errors {
      ...ErrorFragment
    }
    me {
      ...UserFragment
    }
    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 {
      ...ErrorFragment
    }
    price {
      ...PriceFragment
    }
  }
}
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 {
      ...ErrorFragment
    }
    realtimePrice {
      ...RealtimePriceFragment
    }
  }
}
Variables
{"input": RealtimePriceInput}
Response
{
  "data": {
    "realtimePrice": {
      "errors": [Error],
      "realtimePrice": RealtimePrice
    }
  }
}

Types

Account

Fields
Field Name Description
csvTransactions - String!
Arguments
walletIds - [WalletId!]!
defaultWalletId - WalletId!
displayCurrency - DisplayCurrency!
id - ID!
level - AccountLevel!
limits - AccountLimits!
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
{
  "csvTransactions": "abc123",
  "defaultWalletId": WalletId,
  "displayCurrency": DisplayCurrency,
  "id": 4,
  "level": "ONE",
  "limits": AccountLimits,
  "realtimePrice": RealtimePrice,
  "transactions": TransactionConnection,
  "wallets": [Wallet]
}

AccountDeletePayload

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

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]
}

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": true
}

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!
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,
  "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": "xyz789",
  "helmRevision": 987
}

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": true
}

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
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!
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
{
  "csvTransactions": "xyz789",
  "defaultWalletId": WalletId,
  "displayCurrency": DisplayCurrency,
  "id": 4,
  "level": "ONE",
  "limits": AccountLimits,
  "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": 987.65, "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": "abc123"
}

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": "test@test.com",
  "verified": true
}

EmailAddress

Description

Email address

Example
"test@test.com"

EmailRegistrationId

Description

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

Example
EmailRegistrationId

Error

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

GraphQLApplicationError

Example
{
  "code": "xyz789",
  "message": "xyz789",
  "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

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": "abc123",
  "lightningAddressDomainAliases": [
    "abc123"
  ],
  "network": "mainnet",
  "nodesIds": ["xyz789"],
  "supportedCountries": [Country]
}

GraphQLApplicationError

Fields
Field Name Description
code - String
message - String!
path - [String]
Example
{
  "code": "abc123",
  "message": "xyz789",
  "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
987

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": 123.45,
  "txNotificationType": "IntraLedgerPayment",
  "usdPerSat": 987.65,
  "walletId": WalletId
}

IntraLedgerUsdPaymentSendInput

Fields
Input Field Description
amount - CentAmount! 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": CentAmount,
  "memo": Memo,
  "recipientWalletId": WalletId,
  "walletId": WalletId
}

InvoicePaymentStatus

Values
Enum Value Description

EXPIRED

PAID

PENDING

Example
"EXPIRED"

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 - CentAmount!
paymentRequest - LnPaymentRequest!
walletId - WalletId!
Example
{
  "amount": CentAmount,
  "paymentRequest": LnPaymentRequest,
  "walletId": WalletId
}

LnNoAmountUsdInvoicePaymentInput

Fields
Input Field Description
amount - CentAmount! 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": CentAmount,
  "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 - CentAmount! 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": CentAmount,
  "expiresIn": Minutes,
  "memo": Memo,
  "walletId": WalletId
}

LnUsdInvoiceCreateOnBehalfOfRecipientInput

Fields
Input Field Description
amount - CentAmount! 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": CentAmount,
  "descriptionHash": Hex32Bytes,
  "expiresIn": Minutes,
  "memo": Memo,
  "recipientWalletId": WalletId
}

LnUsdInvoiceFeeProbeInput

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

MapInfo

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

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

Minutes

Description

(Positive) amount of minutes

Example
Minutes

MobileVersions

Fields
Field Name Description
currentSupported - Int!
minSupported - Int!
platform - String!
Example
{
  "currentSupported": 123,
  "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"

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!
targetConfirmations - TargetConfirmations! Ignored - will be removed
Example
{
  "amount": SatAmount,
  "targetConfirmations": TargetConfirmations
}

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": 987.65,
  "txHash": OnChainTxHash,
  "txNotificationType": "IntraLedgerPayment",
  "usdPerSat": 987.65,
  "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 - CentAmount!
memo - Memo
speed - PayoutSpeed
walletId - WalletId!
Example
{
  "address": OnChainAddress,
  "amount": CentAmount,
  "memo": Memo,
  "speed": "FAST",
  "walletId": WalletId
}

OnChainUsdTxFee

Fields
Field Name Description
amount - CentAmount!
targetConfirmations - TargetConfirmations! Ignored - will be removed
Example
{
  "amount": CentAmount,
  "targetConfirmations": TargetConfirmations
}

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": "abc123",
  "hasNextPage": true,
  "hasPreviousPage": false,
  "startCursor": "abc123"
}

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": "abc123",
  "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": "xyz789",
  "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": "abc123",
  "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": "xyz789",
  "offset": 987
}

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!
walletCurrency - WalletCurrency!
Example
{"id": "4", "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": true, "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
"abc123"

SuccessPayload

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

TargetConfirmations

Description

(Positive) Number of blocks in which the transaction is expected to be confirmed

Example
TargetConfirmations

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!
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",
  "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.
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,
  "phone": Phone,
  "quizQuestions": [UserQuizQuestion],
  "totpEnabled": true,
  "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": "test@test.com"}

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
authToken - AuthToken!
Example
{"authToken": AuthToken}

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": true, "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
}

UserRequestAuthCodeInput

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

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}

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!
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,
  "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