curl --request POST \
--url https://api.example.com/sandbox/deposits \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"amount": "500.00"
}
'import requests
url = "https://api.example.com/sandbox/deposits"
payload = { "amount": "500.00" }
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({amount: '500.00'})
};
fetch('https://api.example.com/sandbox/deposits', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));{
"depositId": "<string>",
"status": "awaitingSignature",
"token": "USDC",
"amount": "500.00",
"currency": "<string>",
"idempotencyKey": "<string>",
"payinId": "pi_9f2c1ab84d7e4f1fa3c65b0e7d9a2c41",
"transactionId": "txn_9f2c1ab84d7e4f1fa3c65b0e7d9a2c41",
"credited": "500.00",
"fee": "500.00",
"feeCurrency": "<string>",
"rate": "500.00",
"txHash": "<string>",
"pollUrl": "<string>"
}{
"depositId": "<string>",
"status": "awaitingSignature",
"token": "USDC",
"amount": "500.00",
"currency": "<string>",
"idempotencyKey": "<string>",
"payinId": "pi_9f2c1ab84d7e4f1fa3c65b0e7d9a2c41",
"transactionId": "txn_9f2c1ab84d7e4f1fa3c65b0e7d9a2c41",
"credited": "500.00",
"fee": "500.00",
"feeCurrency": "<string>",
"rate": "500.00",
"txHash": "<string>",
"pollUrl": "<string>"
}{
"error": {
"code": "invalid_request",
"message": "<string>",
"details": {}
}
}Emulate an incoming deposit: an account transfer with bankId, a token transfer without
curl --request POST \
--url https://api.example.com/sandbox/deposits \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"amount": "500.00"
}
'import requests
url = "https://api.example.com/sandbox/deposits"
payload = { "amount": "500.00" }
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({amount: '500.00'})
};
fetch('https://api.example.com/sandbox/deposits', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));{
"depositId": "<string>",
"status": "awaitingSignature",
"token": "USDC",
"amount": "500.00",
"currency": "<string>",
"idempotencyKey": "<string>",
"payinId": "pi_9f2c1ab84d7e4f1fa3c65b0e7d9a2c41",
"transactionId": "txn_9f2c1ab84d7e4f1fa3c65b0e7d9a2c41",
"credited": "500.00",
"fee": "500.00",
"feeCurrency": "<string>",
"rate": "500.00",
"txHash": "<string>",
"pollUrl": "<string>"
}{
"depositId": "<string>",
"status": "awaitingSignature",
"token": "USDC",
"amount": "500.00",
"currency": "<string>",
"idempotencyKey": "<string>",
"payinId": "pi_9f2c1ab84d7e4f1fa3c65b0e7d9a2c41",
"transactionId": "txn_9f2c1ab84d7e4f1fa3c65b0e7d9a2c41",
"credited": "500.00",
"fee": "500.00",
"feeCurrency": "<string>",
"rate": "500.00",
"txHash": "<string>",
"pollUrl": "<string>"
}{
"error": {
"code": "invalid_request",
"message": "<string>",
"details": {}
}
}Authorizations
Bearer authentication header of the form Bearer <token>, where <token> is your auth token.
Headers
The client account to act for, as a cl_… id. Omit it to act as yourself.
"cl_9f2c1ab84d7e4f1fa3c65b0e7d9a2c41"
Your own key for this write, ^[A-Za-z0-9._:-]{1,128}$. A retry with the same key replays the first answer; the same key with a different request is refused.
"po-inv-2026-114"
Body
Test amount to credit.
^(?!^[-+.]*$)[+-]?0*\d*\.?\d*$"500.00"
Virtual-account identifier for an emulated account transfer.
^(?:bnk_)?[A-Za-z0-9._:\-]{1,216}$"bnk_9f2c1ab84d7e4f1fa3c65b0e7d9a2c41"
Digital asset for an emulated on-chain transfer.
USDC, EURC Originator name reported with the credit.
140Reference reported with the credit.
140Response
Successful Response
Stable identifier for the emulated credit.
Current public lifecycle status of the emulated credit.
awaitingSignature, submitted, settled, failed, refunded Digital asset credited after settlement.
USDC, EURC Source amount supplied to the emulator.
"500.00"
Source currency or digital asset.
Caller-supplied key that binds retries to this credit.
Incoming-transfer identifier, when completing a pay-in.
^(?:pi_)?[A-Za-z0-9._:\-]{1,216}$"pi_9f2c1ab84d7e4f1fa3c65b0e7d9a2c41"
Ledger transaction identifier, when created.
^(?:txn_)?[A-Za-z0-9._:\-]{1,216}$"txn_9f2c1ab84d7e4f1fa3c65b0e7d9a2c41"
Amount delivered in the settlement asset.
"500.00"
Fee charged by the emulated route.
"500.00"
Currency in which the fee is charged.
Conversion rate from source to settlement amount.
"500.00"
On-chain transaction hash, when applicable.
Relative API URL to poll while processing continues.
Was this page helpful?