Sandbox only. Simulated deposits are a testing aid for the sandbox environment. They do not move funds and are not
available in production. Use them to validate your integration’s wiring, not to test real settlement.
Crypto testnets — real on-chain flow. For supported crypto networks, the sandbox can be backed by network
testnets, so you can make real testnet deposits and withdrawals against a conversion rule and exercise the actual
on-chain legs end to end — rather than simulating them. Which networks and testnets are enabled for your sandbox
depends on your setup. Contact your Payward integration engineer for the current list and the testnet faucet/funding
details.
How it works
You simulate a deposit against a conversion rule you have already created. PWS resolves the rule’s inbound routing internally and submits a test deposit for the amount you specify — exactly as if a matching credit had arrived on the rule’sfrom endpoint. The rule fires and produces a new conversion transaction, which you then monitor through the normal transactions endpoint.
The end-to-end flow is three steps:
- Create a conversion rule — the standing
from→toconfiguration you want to test. - Simulate a deposit against that rule.
- Poll the rule’s transactions to watch the conversion progress to
completed.
Step 1 — Create a conversion rule
Create the rule you want to exercise. This is the standard create call described in Conversions — here, a EUR on-ramp settling USDC to a Polygon wallet:from, to, and timestamps included — see Conversions). Note the id — you need it as the conversion_id in the next step:
Wait for
active. Simulate a deposit only once the rule is active. If the rule is still provisioning, its
inbound endpoint is not ready — fetch it with GET /v1/accounts/{account_id}/conversions/{conversion_id} until the
status is active.Step 2 — Simulate a deposit
Submit a test deposit against the rule withPOST /v1/accounts/{account_id}/conversions/{conversion_id}/testing/deposit. The amount is the value to simulate as received on the rule’s inbound side, in the source asset (EUR, for the rule above):
The response confirms only that PWS accepted the simulated deposit for processing — not that the conversion has completed:
simulated: true response means the test deposit was submitted upstream and the rule will fire. The resulting conversion transaction settles asynchronously; observe its progress in step 3.
amount is a string. Send the amount as a JSON string ("100.00"), not a number, and trim any surrounding
whitespace. A non-positive or whitespace-padded value is rejected with 400.Step 3 — Watch the conversion transaction
The simulated deposit produces a conversion transaction just like a real deposit would. Poll the rule’s transactions to watch it move frompending_deposit through to completed:
pending_deposit → converting → settling → completed). See Monitoring conversions for the full state table.
Webhooks. A simulated deposit emits the same conversion webhook events as a real one
(
conversion.deposit_completed, conversion.deposit_held, conversion.withdrawal_completed, and the rest), so you
can use it to test your webhook handler end to end. Register your endpoint with the Register
Webhook API. You can also follow the simulated conversion by polling the
transactions endpoint, exactly as in production.