Skip to main content
Skip to main content

Funding API

warning

The Silhouette REST API v1 spec is in beta and may change as RFQ workflows evolve.

Deposits and withdrawals.

Operations

EndpointOperation IDSummaryAuth
GET /v1/rfq/depositslistDepositsList deposits.HMAC
GET /v1/rfq/deposits/{depositId}getDepositGet a deposit.HMAC
GET /v1/rfq/withdrawalslistWithdrawalsList withdrawals.HMAC
POST /v1/rfq/withdrawalscreateWithdrawalCreate a withdrawal.HMAC
GET /v1/rfq/withdrawals/{withdrawalId}getWithdrawalGet a withdrawal.HMAC

List deposits

GET /v1/rfq/deposits

FieldValue
Operation IDlistDeposits
AuthenticationHMAC

Returns deposits observed and credited by Silhouette for the signed account.

Parameters

NameInRequiredTypeDescription
limitqueryNointeger (int32)Page size. Defaults to 50, maximum 100.
cursorqueryNostringOpaque pagination cursor from a previous page's nextCursor. Clients must not parse or construct it.

Request body

None.

Responses

StatusDescriptionSchema
200Deposits page.DepositsPage
400Invalid request: the body or query parameters failed validation. The error code is INVALID_REQUEST; details.errors carries the field-level reasons.ErrorResponse
401Unauthorized: missing or expired credentials, or an unknown access key.ErrorResponse
403Forbidden: the access key is recognised but the request signature does not match the HMAC the gateway recomputes over the received request.ErrorResponse
500Internal server error.ErrorResponse

Get a deposit

GET /v1/rfq/deposits/{depositId}

FieldValue
Operation IDgetDeposit
AuthenticationHMAC

Returns a single deposit owned by the signed account. A chain transaction can carry several deposits, so the lookup is by stable deposit ID.

Parameters

NameInRequiredTypeDescription
depositIdpathYesstringStable Silhouette deposit ID.

Request body

None.

Responses

StatusDescriptionSchema
200Deposit detail.Deposit
401Unauthorized: missing or expired credentials, or an unknown access key.ErrorResponse
403Deposit belongs to another account.ErrorResponse
404Not found.ErrorResponse
500Internal server error.ErrorResponse

List withdrawals

GET /v1/rfq/withdrawals

FieldValue
Operation IDlistWithdrawals
AuthenticationHMAC

Returns withdrawals for the signed account.

Parameters

NameInRequiredTypeDescription
limitqueryNointeger (int32)Page size. Defaults to 50, maximum 100.
cursorqueryNostringOpaque pagination cursor from a previous page's nextCursor. Clients must not parse or construct it.

Request body

None.

Responses

StatusDescriptionSchema
200Withdrawals page.WithdrawalsPage
400Invalid request: the body or query parameters failed validation. The error code is INVALID_REQUEST; details.errors carries the field-level reasons.ErrorResponse
401Unauthorized: missing or expired credentials, or an unknown access key.ErrorResponse
403Forbidden: the access key is recognised but the request signature does not match the HMAC the gateway recomputes over the received request.ErrorResponse
500Internal server error.ErrorResponse

Create a withdrawal

POST /v1/rfq/withdrawals

FieldValue
Operation IDcreateWithdrawal
AuthenticationHMAC

Reserves the funds and queues an asynchronous on-chain withdrawal to the account's registered address; the caller cannot specify a destination. Not idempotent.

Parameters

None.

Request body

Content type: application/json

Schema: CreateWithdrawalRequest

FieldTypeRequiredDescription
amountPositiveDecimalStringYes
tokenTokenSymbolYes

Responses

StatusDescriptionSchema
202Withdrawal accepted for processing.CreateWithdrawalResponse
400Invalid request.ErrorResponse
401Unauthorized: missing or expired credentials, or an unknown access key.ErrorResponse
403Forbidden: the access key is recognised but the request signature does not match the HMAC the gateway recomputes over the received request.ErrorResponse
409Insufficient balance.ErrorResponse
500Internal server error.ErrorResponse

Get a withdrawal

GET /v1/rfq/withdrawals/{withdrawalId}

FieldValue
Operation IDgetWithdrawal
AuthenticationHMAC

Returns a single withdrawal owned by the signed account.

Parameters

NameInRequiredTypeDescription
withdrawalIdpathYesstringSilhouette withdrawal ID.

Request body

None.

Responses

StatusDescriptionSchema
200Withdrawal detail.Withdrawal
401Unauthorized: missing or expired credentials, or an unknown access key.ErrorResponse
403Withdrawal belongs to another account.ErrorResponse
404Not found.ErrorResponse
500Internal server error.ErrorResponse