Submit bridge
Requires scope transactions:create.
ApiKeyAuthorizationBearer <sk_test_ or sk_live_ key>Your sk_live_ / sk_test_ API key
application/json- body
chain*stringThe chain the USD₮ leaves from: ethereum, arbitrum, polygon, optimism, base or plasma.
"ethereum""arbitrum""polygon""optimism""base""plasma"destinationChain*stringWhere the USD₮ lands: any of the six source chains other than chain, or tron.
"ethereum""arbitrum""polygon""optimism""base""plasma""tron"recipient*stringThe address that receives the USD₮ on destinationChain: a 0x address for an EVM destination, a base58 T... address for tron.
1 <= length <= 128amount*stringAmount of USD₮ to send, in token units (for example "100").
^\d+(\.\d{1,6})?$length <= 80safeAddress*stringThe Safe doing the bridge.
^0x[0-9a-fA-F]{40}$passkeyPublicKey*passkeyData*The passkey assertion over the userOpHash returned by POST /v1/bridges/prepare.
userOp*The userOperation returned verbatim by POST /v1/bridges/prepare.
userOpHash*stringThe userOpHash returned by POST /v1/bridges/prepare, which the passkey assertion signs.
^0x[0-9a-fA-F]{64}$Response Body
200application/json
Bridge submitted
TypeScript Definitions
Use the response body type in TypeScript.
400application/json
The userOperation does not hash to userOpHash, the body disagrees with what was prepared under it, or the signing gateway refused the operation (its passkey_assertion_invalid refusal is relayed as validation_failed).
TypeScript Definitions
Use the response body type in TypeScript.
401application/json
The Authorization header is missing, malformed, or the API key is unknown or revoked
TypeScript Definitions
Use the response body type in TypeScript.
404application/json
Nothing was prepared under this userOpHash
TypeScript Definitions
Use the response body type in TypeScript.
409application/json
The bridge was already submitted, the quote expired before submit, the wallet entered recovery, or the signing gateway refused the operation
TypeScript Definitions
Use the response body type in TypeScript.
429application/json
The API key exceeded its request budget for the window
TypeScript Definitions
Use the response body type in TypeScript.
Language
curl -X POST 'https://api.pilot.shiga.io/v1/bridges' \ -H 'Authorization: Bearer sk_test_...' \ -H 'Content-Type: application/json' \ -d '{ "chain": "ethereum", "destinationChain": "ethereum", "recipient": "string", "amount": "string", "safeAddress": "string", "passkeyPublicKey": { "x": "string", "y": "string" }, "passkeyData": { "property1": null, "property2": null }, "userOp": { "property1": null, "property2": null }, "userOpHash": "string"}'{ "data": { "bridgeId": "cca4409a-da51-4564-bde8-29efe705cbe3", "chain": "base", "destinationChain": "arbitrum", "safeAddress": "string", "recipient": "string", "userOpHash": "string", "amountIn": "string", "amountOut": "string", "status": "submitted", "transactionHash": "string", "pendingUserOp": true }, "status": 200, "success": true}