Back to docs

API Reference

Base URL: https://api.styx.so

Authentication

Include your API key in the Authorization header:

Authorization: Bearer styx_your_api_key
POST/v1/messages

Send an encrypted message to a virtual token account

Request Body

{
  "recipient": "VTA_ADDRESS",
  "message": "encrypted_payload_base64",
  "ttl": 86400
}

Response

{
  "id": "msg_abc123",
  "signature": "5YNmS...",
  "slot": 123456789,
  "status": "confirmed"
}
GET/v1/messages/:id

Retrieve a message by ID

Response

{
  "id": "msg_abc123",
  "recipient": "VTA_ADDRESS",
  "sender": "SENDER_PUBKEY",
  "createdAt": "2024-01-01T00:00:00Z",
  "expiresAt": "2024-01-02T00:00:00Z"
}
POST/v1/airdrops

Create a new WhisperDrop airdrop campaign

Request Body

{
  "name": "Community Airdrop",
  "merkleRoot": "abc123...",
  "tokenMint": "TOKEN_MINT_ADDRESS",
  "totalAmount": 1000000
}

Response

{
  "id": "drop_xyz789",
  "merkleRoot": "abc123...",
  "claimUrl": "https://styx.so/claim/...",
  "status": "active"
}
POST/v1/vta/create

Create a virtual token account for a wallet

Request Body

{
  "owner": "OWNER_PUBKEY",
  "label": "Main Account"
}

Response

{
  "vta": "VTA_ADDRESS",
  "signature": "5YNmS...",
  "slot": 123456789
}