Skip to main content
Sandbox supports partner deposits only for rusd on base (Base Sepolia).

Overview

  • GET /partner/v1/deposits/assets: discover supported currency + network ids (no min/max).
  • POST /partner/v1/deposits/range: fetch min/max and payout route for one pair.
  • POST /partner/v1/deposits/estimate: quote estimated receive amount for one pair + amount.
  • POST /partner/v1/deposits: create the deposit address/intent.
  • GET /partner/v1/deposits and GET /partner/v1/deposits/{depositId}: track lifecycle.
Min/max are intentionally omitted from assets. Always call /deposits/range (or /deposits/estimate) for limits.

Flow

API flows (step-by-step)

1

1) Discover deposit assets

Endpoint: GET /partner/v1/deposits/assets
curl -s \
  -H "Authorization: Bearer $PARTNER_SESSION_TOKEN" \
  "https://api.machines.cash/partner/v1/deposits/assets?q=hbar&limit=20"
Response returns assets[].ticker and assets[].networks[].id.
2

2) Get range for selected pair

Endpoint: POST /partner/v1/deposits/range
curl -s \
  -H "Authorization: Bearer $PARTNER_SESSION_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"currency":"hbar","network":"hbar"}' \
  https://api.machines.cash/partner/v1/deposits/range
Use range.minAmount / range.maxAmount for validation.
3

3) Estimate receive amount

Endpoint: POST /partner/v1/deposits/estimate
curl -s \
  -H "Authorization: Bearer $PARTNER_SESSION_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"currency":"hbar","network":"hbar","amount":25,"amountCurrency":"crypto"}' \
  https://api.machines.cash/partner/v1/deposits/estimate
amountCurrency supports:
  • crypto (default)
  • usd
4

4) Create deposit intent

Endpoint: POST /partner/v1/deposits
curl -s \
  -H "Authorization: Bearer $PARTNER_SESSION_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"currency":"hbar","network":"hbar","amount":25}' \
  https://api.machines.cash/partner/v1/deposits
Use the returned deposit.depositAddress. If deposit.payinExtraId is non-null, pass it as memo/tag in the user’s funding transaction.

Key response fields

deposit.payinExtraId
string
Optional memo/tag required by some source networks.
estimate.quotedAmountCurrency
string
required
Quote input mode (crypto or usd).
estimate.estimatedToAmount
number
Estimated settled amount for the user contract route.
estimate.rateId
string
Provider rate id when available.