Coinstancy Partner API V4 v4.0.0

https://api.coinstancy.com/api/v4

OAuth2-based API for partner integrations with the Coinstancy cryptocurrency investment platform.

Authentication

This API uses OAuth2 Authorization Code Flow. Partners act on behalf of existing Coinstancy users.

OAuth

Authorization page
get /oauth/authorize

Redirects user to consent page

Query Params

client_id string
OAuth client ID
redirect_uri string
Redirect URL after authorization
response_type string
Response type (always 'code')
scope string
Requested scopes (space-separated)
state string
Anti-CSRF state generated by client

Responses

302 - Redirect to consent page
Body
Request Sample
curl --request GET
--url 'https://api.coinstancy.com/api/v4/oauth/authorize'
--header 'Content-Type: application/json'
Exchange code for token
post /oauth/token

Exchanges authorization code for access and refresh tokens

Request

Body

Responses

200 - Token generated successfully
Body
400 - Validation error
Body
Request Sample
curl --request POST
--url 'https://api.coinstancy.com/api/v4/oauth/token'
--header 'Content-Type: application/json'
Refresh access token
post /oauth/token/refresh

Request

Body

Responses

200 - New token generated
Body
400 - Validation error
Body
Request Sample
curl --request POST
--url 'https://api.coinstancy.com/api/v4/oauth/token/refresh'
--header 'Content-Type: application/json'
Revoke token
post /oauth/revoke

Request

Body

Responses

200 - Token revoked successfully
Body
Request Sample
curl --request POST
--url 'https://api.coinstancy.com/api/v4/oauth/revoke'
--header 'Content-Type: application/json'
List available scopes
get /oauth/scopes

Responses

200 - List of scopes
Body
Request Sample
curl --request GET
--url 'https://api.coinstancy.com/api/v4/oauth/scopes'
--header 'Content-Type: application/json'

Account

Get user profile
get /account/profile

Responses

200 - User profile
Body
401 - Missing or invalid token
Body
Request Sample
curl --request GET
--url 'https://api.coinstancy.com/api/v4/account/profile'
--header 'Content-Type: application/json'
Update profile
patch /account/profile

Request

Body

Responses

200 - Profile updated
Body
422 - Validation error
Body
Request Sample
curl --request PATCH
--url 'https://api.coinstancy.com/api/v4/account/profile'
--header 'Content-Type: application/json'
Get user settings
get /account/settings

Responses

200 - User settings
Body
Request Sample
curl --request GET
--url 'https://api.coinstancy.com/api/v4/account/settings'
--header 'Content-Type: application/json'
Update settings
patch /account/settings

Request

Body

Responses

200 - Settings updated
Body
Request Sample
curl --request PATCH
--url 'https://api.coinstancy.com/api/v4/account/settings'
--header 'Content-Type: application/json'
Get MFA status
get /account/mfa/status

Responses

200 - User MFA status
Body
Request Sample
curl --request GET
--url 'https://api.coinstancy.com/api/v4/account/mfa/status'
--header 'Content-Type: application/json'
Initialize TOTP setup
post /account/mfa/app/setup

Responses

200 - TOTP setup initialized
Body
Request Sample
curl --request POST
--url 'https://api.coinstancy.com/api/v4/account/mfa/app/setup'
--header 'Content-Type: application/json'
Confirm TOTP setup
post /account/mfa/app/confirm

Request

Body

Responses

200 - TOTP enabled successfully
Body
422 - Validation error
Body
Request Sample
curl --request POST
--url 'https://api.coinstancy.com/api/v4/account/mfa/app/confirm'
--header 'Content-Type: application/json'
Disable TOTP
delete /account/mfa/app

Responses

200 - TOTP disabled
Body
Request Sample
curl --request DELETE
--url 'https://api.coinstancy.com/api/v4/account/mfa/app'
--header 'Content-Type: application/json'
Toggle email authentication
post /account/mfa/email/toggle

