curl --request POST \
--url https://aropay.aro.media/api/v1/fund \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"walletId": "ckwlt0001abcd"
}
'const options = {
method: 'POST',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({walletId: 'ckwlt0001abcd'})
};
fetch('https://aropay.aro.media/api/v1/fund', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));import requests
url = "https://aropay.aro.media/api/v1/fund"
payload = { "walletId": "ckwlt0001abcd" }
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)Fund wallet
Faucet: the platform operator sends test stablecoin to the wallet and
tops up ETH for gas in the same call. amount is optional; omit it
for the deployment default. Faucet volume is capped per account over
a rolling 24 hours.
Sandbox (Sepolia) only. On Production (Mainnet) the faucet would
move real funds, so this endpoint does not exist there and returns
404 before authentication. Fund production wallets by depositing to
their on-chain address instead.
Asynchronous: returns 201 immediately with the transaction in status
QUEUED (txHash: null); a background worker sends the gas top-up
(hash in metadata.gasTxHash) and then the stablecoin transfer
(txHash). Poll GET /transactions/{id} until status is
CONFIRMED or FAILED. Execution failures surface as status FAILED
with errorCode on the transaction (e.g. faucet_failed,
faucet_cap_exceeded), not as an HTTP error.
curl --request POST \
--url https://aropay.aro.media/api/v1/fund \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"walletId": "ckwlt0001abcd"
}
'const options = {
method: 'POST',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({walletId: 'ckwlt0001abcd'})
};
fetch('https://aropay.aro.media/api/v1/fund', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));import requests
url = "https://aropay.aro.media/api/v1/fund"
payload = { "walletId": "ckwlt0001abcd" }
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)Authorizations
AroPay API key, sent as Authorization: Bearer aro_sk_…. Created in
the dashboard under Settings → API keys. Takes precedence over a
session cookie when both are present.