Skip to main content
RocketFi is a blockchain. Anything that changes state — placing an order, withdrawing collateral, creating a vault, authorizing a bot — is a transaction. The chain authenticates it by checking that the signature was produced by the sender address. Reads do not need a signature. Node, indexer, and WebSocket APIs expose chain state; pass the account you care about as a query parameter or in the subscribe payload.

Signed transactions

Submit writes to POST /transaction, or several at once to POST /batch_transactions. The body is a signed Transaction: The node verifies the signature against sender, then executes the instruction. Example (PlaceOrder signed by the trading account itself):
The official Rust and Python SDKs build, sign, and submit these payloads — see SDKs and examples. Instruction schemas live in Private REST-API and Swagger UI.

Nonces

Each sender has two independent nonce lanes. Fetch them with GET /account-nonce?account=0x…:
  • nonce — ordinary instructions. Submit a value greater than the returned nonce.
  • deferredNonceDeferred instructions only.
New accounts start at 0, so the first transaction typically uses nonce 1.

API management

API management lets another address act on your account — the usual way to run a bot without signing every order from your wallet. Creating a key in the product UI:
  1. Generates a new keypair (the delegate address).
  2. Submits a DelegateManager transaction signed by your account, authorizing that address, with an optional expiry and name.
  3. Shows the delegate private key once so you can store it for your integration.
After that, the delegate signs as sender, and trading instructions name your account as trader (or to for leverage and market-maker protection). The chain accepts this when that address is one of your delegated managers. Delegates can:
  • Place, modify, and cancel orders (including TWAP)
  • Set leverage
  • Configure market-maker protection
Your account still signs owner actions: withdrawals, vault deposits and withdrawals, and adding or revoking delegates (RemoveDelegateManager). List current delegates with GET /delegate-traders?account=0x…. Treat the delegate private key like a wallet key: keep it on the server, give it an expiry when you can, and revoke it from API management when you rotate.

Reads and streams

  • Market-wide REST — instruments, assets, fees — Public REST-API
  • Account REST — nonce, collateral, positions, open orders, delegates — Private REST-API (address as a query parameter)
  • History — candles, trades, order history, portfolio — Indexer REST-API
  • Live updates — subscribe on /ws with account in the JSON payload — Private WebSocket streams