Request

Body

Responses

200 - Setting updated
Body
Request Sample
curl --request POST
--url 'https://api.coinstancy.com/api/v4/account/mfa/email/toggle'
--header 'Content-Type: application/json'
List active sessions
get /account/sessions

Responses

200 - List of sessions
Body
Request Sample
curl --request GET
--url 'https://api.coinstancy.com/api/v4/account/sessions'
--header 'Content-Type: application/json'
Revoke session
delete /account/sessions/{id}

Path Params

id string required

Responses

200 - Session revoked
Body
404 - Resource not found
Body
Request Sample
curl --request DELETE
--url 'https://api.coinstancy.com/api/v4/account/sessions/{id}'
--header 'Content-Type: application/json'

Wallets

List wallets
get /wallets

Responses

200 - User's wallets
Body
Request Sample
curl --request GET
--url 'https://api.coinstancy.com/api/v4/wallets'
--header 'Content-Type: application/json'
Get wallet by blockchain
get /wallets/{blockchain}

Path Params

blockchain string required
Blockchain identifier

Responses

200 - Wallet for specified blockchain
Body
404 - Resource not found
Body
Request Sample
curl --request GET
--url 'https://api.coinstancy.com/api/v4/wallets/{blockchain}'
--header 'Content-Type: application/json'
Get wallet balance
get /wallets/{blockchain}/balance

Path Params

blockchain string required
Blockchain identifier

Responses

200 - Wallet balance with all tokens
Body
Request Sample
curl --request GET
--url 'https://api.coinstancy.com/api/v4/wallets/{blockchain}/balance'
--header 'Content-Type: application/json'
Get wallet transaction history
get /wallets/{blockchain}/transactions

Query Params

page integer
Page number
per_page integer
Items per page

Path Params

blockchain string required
Blockchain identifier

Responses

200 - Transaction list
Body
Request Sample
curl --request GET
--url 'https://api.coinstancy.com/api/v4/wallets/{blockchain}/transactions'
--header 'Content-Type: application/json'
Get deposit address for blockchain
get /wallets/{blockchain}/deposit-address

Path Params

blockchain string required
Blockchain identifier

Responses

200 - Deposit address
Body
Request Sample
curl --request GET
--url 'https://api.coinstancy.com/api/v4/wallets/{blockchain}/deposit-address'
--header 'Content-Type: application/json'

Stable Pools

List stable pools
get /pools/stable

Responses

200 - Available stable pools
Body
Request Sample
curl --request GET
--url 'https://api.coinstancy.com/api/v4/pools/stable'
--header 'Content-Type: application/json'
Get stable pool details
get /pools/stable/{id}

Path Params

id integer required
Pool ID

Responses

200 - Pool details
Body
404 - Resource not found
Body
Request Sample
curl --request GET
--url 'https://api.coinstancy.com/api/v4/pools/stable/{id}'
--header 'Content-Type: application/json'
Get user balance in pool
get /pools/stable/{id}/user-balance

Path Params

id integer required
Pool ID

Responses

200 - Balance and accrued interest
Body
Request Sample
curl --request GET
--url 'https://api.coinstancy.com/api/v4/pools/stable/{id}/user-balance'
--header 'Content-Type: application/json'
Get investment history
get /pools/stable/{id}/history

Query Params

page integer
Page number
per_page integer
Items per page

Path Params

id integer required
Pool ID

Responses

200 - Transaction history
Body
Request Sample
curl --request GET
--url 'https://api.coinstancy.com/api/v4/pools/stable/{id}/history'
--header 'Content-Type: application/json'
Validate investment amount
post /pools/stable/{id}/check-investment

Path Params

id integer required
Pool ID

Request

Body

Responses

200 - Validation result
Body
422 - Validation error
Body
Request Sample
curl --request POST
--url 'https://api.coinstancy.com/api/v4/pools/stable/{id}/check-investment'
--header 'Content-Type: application/json'
Invest in stable pool
post /pools/stable/{id}/invest

