Sandbox tester
The tester stores your sandbox API key in session storage for the current browser tab only. It covers the embedded-specific sequence (provision → quote → order → approval signing). For quote and order mechanics shared with any wallet, see the standard ramp guides linked above.
Minimal sandbox onramp
Copy-paste server-side script for a complete embedded-wallet onramp in sandbox: provision with PEM, quote withwalletAddress, order with cryptoWalletId, simulate fiat, poll for the approval, sign, and broadcast. Set ETHERFUSE_API_KEY, BANK_ACCOUNT_ID, and TARGET_ASSET (a Stellar asset identifier from GET /ramp/assets).
api() call links to the API reference:
Offramps follow the same approval loop; there is no
fiat_received step and the approval appears once Etherfuse builds the burn transaction. See Offramps.Worked example (test fixture)
The values below are a documentation fixture only; do not use this private key in production. They show the sameapprovalMessage signed once, yielding two common hex encodings Etherfuse accepts.
Bytes to sign (approvalMessage, copy verbatim, including quotes and escaping):
signerPublicKey (compressed SEC1 hex; what Etherfuse stores after provision, regardless of whether you sent hex, PEM, or JWK):
signerPublicKeyPem at provision, or for offline verification):
r and s, two hex layouts):
Both verify the same ECDSA P-256 / SHA-256 signature. Etherfuse normalizes either layout before broadcast. ECDSA is randomized, so signing again yields different hex, but any valid signature over the same message is accepted.
Submit with server-side hex (DER-wrapped, typical Node/Java signer):
r‖s, typical WebCrypto signer):
approvalMessage and approvalMessageId come from a fresh GET /ramp/order/ read; the fixture above uses a static message for illustration only.