Download OpenAPI specification:
An example of a multi-file OpenAPI definition.
In order to display iframe signature form, use entity_id from response together with iframe and docuseal document path example: https://docuseal-web.webdevelop.pro/d/{{ entity_id }}. In our terms entity_id is a slug field in docuseal response, but we renamed it to entity_id in our API.
Phase 1 chain-aware wallet view for a profile.
Use chain=all for an aggregate response across all provisioned chain accounts,
or pass a single chain (ethereum, ethereum-sepolia, polygon, base) to filter the view.
| profile_id required | integer <int64> Profile ID that owns the wallet. |
| chain required | string Enum: "all" "ethereum" "ethereum-sepolia" "polygon" "base" Example: chain=all Chain selector. Use |
Confirm the wallet activation flow for a profile. The first confirmation step verifies the email OTP, the second step completes mandatory TOTP setup.
| profile_id required | integer <int64> Profile ID that owns the wallet. |
Wallet activation confirmation payload.
| activation_session_id required | string >= 8 characters Activation session identifier returned by |
| auth_step required | string Enum: "email_otp" "totp" The current activation step to confirm. |
| otp_code | string Email OTP code received by the user. |
| totp_code | string TOTP code generated by the user's authenticator. |
{- "activation_session_id": "act_123e4567e89b12d3a456426655440000",
- "auth_step": "email_otp",
- "otp_code": "123456",
- "totp_code": "123456"
}Submit a Phase 1 user-wallet withdrawal request.
The backend resolves the wallet from profile_id, performs compliance and balance checks,
and submits the transaction through the smart-wallet path for the selected chain.
Withdrawal request payload.
| amount required | string Decimal string amount. Never send floating-point JSON numbers. |
| asset required | string Asset symbol enabled on the selected chain. |
| chain required | string Enum: "ethereum" "ethereum-sepolia" "polygon" "base" Chain to withdraw on. |
| destination_address required | string Destination EVM address on the selected chain. |
| idempotency_key required | string Client-generated unique key used to deduplicate retries. |
| profile_id required | integer <int64> Profile ID that owns the wallet being used. |
{- "amount": "25.500000",
- "asset": "USDC",
- "chain": "ethereum",
- "destination_address": 6.1138228683162145e+47,
- "idempotency_key": "wdr_20260330_0001",
- "profile_id": 42
}Create the logical wallet record for a profile.
Profile wallet creation payload.
| profile_id required | integer <int64> Profile ID that owns the logical user wallet record. |
{- "profile_id": 42
}Create and provision a custodial wallet for an offer.
Offer wallet creation payload.
| offer_id required | integer <int64> Offer ID that owns the custodial offer wallet. |
{- "offer_id": 7
}Exchange token between dwolla and plaid to get access_token
| ProfileID required | any Example: ProfileID=3 |
| Authorization required | any Example: f8a61466-8964-4ade-8ca5-fa452bceba3f |
| XRequestID required | any Example: 0191701c-da51-749a-a4fc-e96579ebc043 |
Generate public token from plaid to get a list of bank accounts
| ProfileID required | any Example: ProfileID=3 |
| Authorization required | any Example: f8a61466-8964-4ade-8ca5-fa452bceba3f |
| XRequestID required | any Example: 0191701c-da51-749a-a4fc-e96579ebc043 |
Create Pending Transaction
| type required | any Example: type=3 |
| amount required | any Example: amount=12.2 |
| funding_source_id required | any Example: funding_source_id=3 |
| WalletID required | any Example: WalletID=3 |
| Authorization required | any Example: f8a61466-8964-4ade-8ca5-fa452bceba3f |
| XRequestID required | any Example: 0191701c-da51-749a-a4fc-e96579ebc043 |