Summary
The following guide explains how to use Paxos V2 APIs to test deposit and withdrawal flows in the Sandbox environment. Disclaimer - Paxos does not maintain testnets and as a common courtesy, please return the testnet currency when you’re finished.
Prerequisites
- You will need to create API credentials via Settings > API Management to include the following scopes
- transfer:write_deposit_address
- transfer:write_crypto_withdrawal
- funding:read_activity
Ropsten ETH Deposit Instructions:
1) You will need to create a deposit address on Paxos by calling the Create Deposit Address API endpoint.
Example
URL
https://api.sandbox.paxos.com/v2/transfer/deposit-addresses
Payload
{
"profile_id": "36da008b-3dc7-4f00-85f1-aea221c1f544",
"crypto_network": "ETHEREUM",
"ref_id": "eth-ropsten-dep-ad-01"
}
Response
{
"id": "1a2fdafb-7757-4053-b10c-8e38584faa51",
"profile_id": "36da008b-3dc7-4f00-85f1-aea221c1f544",
"customer_id": "c809e0d6-c440-4427-955f-90ef690fb85f",
"crypto_network": "ETHEREUM",
"identity_id": "00000000-0000-0000-0000-000000000000",
"ref_id": "eth-ropsten-dep-ad-01",
"address": "0xE4BC6c5DFc6b48fFd824E83F8fb0EfEf84b8E624",
"account_id": "00000000-0000-0000-0000-000000000000"
}
2) Record the address returned in the response message from CreateDepositAddress
3) Navigate to a Ropsten ETH faucet (https://faucet.dimensions.network/ or https://faucet.egorfine.com/) and fill out the form with the address recorded from above.
Note: it may take some time for the Ropsten ETH network to confirm the transfer on the blockchain. You may view the record on Etherscan Explorer and searching by the address created from Create Deposit Address API call.
Example
4) You can verify the deposit by calling the Get Activities/Activity endpoints displaying the latest record of the deposit.
Example
URL:
https://api.sandbox.paxos.com/v1/activities/
Once the record is found, you may then pass the ID in the payload to filter the result out.
https://api.sandbox.paxos.com/v1/activities/0ec4d9be-5f7b-4eb3-afca-023c933a08cd
Response:
{
"id": "0ec4d9be-5f7b-4eb3-afca-023c933a08cd",
"createdAt": "2022-02-23T22:42:43.696777Z",
"updatedAt": "2022-02-23T22:53:03.071510Z",
"assetType": "ETH",
"principal": "1",
"fee": "0",
"status": "COMPLETE",
"activityClass": "DEPOSIT",
"activityType": "CRYPTO_DEPOSIT",
"externalId": "NETWORK_ETH.v2.0x03efc4ea5ef733faf980384b3bcbb5efdccd1e9d8639e1212f87f5ea66ffaf29.0",
"txId": "0x03efc4ea5ef733faf980384b3bcbb5efdccd1e9d8639e1212f87f5ea66ffaf29",
"fromAddress": {
"network": "NETWORK_ETH",
"address": "0x78c115F1c8B7D0804FbDF3CF7995B030c512ee78"
},
"toProfile": {
"id": "36da008b-3dc7-4f00-85f1-aea221c1f544",
"nickname": "default",
"description": "Default Profile",
"profileType": "DEFAULT",
"transferId": "NHVVRZNXUR"
}
}
rETH Withdrawal Instructions:
1) In order to withdraw rETH in Sandbox, you will need to call the Create Crypto Withdrawal API endpoint.
Example
URL:
https://api.sandbox.paxos.com/v2/transfer/crypto-withdrawals
Payload
{
"ref_id": "reth-withdraw-testnet-02",
"profile_id": "36da008b-3dc7-4f00-85f1-aea221c1f544",
"destination_address": "0xAED01C776d98303eE080D25A21f0a42D94a86D9c",
"total": "0.01",
"asset": "ETH"
}
Response
{
"id": "2e83707f-60e8-4cec-bcdc-bf3b65a270d7",
"customer_id": "c809e0d6-c440-4427-955f-90ef690fb85f",
"profile_id": "36da008b-3dc7-4f00-85f1-aea221c1f544",
"identity_id": "00000000-0000-0000-0000-000000000000",
"ref_id": "reth-withdraw-testnet-02",
"amount": "0.00884469",
"total": "0.01",
"fee": "0.00115531",
"asset": "ETH",
"direction": "DEBIT",
"type": "CRYPTO_WITHDRAWAL",
"status": "PENDING",
"created_at": "2022-02-24T13:59:13.475521Z",
"updated_at": "2022-02-24T13:59:13.495331Z",
"destination_address": "0xAED01C776d98303eE080D25A21f0a42D94a86D9c",
"crypto_network": "ETHEREUM",
"account_id": "00000000-0000-0000-0000-000000000000",
"auto_conversion": {
"from_transfer_id": "00000000-0000-0000-0000-000000000000",
"to_transfer_id": "00000000-0000-0000-0000-000000000000"
}
}
Verifying Withdrawal
1) You can verify the transfer by passing the ID assigned in the response in the Get Transfer API endpoint.
Example
URL:
https://api.sandbox.paxos.com/v2/transfer/transfers/2e83707f-60e8-4cec-bcdc-bf3b65a270d7
Response:
{
"id": "2e83707f-60e8-4cec-bcdc-bf3b65a270d7",
"customer_id": "c809e0d6-c440-4427-955f-90ef690fb85f",
"profile_id": "36da008b-3dc7-4f00-85f1-aea221c1f544",
"identity_id": "00000000-0000-0000-0000-000000000000",
"ref_id": "reth-withdraw-testnet-02",
"amount": "0.00884469",
"total": "0.01",
"fee": "0.00115531",
"asset": "ETH",
"direction": "DEBIT",
"type": "CRYPTO_WITHDRAWAL",
"status": "COMPLETED",
"created_at": "2022-02-24T13:59:13.475521Z",
"updated_at": "2022-02-24T14:03:53.598214Z",
"destination_address": "0xAED01C776d98303eE080D25A21f0a42D94a86D9c",
"crypto_network": "ETHEREUM",
"crypto_tx_hash": "0x1a280c391ce9011d2d08186c210783dde97a95ed8aff2e78e6770632213b8119",
"account_id": "00000000-0000-0000-0000-000000000000",
"auto_conversion": {
"from_transfer_id": "00000000-0000-0000-0000-000000000000",
"to_transfer_id": "00000000-0000-0000-0000-000000000000"
}
}
Note: it may take some time for the Ropsten ETH testnet to confirm the transfer on the blockchain. You may view the record on Etherscan and searching the Broadcast Hash created from the crypto withdrawal in the Activity tab when you log in to your Paxos account.