Messages
{
"id": "createtwap-1",
"method": "wallet.create_twap",
"payload": {
"header": {
"accountId": "123",
"market": "0x0A082280e4eA3D822E23Ec1186685477241A039d",
"authNonce": "1",
"nonce": "1792480000001",
"deadline": "1792500000",
"clientOrderId": "0x0000000000000000000000000000000000000000000000000000000000000001",
"builder": "0x0000000000000000000000000000000000000000",
"builderFeePps": "0"
},
"config": {
"side": "BUY",
"totalQuantity": "10000000000",
"limitPrice": "30000000",
"startTime": "1792500300",
"intervalSeconds": "60",
"sliceCount": "10"
},
"signature": "0x..."
}
}Opt-in operational WebSocket methods
Store TWAP instruction
Submit wallet.create_twap over the authenticated Relay WebSocket.
WSS
/
relay
/
ws
Send
This is a slow operational request. Its bounded RPC simulation can hold later submissions on the same ordered WebSocket; use REST or a separate connection for latency-sensitive trading.
wallet.create_twap with a connection-local id over wss://relay.testnet.kuru.io/relay/ws?account_id=<accountId> (or the mainnet host) and a wallet-bound JWT in the upgrade Authorization header. The request uses the same exact payload and signature rules as the REST method; omit the REST wallet and requestId fields. Use the signed trading account ID as the required upgrade account_id.
Automated TWAP execution is not implemented and remains work in progress. This method only stores an instruction where enabled; no service schedules or submits slices.
BROADCAST only indicates asynchronous scheduling. Relay automatically sends transaction.outcome on this connection with the original id; no explicit subscription or client acknowledgement is required. Verify the intended on-chain state or events after a terminal outcome.Messages
{
"id": "createtwap-1",
"method": "wallet.create_twap",
"payload": {
"header": {
"accountId": "123",
"market": "0x0A082280e4eA3D822E23Ec1186685477241A039d",
"authNonce": "1",
"nonce": "1792480000001",
"deadline": "1792500000",
"clientOrderId": "0x0000000000000000000000000000000000000000000000000000000000000001",
"builder": "0x0000000000000000000000000000000000000000",
"builderFeePps": "0"
},
"config": {
"side": "BUY",
"totalQuantity": "10000000000",
"limitPrice": "30000000",
"startTime": "1792500300",
"intervalSeconds": "60",
"sliceCount": "10"
},
"signature": "0x..."
}
}bearerAuth
type:http
Wallet-bound JWT supplied in the WebSocket upgrade Authorization header.
method
type:string
GET
query
type:object
account_id
type:string
required
Exactly one canonical positive uint40 Kuru trading account ID (1 through 1099511627775), without leading zero, sign, or whitespace.
Example:
123wallet.create_twap