Kchannels
Search…
Schemas
1
AuthenticationChallenge:
2
type: object
3
properties:
4
text:
5
type: string
6
description: Welcome text explaining how to proceed
7
enum:
8
- "Welcome to Kchannels MVP! Please sign this message to authenticate."
9
client_unpredictable_number:
10
type: string
11
description: The client's unpredictable number (provided in the request). This is an integer represented as a string.
12
unpredictable_number:
13
type: string
14
description: A large random number generated by the Kchannels backend. This is an integer represented as a string.
15
client_ip:
16
type: string
17
description: IP address of the client
18
issued_at:
19
type: string
20
description: Unix epoch timestamp for when the challenge was issued. This is an integer represented as a string.
21
expires_at:
22
type: string
23
description: Unix epoch timestamp for when the challenge expires. This is an integer represented as a string.
24
signing_identity:
25
type: string
26
description: Ethereum address of the channel owner (claimed)
27
issuer_signature:
28
type: string
29
description: EIP-712 signature of the issuer (inside the Kchannels backend)
30
31
32
AuthenticationSuccess:
33
type: object
34
properties:
35
jwt:
36
type: string
37
description: JWT token
38
exp:
39
type: string
40
description: Expiration date of JWT token (Unix epoch timestamp). This is an integer represented as a string.
41
42
43
ChannelDefinition:
44
type: object
45
properties:
46
channel_uuid:
47
type: string
48
description: Hyphenated UUID of the channel (36 characters)
49
definition_version:
50
type: string
51
description: Version of the channel definition, starting at 1. This is an integer represented as a string.
52
channel_rating_id:
53
type: string
54
description: A "rating ID" determines how to assess fees. This is a free-form string, so make no assumptions about its format.
55
zone_address:
56
type: string
57
description: Address of the zone to which this channel is assigned (prefixed with `0x`)
58
owner_address:
59
type: string
60
description: Address of the channel owner (prefixed with `0x`)
61
deposit_address:
62
type: string
63
description: Address from which deposits to Kchannels are sent (prefixed with `0x`). For normal accounts (i.e. those derived from a private key), this field is the same as the owner address (most Ethereum accounts use this approach). For smart contract-based wallets, this is the address of the smart contract.
64
validator_address:
65
type: string
66
description: Address of the watchtower (aka validator). Currently, it's always the same as the `zone_address`.
67
sender_address_list:
68
type: array
69
description: A list of addresses that are able to transfer assets using this channel, always including the `owner_address` (items prefixed with `0x`).
70
items:
71
type: string
72
initial_state_hash:
73
type: string
74
description: Keccak-256 hash of the channel's initial state (prefixed with `0x`)
75
signature_list:
76
type: array
77
description: List of signatures on this channel definition. A valid channel definition is signed by the channel owner and twice by the Kchannels backend.
78
items:
79
type: string
80
81
82
Transaction:
83
type: object
84
properties:
85
request_uuid:
86
type: string
87
description: Hyphenated UUID of the transaction (36 characters)
88
reference_data:
89
type: string
90
description: Reference data (an empty string... for now)
91
value_list:
92
type: array
93
description: List of assets and their amounts transferred in this transaction
94
items:
95
type: TransactionValue
96
sender_party:
97
type: TransactionParty
98
description: Description of this transaction's sender
99
recipient_party:
100
type: TransactionParty
101
description: Description of this transaction's recipient
102
signature_list:
103
type: array
104
description: List of signatures on this transaction
105
items:
106
type: string
107
metadata:
108
type: TransactionMetadata
109
description: Transaction metadata
110
111
112
TransactionValue:
113
type: object
114
properties:
115
smart_contract:
116
type: string
117
description: When transferring Ether, this is the address of the Kchannels smart contract. For ERC-20 tokens (in development), this is the address of the ERC-20 smart contract.
118
value:
119
type: string
120
description: When transferring Ether, this is the amount to transfer **in wei**. This (typically very large) integer is represented as a string.
121
kind:
122
type: string
123
description: "Value" for assets that are transferred, "Fee" for transaction fees
124
125
126
TransactionParty:
127
type: object
128
properties:
129
nonce:
130
type: string
131
description: Nonce for the party's channel. This is an integer represented as a string.
132
state_hash:
133
type: string
134
description: Keccak-256 hash of the party's channel state (prefixed with `0x`)
135
timestamp:
136
type: string
137
description: Unix epoch in seconds. This is an integer represented as a string.
138
channel_definition:
139
type: ChannelDefinition
140
description: The party's channel definition
141
fee_list:
142
type: array
143
description: List of fees for this transaction
144
items:
145
type: TransactionValue
146
summary:
147
type: TransactionSummary
148
description: Transaction summary
149
150
151
TransactionMetadata:
152
type: object
153
properties:
154
request_uuid:
155
type: string
156
description: Hyphenated UUID of the transaction (36 characters)
157
channel_uuid:
158
type: string
159
description: Hyphenated UUID of the channel (36 characters)
160
definition_version:
161
type: string
162
description: Version of the channel definition, starting at 1. This is an integer represented as a string.
163
reversal_nonce:
164
type: string
165
description: Reversal nonce, starting at 0. This is an integer represented as a string.
166
external_tx_reference_list:
167
type: array
168
description: List of hyphenated UUIDs
169
items:
170
type: string
171
signature_list:
172
type: array
173
description: List of signatures
174
items:
175
type: string
176
177
178
TransactionSummary:
179
type: object
180
properties:
181
request_uuid:
182
type: string
183
description: Hyphenated UUID of the transaction (36 characters)
184
channel_uuid:
185
type: string
186
description: Hyphenated UUID of the channel (36 characters)
187
definition_version:
188
type: string
189
description: Version of the channel definition, starting at 1. This is an integer represented as a string.
190
client_signer_address:
191
type: string
192
description: FOO
193
zone_signer_address:
194
type: string
195
description: FOO
196
final_state_hash:
197
type: string
198
description: Final (post-transaction) Keccak-256 hash of the channel state (prefixed with `0x`)
199
external_tx_reference:
200
type: string
201
description: External transaction reference
202
recipient_address:
203
type: string
204
description: Address of the recipient (prefixed with `0x`)
205
peer_last_seen_state_hash:
206
type: string
207
description: Last known Keccak-256 hash of the peer's (i.e. counterparty's) state
208
timestamp:
209
type: string
210
description: Unix epoch in seconds. This is an integer represented as a string.
211
value_list:
212
type: array
213
description: List of assets and their amounts transferred in this transaction (including fees)
214
items:
215
type: TransactionValue
216
signature_list:
217
type: array
218
description: List of signatures (sender, sender's zone, recipient's zone)
219
220
221
Client:
222
type: object
223
properties:
224
client_address:
225
type: string
226
description: Ethereum address of the client (prefixed with `0x`)
227
first_name:
228
type: string
229
description: First name of the client (not required, and typically `null`)
230
last_name:
231
type: string
232
description: Last name of the client (not required, and typically `null`)
233
email:
234
type: string
235
description: Email of the client (not required, and typically `null`)
236
237
238
ZoneLocation:
239
type: object
240
properties:
241
zone_address:
242
type: string
243
description: Ethereum address of the zone (prefixed with `0x`)
244
zone_public_key:
245
type: string
246
description: Public key of the zone (prefixed with `0x`)
247
zone_client_endpoint:
248
type: string
249
description: Client's URL for accessing the zone
250
251
252
ClientInfo:
253
type: object
254
properties:
255
client:
256
type: Client
257
description: Client information
258
channel_definition:
259
type: ChannelDefinition
260
description: Client's channel definition
261
zone_location:
262
type: ZoneLocation
263
description: Information about the zone which holds the client's channel
264
265
266
TransactionInfo:
267
type: object
268
properties:
269
transaction:
270
type: Transaction
271
description: Transaction data
272
transaction_status:
273
type: string
274
description: Status of the transaction
275
276
277
ChannelAsset:
278
type: object
279
properties:
280
smart_contract:
281
type: string
282
description: When transferring Ether, this is the address of the Kchannels smart contract. For ERC-20 tokens (in development), this is the address of the ERC-20 smart contract. Prefixed with `0x`.
283
value:
284
type: string
285
description: Value of the asset. This is an integer represented as a string.
286
287
288
ChannelState:
289
type: object
290
properties:
291
nonce:
292
type: string
293
description: Nonce of the channel that increments on transactions
294
channel_asset_list:
295
type: array
296
description: List of channel assets
297
items:
298
type: ChannelAsset
299
300
301
ChannelInfo:
302
type: object
303
properties:
304
channel_state:
305
type:
306
description:
307
channel_state_hash:
308
type: string
309
description: Keccak-256 hash of the channel's state (prefixed with `0x`)
310
channel_status:
311
type: string
312
description: Status of the channel
313
Copied!
Copy link