Transfers funds from wallet to pool

Path Params

id integer required
Pool ID

Request

Body

Responses

201 - Investment created
Body
422 - Validation error
Body
Request Sample
curl --request POST
--url 'https://api.coinstancy.com/api/v4/pools/stable/{id}/invest'
--header 'Content-Type: application/json'
Validate withdrawal amount
post /pools/stable/{id}/check-withdrawal

Path Params

id integer required
Pool ID

Request

Body

Responses

200 - Validation result
Body
Request Sample
curl --request POST
--url 'https://api.coinstancy.com/api/v4/pools/stable/{id}/check-withdrawal'
--header 'Content-Type: application/json'
Withdraw from stable pool
post /pools/stable/{id}/withdraw

Path Params

id integer required
Pool ID

Request

Body

Responses

201 - Withdrawal initiated
Body
422 - Validation error
Body
Request Sample
curl --request POST
--url 'https://api.coinstancy.com/api/v4/pools/stable/{id}/withdraw'
--header 'Content-Type: application/json'

Basket Pools

List basket pools
get /pools/basket

Responses

200 - Available basket pools
Body
Request Sample
curl --request GET
--url 'https://api.coinstancy.com/api/v4/pools/basket'
--header 'Content-Type: application/json'
Get basket pool details
get /pools/basket/{id}

Path Params

id integer required
Pool ID

Responses

200 - Pool details with assets
Body
404 - Resource not found
Body
Request Sample
curl --request GET
--url 'https://api.coinstancy.com/api/v4/pools/basket/{id}'
--header 'Content-Type: application/json'
Get user holdings in basket pool
get /pools/basket/{id}/holdings

Path Params

id integer required
Pool ID

Responses

200 - User holdings
Body
Request Sample
curl --request GET
--url 'https://api.coinstancy.com/api/v4/pools/basket/{id}/holdings'
--header 'Content-Type: application/json'
Preview investment
post /pools/basket/{id}/preview

Calculates investment allocation across assets

Path Params

id integer required
Pool ID

Request

Body

Responses

200 - Investment preview
Body
Request Sample
curl --request POST
--url 'https://api.coinstancy.com/api/v4/pools/basket/{id}/preview'
--header 'Content-Type: application/json'
Check if investment is possible
post /pools/basket/{id}/can-invest

Path Params

id integer required
Pool ID

Request

Body

Responses

200 - Check result
Body
Request Sample
curl --request POST
--url 'https://api.coinstancy.com/api/v4/pools/basket/{id}/can-invest'
--header 'Content-Type: application/json'
Invest in basket pool
post /pools/basket/{id}/invest

Path Params

id integer required
Pool ID

Request

Body

Responses

201 - Investment created
Body
422 - Validation error
Body
Request Sample
curl --request POST
--url 'https://api.coinstancy.com/api/v4/pools/basket/{id}/invest'
--header 'Content-Type: application/json'
Preview withdrawal
post /pools/basket/{id}/withdrawal-preview

Path Params

id integer required
Pool ID

Request

Body

Responses

200 - Withdrawal preview
Body
Request Sample
curl --request POST
--url 'https://api.coinstancy.com/api/v4/pools/basket/{id}/withdrawal-preview'
--header 'Content-Type: application/json'
Check if withdrawal is possible
post /pools/basket/{id}/can-withdraw

Path Params

id integer required
Pool ID

Request

Body

Responses

200 - Check result
Body
Request Sample
curl --request POST
--url 'https://api.coinstancy.com/api/v4/pools/basket/{id}/can-withdraw'
--header 'Content-Type: application/json'
Withdraw from basket pool
post /pools/basket/{id}/withdraw

Path Params

id integer required
Pool ID

Request

Body

Responses

