Wallet Infrastructure
Wallet Infrastructure
Bridges

Quote bridge

POST
/v1/bridges/quote

Requires scope quotes:read.

Authorization

ApiKey
headerAuthorizationBearer <sk_test_ or sk_live_ key>

Your sk_live_ / sk_test_ API key

Request Body

application/json
  1. body
chain*string

The chain the USD₮ leaves from: ethereum, arbitrum, polygon, optimism, base or plasma.

Value in"ethereum""arbitrum""polygon""optimism""base""plasma"
destinationChain*string

Where the USD₮ lands: any of the six source chains other than chain, or tron.

Value in"ethereum""arbitrum""polygon""optimism""base""plasma""tron"
recipient*string

The address that receives the USD₮ on destinationChain: a 0x address for an EVM destination, a base58 T... address for tron.

Length1 <= length <= 128
amount*string

Amount of USD₮ to send, in token units (for example "100").

Match^\d+(\.\d{1,6})?$
Lengthlength <= 80
safeAddress*string

The Safe doing the bridge.

Match^0x[0-9a-fA-F]{40}$

Response Body

200application/json

Bridge quote

TypeScript Definitions

Use the response body type in TypeScript.

data*
status*number
success*boolean
400application/json

Malformed body, a recipient that is not valid for the destination, a source chain bridging is not enabled from, a destination the router can only reach with a swap, an amount below the 10 USDT minimum, or a route whose fee breaches the ceiling

TypeScript Definitions

Use the response body type in TypeScript.

data*
status*number
success*boolean
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.

data*
status*number
success*boolean
403application/json

The API key lacks the quotes:read scope

TypeScript Definitions

Use the response body type in TypeScript.

data*
status*number
success*boolean
409application/json

The wallet is under recovery, or the Safe is not deployed on the source chain

TypeScript Definitions

Use the response body type in TypeScript.

data*
status*number
success*boolean
429application/json

The API key exceeded its request budget for the window

TypeScript Definitions

Use the response body type in TypeScript.

data*
status*number
success*boolean
501application/json

Bridging is not enabled in this environment

TypeScript Definitions

Use the response body type in TypeScript.

data*
status*number
success*boolean
502application/json

The bridge router answered with something other than a route to the pinned Across contract, or the chain's RPC node was unreachable

TypeScript Definitions

Use the response body type in TypeScript.

data*
status*number
success*boolean
503application/json

The bridge router could not be reached

TypeScript Definitions

Use the response body type in TypeScript.

data*
status*number
success*boolean

Language

curl -X POST 'https://api.pilot.shiga.io/v1/bridges/quote' \  -H 'Authorization: Bearer sk_test_...' \  -H 'Content-Type: application/json' \  -d '{  "chain": "ethereum",  "destinationChain": "ethereum",  "recipient": "string",  "amount": "string",  "safeAddress": "string"}'
Example Response
{  "data": {    "chain": "base",    "destinationChain": "arbitrum",    "moduleId": "evm_erc4337",    "senderAddress": "string",    "recipient": "string",    "asset": "usdt",    "amountIn": "string",    "amountOut": "string",    "minAmountOut": "string",    "bridgeFee": "string",    "bridgeFeeBps": 34,    "estimatedFillSeconds": 2,    "quoteExpiresAt": "2019-08-24T14:15:22Z",    "feeToken": "usdt",    "gas": "string",    "sponsored": false,    "userCost": "string",    "gasEstimated": true,    "provider": "across"  },  "status": 200,  "success": true}