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