201 - Withdrawal initiated
Body
422 - Validation error
Body
Request Sample
curl --request POST
--url 'https://api.coinstancy.com/api/v4/pools/basket/{id}/withdraw'
--header 'Content-Type: application/json'

Deposits

List deposit history
get /deposits

Query Params

page integer
Page number
per_page integer
Items per page
status string
method string

Responses

200 - Deposit list
Body
Request Sample
curl --request GET
--url 'https://api.coinstancy.com/api/v4/deposits'
--header 'Content-Type: application/json'
Get deposit details
get /deposits/{id}

Path Params

id integer required
Deposit ID

Responses

200 - Deposit details
Body
404 - Resource not found
Body
Request Sample
curl --request GET
--url 'https://api.coinstancy.com/api/v4/deposits/{id}'
--header 'Content-Type: application/json'
List available deposit methods
get /deposits/methods

Responses

200 - Available methods
Body
Request Sample
curl --request GET
--url 'https://api.coinstancy.com/api/v4/deposits/methods'
--header 'Content-Type: application/json'
Get crypto deposit address
get /deposits/crypto/address/{blockchain}

Path Params

blockchain string required
Blockchain identifier

Responses

200 - Deposit address for blockchain
Body
Request Sample
curl --request GET
--url 'https://api.coinstancy.com/api/v4/deposits/crypto/address/{blockchain}'
--header 'Content-Type: application/json'
Initiate bank transfer deposit
post /deposits/bank-transfer/initiate

Request

Body

Responses

201 - Bank transfer instructions generated
Body
422 - Validation error
Body
Request Sample
curl --request POST
--url 'https://api.coinstancy.com/api/v4/deposits/bank-transfer/initiate'
--header 'Content-Type: application/json'
Get bank transfer instructions
get /deposits/bank-transfer/{id}/instructions

Path Params

id integer required
Deposit ID

Responses

200 - Bank transfer instructions
Body
404 - Resource not found
Body
Request Sample
curl --request GET
--url 'https://api.coinstancy.com/api/v4/deposits/bank-transfer/{id}/instructions'
--header 'Content-Type: application/json'
Initiate card deposit
post /deposits/card/initiate

Request

Body

Responses

201 - Checkout session created
Body
422 - Validation error
Body
Request Sample
curl --request POST
--url 'https://api.coinstancy.com/api/v4/deposits/card/initiate'
--header 'Content-Type: application/json'
Get card payment status
get /deposits/card/{id}/status

Path Params

id integer required
Deposit ID

Responses

200 - Payment status
Body
Request Sample
curl --request GET
--url 'https://api.coinstancy.com/api/v4/deposits/card/{id}/status'
--header 'Content-Type: application/json'

Withdrawals

List withdrawal history
get /withdrawals

Query Params

page integer
Page number
per_page integer
Items per page
status string

Responses

200 - Withdrawal list
Body
Request Sample
curl --request GET
--url 'https://api.coinstancy.com/api/v4/withdrawals'
--header 'Content-Type: application/json'
Get withdrawal details
get /withdrawals/{id}

Path Params

id integer required
Withdrawal ID

Responses

200 - Withdrawal details
Body
404 - Resource not found
Body
Request Sample
curl --request GET
--url 'https://api.coinstancy.com/api/v4/withdrawals/{id}'
--header 'Content-Type: application/json'
List available withdrawal methods
get /withdrawals/methods

Responses

200 - Available methods
Body
Request Sample
curl --request GET
--url 'https://api.coinstancy.com/api/v4/withdrawals/methods'
--header 'Content-Type: application/json'
Create crypto withdrawal
post /withdrawals/crypto

Request

Body

Responses

201 - Withdrawal created
Body
422 - Validation error
Body
Request Sample
curl --request POST
--url 'https://api.coinstancy.com/api/v4/withdrawals/crypto'
--header 'Content-Type: application/json'
Create bank withdrawal
post /withdrawals/bank-transfer

Request

Body

