If you’re looking to learn more about Byzantine generally, have a look at our General Documentation.
| What you can do | |
|---|---|
| Retrieve Vault Data | Access live information on vaults, supported assets, strategies, and yields. |
| Create and Manage Accounts | Programmatically create user accounts, fetch balances, and track user portfolios. |
| Handle Deposits and Withdrawals | Submit and reconcile transactions securely through a unified workflow. |
| Access User Data | Retrieve user-specific performance, transaction history, and positions in real time. |
Getting Access
Access to the Byzantine API requires an Integrator API Key. Reach out to learn more about integrating Byzantine - we’ll verify your use case and generate your key manually.Get in touch →
Authentication
All API requests must be authenticated using ECDSA signature-based authentication. You’ll use your Integrator Private Key to sign each request and include the signature in the request headers.Authentication Headers
Each API request requires the following headers:| Header | Description |
|---|---|
X-Pubkey | Your public key derived from your private key (hex format with 0x prefix) |
X-Timestamp | Current Unix timestamp in seconds |
X-Signature | ECDSA signature of the request (DER-encoded hex with 0x prefix) |
Content-Type | Must be application/json |
Signature Generation
The signature is generated by:- Constructing a message string in the format:
{timestamp}{method}{path_and_query}{body}- timestamp: Unix timestamp in seconds
- method: HTTP method in uppercase (e.g.,
GET,POST) - path_and_query: Full path including query parameters (e.g.,
/query/get-deposit?chain_id=1) - body: JSON stringified request body (empty string for GET requests)
- Hashing the message using SHA-256
- Signing the hash with your private key using ECDSA (secp256k1 curve)
- Encoding the signature in DER format and converting to hex
Implementation Example
Here’s a reference implementation in Node.js:Usage Example
Keep your Integrator Private Key secure!

