SynFutures Stock API
Tokenized stock deposits and withdrawals
Tokenized stock deposits and withdrawals
Every API here is available over the APIs.io API and to AI agents over MCP.
One button, every client — Claude, Cursor, VS Code and the rest.
https://apis.io/mcp
find_apisBrowse and filter every API in the catalog.get_api_artifactsOne API's artifacts, grouped by type.get_openapiThe primary OpenAPI for this API.find_similar_apisAPIs that look like this one.apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.resolveTurn a domain, URL or GitHub org into the provider it belongs to.find_cohortsEvery scored population of providers in the catalog.curl "https://apis.io/api/v1/apis/synfutures-stock-api"
curl "https://apis.io/api/v1/apis?limit=25"
Discovery needs no key. Ratings and market analysis are Pro.
Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.
A second provider on the same verified email joins the account you already have.
openapi: 3.2.0
info:
title: SynFutures RWA Trading Cash Stock API
version: v1
description: RESTful API for SynFutures tokenized stock (Real-World Asset) trading. Covers market data, portfolio, order placement (calldata build + One Click delegated send), cash and stock deposits/withdrawals, and One Click (1CT) delegation management. All /api/v1 endpoints require HMAC-SHA256 request authentication with an IP-whitelisted partner API key.
contact:
name: SynFutures
url: https://docs.synfutures.com/rwa-trading-apis/readme
x-logo:
url: https://www.synfutures.com/assets/trade_every_asset.png
servers:
- url: https://base-api.synfutures.com/rwa/trading
description: RWA Trading API (base path /api/v1)
security:
- ApiKeyAuth: []
ApiTimestamp: []
ApiNonce: []
ApiSignature: []
ApiChainId: []
ApiProduct: []
tags:
- name: Stock
description: Tokenized stock deposits and withdrawals
paths:
/api/v1/stock/deposits/calldata:
post:
operationId: buildStockDepositCalldata
tags:
- Stock
summary: Stock deposit calldata
requestBody:
$ref: '#/components/requestBodies/Generic'
responses:
'200':
$ref: '#/components/responses/Envelope'
'401':
$ref: '#/components/responses/Unauthorized'
/api/v1/stock/deposits/send:
post:
operationId: sendStockDeposit
tags:
- Stock
summary: One Click stock deposit
requestBody:
$ref: '#/components/requestBodies/Generic'
responses:
'200':
$ref: '#/components/responses/Envelope'
'401':
$ref: '#/components/responses/Unauthorized'
/api/v1/stock/deposits/tx:
post:
operationId: recordStockDepositTx
tags:
- Stock
summary: Record stock deposit tx
requestBody:
$ref: '#/components/requestBodies/Generic'
responses:
'200':
$ref: '#/components/responses/Envelope'
'401':
$ref: '#/components/responses/Unauthorized'
/api/v1/stock/deposits:
get:
operationId: listStockDeposits
tags:
- Stock
summary: Stock deposit list
parameters:
- $ref: '#/components/parameters/Page'
- $ref: '#/components/parameters/Limit'
responses:
'200':
$ref: '#/components/responses/PagedEnvelope'
'401':
$ref: '#/components/responses/Unauthorized'
/api/v1/stock/deposits/{operationId}:
get:
operationId: getStockDeposit
tags:
- Stock
summary: Stock deposit detail
parameters:
- $ref: '#/components/parameters/OperationId'
responses:
'200':
$ref: '#/components/responses/Envelope'
'401':
$ref: '#/components/responses/Unauthorized'
/api/v1/stock/withdrawals/calldata:
post:
operationId: buildStockWithdrawalCalldata
tags:
- Stock
summary: Stock withdrawal calldata
requestBody:
$ref: '#/components/requestBodies/Generic'
responses:
'200':
$ref: '#/components/responses/Envelope'
'401':
$ref: '#/components/responses/Unauthorized'
/api/v1/stock/withdrawals/send:
post:
operationId: sendStockWithdrawal
tags:
- Stock
summary: One Click stock withdrawal
requestBody:
$ref: '#/components/requestBodies/Generic'
responses:
'200':
$ref: '#/components/responses/Envelope'
'401':
$ref: '#/components/responses/Unauthorized'
/api/v1/stock/withdrawals/tx:
post:
operationId: recordStockWithdrawalTx
tags:
- Stock
summary: Record stock withdrawal tx
requestBody:
$ref: '#/components/requestBodies/Generic'
responses:
'200':
$ref: '#/components/responses/Envelope'
'401':
$ref: '#/components/responses/Unauthorized'
/api/v1/stock/withdrawals:
get:
operationId: listStockWithdrawals
tags:
- Stock
summary: Stock withdrawal list
parameters:
- $ref: '#/components/parameters/Page'
- $ref: '#/components/parameters/Limit'
responses:
'200':
$ref: '#/components/responses/PagedEnvelope'
'401':
$ref: '#/components/responses/Unauthorized'
/api/v1/stock/withdrawals/{operationId}:
get:
operationId: getStockWithdrawal
tags:
- Stock
summary: Stock withdrawal detail
parameters:
- $ref: '#/components/parameters/OperationId'
responses:
'200':
$ref: '#/components/responses/Envelope'
'401':
$ref: '#/components/responses/Unauthorized'
components:
schemas:
Envelope:
type: object
description: All responses share this envelope.
properties:
code:
type: integer
description: 200 on success; error code otherwise.
example: 200
errMsg:
type: string
description: Empty on success; descriptive message on error.
data:
description: Response payload (shape varies per endpoint).
uuid:
type:
- string
- 'null'
description: Request/trace identifier (null when not applicable).
t:
type:
- integer
- 'null'
description: Server timestamp (null when not applicable).
PagedEnvelope:
allOf:
- $ref: '#/components/schemas/Envelope'
- type: object
properties:
data:
type: object
properties:
total:
type: integer
description: Total matching records.
rows:
type: array
description: Current page of records.
items:
type: object
parameters:
OperationId:
name: operationId
in: path
required: true
schema:
type: string
Limit:
name: limit
in: query
required: false
schema:
type: integer
default: 10
minimum: 1
maximum: 100
Page:
name: page
in: query
required: false
schema:
type: integer
default: 1
minimum: 1
responses:
Envelope:
description: Standard response envelope
content:
application/json:
schema:
$ref: '#/components/schemas/Envelope'
Unauthorized:
description: Authentication failed (invalid key, signature, drift, or empty IP whitelist)
content:
application/json:
schema:
$ref: '#/components/schemas/Envelope'
PagedEnvelope:
description: Paged response envelope
content:
application/json:
schema:
$ref: '#/components/schemas/PagedEnvelope'
requestBodies:
Generic:
required: true
content:
application/json:
schema:
type: object
securitySchemes:
ApiKeyAuth:
type: apiKey
in: header
name: x-api-key
description: Partner API key (must be active, unexpired, and IP-whitelisted).
ApiTimestamp:
type: apiKey
in: header
name: x-api-ts
description: Unix millisecond timestamp; must be within 45s drift tolerance.
ApiNonce:
type: apiKey
in: header
name: x-api-nonce
description: Unique replay-prevention nonce per key within the 45s window (UUID recommended).
ApiSignature:
type: apiKey
in: header
name: x-api-sign
description: HMAC-SHA256 signature over the canonical request, hex-encoded (case-insensitive).
ApiChainId:
type: apiKey
in: header
name: x-api-chain-id
description: Chain identifier (e.g. 8453 Base, 1 Ethereum, 143 Monad).
ApiProduct:
type: apiKey
in: header
name: x-api-p
description: Product type; use "Synfutures".