curl --request POST \
--url https://sandbox.api.byzantine.fi/v1/submit/sign-payload-passkey \
--header 'Content-Type: application/json' \
--header 'X-Pubkey: <x-pubkey>' \
--header 'X-Pubkey, X-Timestamp, X-Signature: <api-key>' \
--header 'X-Signature: <x-signature>' \
--header 'X-Timestamp: <x-timestamp>' \
--data '
{
"signedBody": {
"type": "ACTIVITY_TYPE_SIGN_RAW_PAYLOAD_V2",
"timestampMs": "<string>",
"organizationId": "<string>",
"parameters": {
"signWith": "<string>",
"payload": "<string>",
"encoding": "PAYLOAD_ENCODING_HEXADECIMAL",
"hashFunction": "HASH_FUNCTION_NO_OP"
}
},
"transactionId": "550e8400-e29b-41d4-a716-446655440000",
"webAuthnStamp": "<string>"
}
'import requests
url = "https://sandbox.api.byzantine.fi/v1/submit/sign-payload-passkey"
payload = {
"signedBody": {
"type": "ACTIVITY_TYPE_SIGN_RAW_PAYLOAD_V2",
"timestampMs": "<string>",
"organizationId": "<string>",
"parameters": {
"signWith": "<string>",
"payload": "<string>",
"encoding": "PAYLOAD_ENCODING_HEXADECIMAL",
"hashFunction": "HASH_FUNCTION_NO_OP"
}
},
"transactionId": "550e8400-e29b-41d4-a716-446655440000",
"webAuthnStamp": "<string>"
}
headers = {
"X-Pubkey": "<x-pubkey>",
"X-Timestamp": "<x-timestamp>",
"X-Signature": "<x-signature>",
"X-Pubkey, X-Timestamp, X-Signature": "<api-key>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {
'X-Pubkey': '<x-pubkey>',
'X-Timestamp': '<x-timestamp>',
'X-Signature': '<x-signature>',
'X-Pubkey, X-Timestamp, X-Signature': '<api-key>',
'Content-Type': 'application/json'
},
body: JSON.stringify({
signedBody: {
type: 'ACTIVITY_TYPE_SIGN_RAW_PAYLOAD_V2',
timestampMs: '<string>',
organizationId: '<string>',
parameters: {
signWith: '<string>',
payload: '<string>',
encoding: 'PAYLOAD_ENCODING_HEXADECIMAL',
hashFunction: 'HASH_FUNCTION_NO_OP'
}
},
transactionId: '550e8400-e29b-41d4-a716-446655440000',
webAuthnStamp: '<string>'
})
};
fetch('https://sandbox.api.byzantine.fi/v1/submit/sign-payload-passkey', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));{
"transactionId": "550e8400-e29b-41d4-a716-446655440000",
"status": "completed",
"broadcastedAt": "2025-11-19T21:16:02.894Z",
"transactionHash": "<string>",
"fiatDepositInstructions": {
"currency": "usd",
"bankName": "Lead Bank",
"bankAddress": "1801 Main St., Kansas City, MO 64108",
"paymentRails": [
"achPush"
],
"bankBeneficiaryName": "John Smith",
"expectedDepositAmount": "123.456789",
"bankBeneficiaryAddress": "1234 Main St., Kansas City, MO 64108",
"bankAccountNumber": "1234567890",
"bankRoutingNumber": "87654321",
"iban": "FR12345678901234567890",
"bic": "BICFR12345"
},
"destinationBankAccount": {
"country": "FRA",
"last4": "0804",
"bic": "BICFR12345"
},
"withdrawalRequest": {
"requestId": "550e8400-e29b-41d4-a716-446655440000",
"status": "pending"
}
}{
"transactionId": "550e8400-e29b-41d4-a716-446655440000",
"status": "completed",
"broadcastedAt": "2025-11-19T21:16:02.894Z",
"transactionHash": "<string>",
"fiatDepositInstructions": {
"currency": "usd",
"bankName": "Lead Bank",
"bankAddress": "1801 Main St., Kansas City, MO 64108",
"paymentRails": [
"achPush"
],
"bankBeneficiaryName": "John Smith",
"expectedDepositAmount": "123.456789",
"bankBeneficiaryAddress": "1234 Main St., Kansas City, MO 64108",
"bankAccountNumber": "1234567890",
"bankRoutingNumber": "87654321",
"iban": "FR12345678901234567890",
"bic": "BICFR12345"
},
"destinationBankAccount": {
"country": "FRA",
"last4": "0804",
"bic": "BICFR12345"
},
"withdrawalRequest": {
"requestId": "550e8400-e29b-41d4-a716-446655440000",
"status": "pending"
}
}Sign payload
Sign a payload allowing Byzantine to make, execute and sponsor the transaction.
curl --request POST \
--url https://sandbox.api.byzantine.fi/v1/submit/sign-payload-passkey \
--header 'Content-Type: application/json' \
--header 'X-Pubkey: <x-pubkey>' \
--header 'X-Pubkey, X-Timestamp, X-Signature: <api-key>' \
--header 'X-Signature: <x-signature>' \
--header 'X-Timestamp: <x-timestamp>' \
--data '
{
"signedBody": {
"type": "ACTIVITY_TYPE_SIGN_RAW_PAYLOAD_V2",
"timestampMs": "<string>",
"organizationId": "<string>",
"parameters": {
"signWith": "<string>",
"payload": "<string>",
"encoding": "PAYLOAD_ENCODING_HEXADECIMAL",
"hashFunction": "HASH_FUNCTION_NO_OP"
}
},
"transactionId": "550e8400-e29b-41d4-a716-446655440000",
"webAuthnStamp": "<string>"
}
'import requests
url = "https://sandbox.api.byzantine.fi/v1/submit/sign-payload-passkey"
payload = {
"signedBody": {
"type": "ACTIVITY_TYPE_SIGN_RAW_PAYLOAD_V2",
"timestampMs": "<string>",
"organizationId": "<string>",
"parameters": {
"signWith": "<string>",
"payload": "<string>",
"encoding": "PAYLOAD_ENCODING_HEXADECIMAL",
"hashFunction": "HASH_FUNCTION_NO_OP"
}
},
"transactionId": "550e8400-e29b-41d4-a716-446655440000",
"webAuthnStamp": "<string>"
}
headers = {
"X-Pubkey": "<x-pubkey>",
"X-Timestamp": "<x-timestamp>",
"X-Signature": "<x-signature>",
"X-Pubkey, X-Timestamp, X-Signature": "<api-key>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {
'X-Pubkey': '<x-pubkey>',
'X-Timestamp': '<x-timestamp>',
'X-Signature': '<x-signature>',
'X-Pubkey, X-Timestamp, X-Signature': '<api-key>',
'Content-Type': 'application/json'
},
body: JSON.stringify({
signedBody: {
type: 'ACTIVITY_TYPE_SIGN_RAW_PAYLOAD_V2',
timestampMs: '<string>',
organizationId: '<string>',
parameters: {
signWith: '<string>',
payload: '<string>',
encoding: 'PAYLOAD_ENCODING_HEXADECIMAL',
hashFunction: 'HASH_FUNCTION_NO_OP'
}
},
transactionId: '550e8400-e29b-41d4-a716-446655440000',
webAuthnStamp: '<string>'
})
};
fetch('https://sandbox.api.byzantine.fi/v1/submit/sign-payload-passkey', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));{
"transactionId": "550e8400-e29b-41d4-a716-446655440000",
"status": "completed",
"broadcastedAt": "2025-11-19T21:16:02.894Z",
"transactionHash": "<string>",
"fiatDepositInstructions": {
"currency": "usd",
"bankName": "Lead Bank",
"bankAddress": "1801 Main St., Kansas City, MO 64108",
"paymentRails": [
"achPush"
],
"bankBeneficiaryName": "John Smith",
"expectedDepositAmount": "123.456789",
"bankBeneficiaryAddress": "1234 Main St., Kansas City, MO 64108",
"bankAccountNumber": "1234567890",
"bankRoutingNumber": "87654321",
"iban": "FR12345678901234567890",
"bic": "BICFR12345"
},
"destinationBankAccount": {
"country": "FRA",
"last4": "0804",
"bic": "BICFR12345"
},
"withdrawalRequest": {
"requestId": "550e8400-e29b-41d4-a716-446655440000",
"status": "pending"
}
}{
"transactionId": "550e8400-e29b-41d4-a716-446655440000",
"status": "completed",
"broadcastedAt": "2025-11-19T21:16:02.894Z",
"transactionHash": "<string>",
"fiatDepositInstructions": {
"currency": "usd",
"bankName": "Lead Bank",
"bankAddress": "1801 Main St., Kansas City, MO 64108",
"paymentRails": [
"achPush"
],
"bankBeneficiaryName": "John Smith",
"expectedDepositAmount": "123.456789",
"bankBeneficiaryAddress": "1234 Main St., Kansas City, MO 64108",
"bankAccountNumber": "1234567890",
"bankRoutingNumber": "87654321",
"iban": "FR12345678901234567890",
"bic": "BICFR12345"
},
"destinationBankAccount": {
"country": "FRA",
"last4": "0804",
"bic": "BICFR12345"
},
"withdrawalRequest": {
"requestId": "550e8400-e29b-41d4-a716-446655440000",
"status": "pending"
}
}Authorizations
Headers
Integrator's ECDSA public key (P-256 curve, compressed SEC1 format). Example: 0x038fedef7c12f93bbf342ad8943b7a825a3b41f61c9dc118b2c718efebabbf62fd
Unix timestamp in seconds (UTC). Must be within tolerance window (1 minute) to prevent replay attacks. Example: 1760375826
ECDSA signature (DER-encoded, hex with 0x prefix). Signs the message: {timestamp}{METHOD}{path_and_query}{json_body}. Example: 0x3045022100...
Query Parameters
Chain ID (1 for Ethereum, 8453 for Base)
x >= 0Body
The payload body details signed by the user - passkey auth
Accepts either a single-payload or a multi-payload request Turnkey request
- Option 1
- Option 2
Show child attributes
Show child attributes
A UUID string
"550e8400-e29b-41d4-a716-446655440000"
Cryptographically passkey signed (stamped). For more info, see authentication methods.
Response
Transaction sent successfully
A UUID string
"550e8400-e29b-41d4-a716-446655440000"
The current status of the transaction, as returned by the API.
withdrawal_initiated, waiting_for_funds, funds_in_transfer, funds_received, processing, completed, simulation_failed, reverted, refunded, cancelled "completed"
Exact timestamp when the transaction was broadcasted on-chain.
"2025-11-19T21:16:02.894Z"
The on-chain transaction hash. Available immediately after broadcast - poll
RPC's eth_getTransactionReceipt to get the full receipt.
Show child attributes
Show child attributes
Bank account details where the funds will be transferred to (withdrawals only).
- Option 1
- Option 2
Show child attributes
Show child attributes
Show child attributes
Show child attributes