Responses

201 - Withdrawal created
Body
422 - Validation error
Body
Request Sample
curl --request POST
--url 'https://api.coinstancy.com/api/v4/withdrawals/bank-transfer'
--header 'Content-Type: application/json'
Get withdrawal status
get /withdrawals/{id}/status

Path Params

id integer required
Withdrawal ID

Responses

200 - Current withdrawal status
Body
Request Sample
curl --request GET
--url 'https://api.coinstancy.com/api/v4/withdrawals/{id}/status'
--header 'Content-Type: application/json'
Cancel pending withdrawal
post /withdrawals/{id}/cancel

Path Params

id integer required
Withdrawal ID

Responses

200 - Withdrawal cancelled
Body
422 - Cannot cancel (already processed)
Body
Request Sample
curl --request POST
--url 'https://api.coinstancy.com/api/v4/withdrawals/{id}/cancel'
--header 'Content-Type: application/json'

Taxation

List available tax years
get /taxation/years

Responses

200 - Years with transactions
Body
Request Sample
curl --request GET
--url 'https://api.coinstancy.com/api/v4/taxation/years'
--header 'Content-Type: application/json'
Get annual tax statistics
get /taxation/stats/{year}

Path Params

year integer required
Tax year

Responses

200 - Year statistics
Body
Request Sample
curl --request GET
--url 'https://api.coinstancy.com/api/v4/taxation/stats/{year}'
--header 'Content-Type: application/json'
Get transactions for year
get /taxation/transactions/{year}

Query Params

page integer
Page number
per_page integer
Items per page

Path Params

year integer required
Tax year

Responses

200 - Transaction list
Body
Request Sample
curl --request GET
--url 'https://api.coinstancy.com/api/v4/taxation/transactions/{year}'
--header 'Content-Type: application/json'
Get realized gains/losses
get /taxation/realized-gains/{year}

Path Params

year integer required
Tax year

Responses

200 - Realized gains/losses list
Body
Request Sample
curl --request GET
--url 'https://api.coinstancy.com/api/v4/taxation/realized-gains/{year}'
--header 'Content-Type: application/json'
Get interest payments received
get /taxation/interest-payments/{year}

Path Params

year integer required
Tax year

Responses

200 - Interest payments list
Body
Request Sample
curl --request GET
--url 'https://api.coinstancy.com/api/v4/taxation/interest-payments/{year}'
--header 'Content-Type: application/json'
Export transactions as CSV
post /taxation/export/csv

Request

Body

Responses

200 - Export generated
Body
Request Sample
curl --request POST
--url 'https://api.coinstancy.com/api/v4/taxation/export/csv'
--header 'Content-Type: application/json'
Export tax report as PDF
post /taxation/export/pdf

Request

Body

Responses

200 - Export generated
Body
Request Sample
curl --request POST
--url 'https://api.coinstancy.com/api/v4/taxation/export/pdf'
--header 'Content-Type: application/json'

Referrals

List referrals
get /referrals

Responses

200 - Referred users list
Body
Request Sample
curl --request GET
--url 'https://api.coinstancy.com/api/v4/referrals'
--header 'Content-Type: application/json'
Get referral code
get /referrals/code

Responses

200 - Referral code and link
Body
Request Sample
curl --request GET
--url 'https://api.coinstancy.com/api/v4/referrals/code'
--header 'Content-Type: application/json'
Get referral statistics
get /referrals/stats

Responses

200 - Statistics
Body
Request Sample
curl --request GET
--url 'https://api.coinstancy.com/api/v4/referrals/stats'
--header 'Content-Type: application/json'
Get earned rewards
get /referrals/rewards

Responses

200 - Rewards list
Body
Request Sample
curl --request GET
--url 'https://api.coinstancy.com/api/v4/referrals/rewards'
--header 'Content-Type: application/json'

Dashboard

Get portfolio summary
get /dashboard/summary

Responses

