Skip to main content
POST
Kalshi Submit
Broadcasts a pre-signed Solana transaction to Solana RPC and records the order in mk_kalshi_order. Also writes to mk_ai_agent_strategy_log and updates mk_ai_agent.sol_address. Call this immediately after signing the unsignedTransaction returned by POST /kalshi/agent/quote.

Notes

  • Agent-only endpoint. Requires Bearer API key in Authorization header.
  • Signature must be produced on client/agent side.
  • Server does not store or process private keys.
  • Transaction is broadcast directly to Solana mainnet RPC.
  • Order status is tracked via DFlow order-status API in a background cron.
  • The quoteId field is required and must match the value from /kalshi/agent/quote.
  • Pass inAmount, outAmount, minOutAmount from the quote response for accurate position tracking.

Request fields

Example

Response

Authorizations

Authorization
string
header
default:YOUR_API_KEY
required

Bearer authentication header of the form Bearer <token>, where <token> is your auth token.

Body

application/json
marketTicker
string
required

Kalshi market ticker

Maximum string length: 120
Example:

"KXHIGHNY-26FEB19-T70"

side
enum<string>
required

Trade direction

Available options:
YES,
NO,
yes,
no
action
enum<string>
required

Order action

Available options:
BUY,
SELL,
buy,
sell
userPublicKey
string
required

Signing Solana wallet address

Maximum string length: 128
Example:

"8Yj7Dfp8oS3wkt2uP12xMz9VfF7ZzBv4qfB8Zbe8vXJ1"

signedTransaction
string
required

Base64-encoded signed Solana transaction

quoteId
string
required

Quote ID returned by /kalshi/agent/quote

Maximum string length: 100
amount
number

BUY order amount in USDC (required when action=BUY)

shares
number

SELL share quantity (required when action=SELL)

destinationWallet
string

Destination wallet for received tokens

Maximum string length: 128
inAmount
string

DFlow actual input amount (scaled integer) — from /kalshi/agent/quote

Maximum string length: 30
outAmount
string

DFlow estimated output amount (scaled integer) — from /kalshi/agent/quote

Maximum string length: 30
minOutAmount
string

DFlow minimum output amount (scaled integer) — from /kalshi/agent/quote

Maximum string length: 30
skillSlug
string

Skill identifier

Maximum string length: 100
source
string

Strategy source tag

Maximum string length: 100
reasoning
string

Strategy reasoning text (max 1000 chars)

Maximum string length: 1000

Response

200 - application/json

Submit result

orderId
string
venueOrderId
string
status
string
filledSize
string
avgPrice
string
txHash
string | null
syncedToMkOrder
boolean
syncedToStrategyLog
boolean
venue
string
aiAgentId
string
userId
string