Skip to main content

Exchange

No description

type Exchange implements Node {
encryptionStatus: EncryptionStatus!
id: ID!
deletedAt: Time
encryptionMode: ExchangeEncryptionMode!
keyCustodyBackend: ExchangeKeyCustodyBackend!
keyID: String
keyVersion: Int
algorithm: ExchangeEncryptionAlgorithm!
encryptedAt: Time
name: String!
config: Map
ownerID: String!
createdAt: Time!
updatedAt: Time!
bots(
after: Cursor
first: Int
before: Cursor
last: Int
orderBy: [BotOrder!]
where: BotWhereInput
): BotConnection!
legibleStatus: EntityStatus!
snapshot: ExchangeSnapshot
encryptionLocked: Boolean!
account: ExchangeAccount!
}

Fields

Exchange.encryptionStatus ● EncryptionStatus! non-null object

Exchange.id ● ID! non-null scalar

Exchange.deletedAt ● Time scalar

Soft-delete timestamp. If set, record is considered deleted.

Exchange.encryptionMode ● ExchangeEncryptionMode! non-null enum

Trust-ladder encryption mode for this row's sensitive fields. Set at create time; immutable after. Defaults to 'legacy_server' for all rows created before the trust ladder shipped.

Exchange.keyCustodyBackend ● ExchangeKeyCustodyBackend! non-null enum

KeyCustodyBackend implementation that produced the wrapping key. Pinned at write time alongside encryption_mode.

Exchange.keyID ● String scalar

Opaque identifier of the wrapping key, backend-specific. Null for legacy_server rows that use the global process key.

Exchange.keyVersion ● Int scalar

Rotation counter for the wrapping key. Null for legacy_server rows; populated when the row is rewrapped under a versioned key.

Exchange.algorithm ● ExchangeEncryptionAlgorithm! non-null enum

Symmetric algorithm protecting the row's sensitive fields. Stored alongside the ciphertext so future migrations can retire algorithms without re-encrypting existing rows.

Exchange.encryptedAt ● Time scalar

Timestamp the row's sensitive fields were last encrypted with the current key_id/key_version. Null for legacy_server rows.

Exchange.name ● String! non-null scalar

Exchange display name (e.g., 'Binance Production', 'Coinbase Testnet')

Exchange.config ● Map scalar

Complete freqtrade exchange configuration (name, key, secret, pair_whitelist, etc.)

Exchange.ownerID ● String! non-null scalar

Group ID (organization) that owns this exchange

Exchange.createdAt ● Time! non-null scalar

Exchange.updatedAt ● Time! non-null scalar

Exchange.bots ● BotConnection! non-null object

Exchange.bots.after ● Cursor scalar

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

Exchange.bots.first ● Int scalar

Returns the first _n_ elements from the list.

Exchange.bots.before ● Cursor scalar

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

Exchange.bots.last ● Int scalar

Returns the last _n_ elements from the list.

Exchange.bots.orderBy ● [BotOrder!] list input

Ordering options for Bots returned from the connection.

Exchange.bots.where ● BotWhereInput input

Filtering options for Bots returned from the connection.

Exchange.legibleStatus ● EntityStatus! non-null object

Exchange.snapshot ● ExchangeSnapshot object

Last write-through snapshot of the account fetch; null until first viewed. Persisted as a best-effort side effect of the live Exchange.account fetch under the viewing user's session — never a live exchange call from the list.

Exchange.encryptionLocked ● Boolean! non-null scalar

True when the exchange's config has at least one passphrase-encrypted leaf (key / secret / sub_account) that the current session could not decrypt. UI consumers must show an unlock overlay before rendering the API-key form.

Exchange.account ● ExchangeAccount! non-null object

Authenticated account view: balances, orders, positions, fee tier, rate-limit usage, connection health. Requires the 'view' scope on the Exchange entity. Sensitive sub-fields (full IP whitelist, raw API key metadata) are gated by 'view-secrets' inside the resolver.

Interfaces

Node interface

An object with an ID. Follows the Relay Global Object Identification Specification

Returned By

createExchange mutation ● createExchangeWithPassphrase mutation ● updateExchange mutation ● updateExchangeConfigWithPassphrase mutation

Member Of

Bot object ● ExchangeEdge object