200 - Portfolio overview
Body
Request Sample
curl --request GET
--url 'https://api.coinstancy.com/api/v4/dashboard/summary'
--header 'Content-Type: application/json'
Get detailed balances
get /dashboard/balances

Responses

200 - Detailed balances by category
Body
Request Sample
curl --request GET
--url 'https://api.coinstancy.com/api/v4/dashboard/balances'
--header 'Content-Type: application/json'
Get investments overview
get /dashboard/investments

Responses

200 - Active investments list
Body
Request Sample
curl --request GET
--url 'https://api.coinstancy.com/api/v4/dashboard/investments'
--header 'Content-Type: application/json'
Get performance metrics
get /dashboard/performance

Query Params

period string

Responses

200 - Performance for period
Body
Request Sample
curl --request GET
--url 'https://api.coinstancy.com/api/v4/dashboard/performance'
--header 'Content-Type: application/json'
Get recent activity
get /dashboard/activity

Query Params

limit integer

Responses

200 - Recent activities
Body
Request Sample
curl --request GET
--url 'https://api.coinstancy.com/api/v4/dashboard/activity'
--header 'Content-Type: application/json'
Get portfolio chart data
get /dashboard/charts/portfolio

Query Params

period string

Responses

200 - Chart data points
Body
Request Sample
curl --request GET
--url 'https://api.coinstancy.com/api/v4/dashboard/charts/portfolio'
--header 'Content-Type: application/json'
Get allocation chart data
get /dashboard/charts/allocation

Responses

200 - Portfolio allocation
Body
Request Sample
curl --request GET
--url 'https://api.coinstancy.com/api/v4/dashboard/charts/allocation'
--header 'Content-Type: application/json'

KYC

Get KYC status
get /kyc/status

Responses

200 - KYC verification status
Body
Request Sample
curl --request GET
--url 'https://api.coinstancy.com/api/v4/kyc/status'
--header 'Content-Type: application/json'
Get KYC questionnaire status
get /kyc/questionnaire

Responses

200 - Questionnaire status
Body
Request Sample
curl --request GET
--url 'https://api.coinstancy.com/api/v4/kyc/questionnaire'
--header 'Content-Type: application/json'

Webhooks

List webhook subscriptions
get /webhooks/subscriptions

Responses

200 - Active subscriptions
Body
Request Sample
curl --request GET
--url 'https://api.coinstancy.com/api/v4/webhooks/subscriptions'
--header 'Content-Type: application/json'
Create webhook subscription
post /webhooks/subscriptions

Request

Body

Responses

201 - Subscription created
Body
422 - Validation error
Body
Request Sample
curl --request POST
--url 'https://api.coinstancy.com/api/v4/webhooks/subscriptions'
--header 'Content-Type: application/json'
Delete webhook subscription
delete /webhooks/subscriptions/{id}

Path Params

id integer required

Responses

200 - Subscription deleted
Body
404 - Resource not found
Body
Request Sample
curl --request DELETE
--url 'https://api.coinstancy.com/api/v4/webhooks/subscriptions/{id}'
--header 'Content-Type: application/json'
List available event types
get /webhooks/events

Responses

200 - Event types list
Body
Request Sample
curl --request GET
--url 'https://api.coinstancy.com/api/v4/webhooks/events'
--header 'Content-Type: application/json'
Send test webhook
post /webhooks/test

Request

Body

Responses

200 - Test webhook sent
Body
Request Sample
curl --request POST
--url 'https://api.coinstancy.com/api/v4/webhooks/test'
--header 'Content-Type: application/json'
Get delivery history
get /webhooks/deliveries

Query Params

subscription_id integer
Filter by subscription
page integer
Page number
per_page integer
Items per page

Responses

200 - Delivery history
Body
Request Sample
curl --request GET
--url 'https://api.coinstancy.com/api/v4/webhooks/deliveries'
--header 'Content-Type: application/json'