Skip to main content
Glama

Execute a RAVN swap quote

ravn_execute

Turn a quoteToken from ravn_quote into an execution payload. Returns one of three shapes (executionType): TRANSACTION (sign and broadcast yourself), SIGNATURE (sign, RAVN submits), or DEPOSIT (send the input asset to a given address). RAVN never takes custody of funds — you always sign or send from your own wallet. TRANSACTION and SIGNATURE may also include an approval — an ERC-20 approve() you must broadcast and wait to be MINED before the transaction/signature, or it fails (reverts on TRANSACTION; on SIGNATURE the order is accepted and silently never fills). Only present when the sold token needs it — omitted for native-coin sells and already-approved tokens.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
apiKeyNoYour RAVN API key, if you have one — raises your rate limit
quoteTokenYesThe quoteToken returned by ravn_quote
refundAddressNoLate-bound refund recipient if the swap fails, honoured by the same venues as destinationAddress. Every other venue fixes the refund address when it prices, and a DIFFERENT one here is rejected rather than silently ignored; supply refundAddress on ravn_quote instead
destinationAddressNoLate-bound output recipient, honoured by venues that bind at execution time (Chainflip, Garden, Layerswap, Mayan, NEAR Intents, Rift, RAVN two-hop routes). Every other venue fixes the recipient when it prices: a DIFFERENT address here is rejected rather than silently ignored. Supply destinationAddress on ravn_quote instead, which every venue honours

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault

No arguments

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed1 schema field changed
    • changedOutput schema / anyOf
      Previous value: -[
      -  {
      -    "additionalProperties": false,
      -    "properties": {
      -      "data": {
      -        "additionalProperties": false,
      -        "properties": {
      -          "approval": {
      -            "additionalProperties": {},
      -            "propertyNames": {
      -              "type": "string"
      -            },
      -            "type": "object"
      -          },
      -          "approvalData": {
      -            "additionalProperties": {},
      -            "description": "SIGNATURE only, 0x Gasless: a second EIP-712 payload some venues need signed for the approval itself",
      -            "propertyNames": {
      -              "type": "string"
      -            },
      -            "type": "object"
      -          },
      -          "deposit": {
      -            "additionalProperties": {},
      -            "description": "DEPOSIT only",
      -            "propertyNames": {
      -              "type": "string"
      -            },
      -            "type": "object"
      -          },
      -          "executionType": {
      -            "enum": [
      -              "DEPOSIT",
      -              "TRANSACTION",
      -              "SIGNATURE"
      -            ],
      -            "type": "string"
      -          },
      -          "quoteToken": {
      -            "description": "Pass to ravn_submit_signature and ravn_status. On compose this is the post-bind token from execute, not the original quote token",
      -            "type": "string"
      -          },
      -          "statusRef": {
      -            "description": "Poll ravn_status with this. Always set for DEPOSIT and compose; TRANSACTION otherwise uses the origin tx hash",
      -            "type": "string"
      -          },
      -          "submit": {
      -            "additionalProperties": {},
      -            "description": "SIGNATURE only: { url, payload? } — POST the signed payload(s) to ravn_status's ref via /api/v1/submit-signature",
      -            "propertyNames": {
      -              "type": "string"
      -            },
      -            "type": "object"
      -          },
      -          "transaction": {
      -            "additionalProperties": {},
      -            "description": "TRANSACTION only",
      -            "propertyNames": {
      -              "type": "string"
      -            },
      -            "type": "object"
      -          },
      -          "typedData": {
      -            "additionalProperties": {},
      -            "description": "SIGNATURE only",
      -            "propertyNames": {
      -              "type": "string"
      -            },
      -            "type": "object"
      -          }
      -        },
      -        "required": [
      -          "executionType",
      -          "quoteToken"
      -        ],
      -        "type": "object"
      -      },
      -      "meta": {
      -        "additionalProperties": false,
      -        "properties": {
      -          "requestId": {
      -            "type": "string"
      -          },
      -          "version": {
      -            "type": "string"
      -          }
      -        },
      -        "required": [
      -          "requestId",
      -          "version"
      -        ],
      -        "type": "object"
      -      }
      -    },
      -    "required": [
      -      "data",
      -      "meta"
      -    ],
      -    "type": "object"
      -  },
      -  {
      -    "additionalProperties": false,
      -    "properties": {
      -      "error": {
      -        "additionalProperties": false,
      -        "properties": {
      -          "code": {
      -            "type": "string"
      -          },
      -          "details": {},
      -          "message": {
      -            "type": "string"
      -          }
      -        },
      -        "required": [
      -          "code",
      -          "message"
      -        ],
      -        "type": "object"
      -      },
      -      "meta": {
      -        "additionalProperties": false,
      -        "properties": {
      -          "requestId": {
      -            "type": "string"
      -          },
      -          "version": {
      -            "type": "string"
      -          }
      -        },
      -        "required": [
      -          "requestId",
      -          "version"
      -        ],
      -        "type": "object"
      -      }
      -    },
      -    "required": [
      -      "error",
      -      "meta"
      -    ],
      -    "type": "object"
      -  }
      -]New value: +[
      +  {
      +    "additionalProperties": false,
      +    "properties": {
      +      "data": {
      +        "additionalProperties": false,
      +        "properties": {
      +          "approval": {
      +            "additionalProperties": {},
      +            "propertyNames": {
      +              "type": "string"
      +            },
      +            "type": "object"
      +          },
      +          "approvalData": {
      +            "additionalProperties": {},
      +            "description": "SIGNATURE only, 0x Gasless: a second EIP-712 payload some venues need signed for the approval itself",
      +            "propertyNames": {
      +              "type": "string"
      +            },
      +            "type": "object"
      +          },
      +          "deposit": {
      +            "additionalProperties": {},
      +            "description": "DEPOSIT only",
      +            "propertyNames": {
      +              "type": "string"
      +            },
      +            "type": "object"
      +          },
      +          "executionType": {
      +            "enum": [
      +              "DEPOSIT",
      +              "TRANSACTION",
      +              "SIGNATURE"
      +            ],
      +            "type": "string"
      +          },
      +          "quoteToken": {
      +            "description": "Pass to ravn_submit_signature and ravn_status. On compose this is the post-bind token from execute, not the original quote token",
      +            "type": "string"
      +          },
      +          "statusRef": {
      +            "description": "Poll ravn_status with this. Always set for DEPOSIT and compose; TRANSACTION otherwise uses the origin tx hash",
      +            "type": "string"
      +          },
      +          "submit": {
      +            "additionalProperties": {},
      +            "description": "SIGNATURE only: { url, payload? } — POST the signed payload(s) to ravn_status's ref via /api/v1/submit-signature",
      +            "propertyNames": {
      +              "type": "string"
      +            },
      +            "type": "object"
      +          },
      +          "transaction": {
      +            "additionalProperties": {},
      +            "description": "TRANSACTION only. On Solana (chainId -2): `serialized`, a base64 versioned transaction — have the user's wallet sign it exactly as returned and send it within a minute; never modify it, it can carry RAVN's partial signatures",
      +            "propertyNames": {
      +              "type": "string"
      +            },
      +            "type": "object"
      +          },
      +          "typedData": {
      +            "additionalProperties": {},
      +            "description": "SIGNATURE only",
      +            "propertyNames": {
      +              "type": "string"
      +            },
      +            "type": "object"
      +          }
      +        },
      +        "required": [
      +          "executionType",
      +          "quoteToken"
      +        ],
      +        "type": "object"
      +      },
      +      "meta": {
      +        "additionalProperties": false,
      +        "properties": {
      +          "requestId": {
      +            "type": "string"
      +          },
      +          "version": {
      +            "type": "string"
      +          }
      +        },
      +        "required": [
      +          "requestId",
      +          "version"
      +        ],
      +        "type": "object"
      +      }
      +    },
      +    "required": [
      +      "data",
      +      "meta"
      +    ],
      +    "type": "object"
      +  },
      +  {
      +    "additionalProperties": false,
      +    "properties": {
      +      "error": {
      +        "additionalProperties": false,
      +        "properties": {
      +          "code": {
      +            "type": "string"
      +          },
      +          "details": {},
      +          "message": {
      +            "type": "string"
      +          }
      +        },
      +        "required": [
      +          "code",
      +          "message"
      +        ],
      +        "type": "object"
      +      },
      +      "meta": {
      +        "additionalProperties": false,
      +        "properties": {
      +          "requestId": {
      +            "type": "string"
      +          },
      +          "version": {
      +            "type": "string"
      +          }
      +        },
      +        "required": [
      +          "requestId",
      +          "version"
      +        ],
      +        "type": "object"
      +      }
      +    },
      +    "required": [
      +      "error",
      +      "meta"
      +    ],
      +    "type": "object"
      +  }
      +]
  2. Changed1 schema field changed
    • changedInput schema / properties / destinationAddress / description
      Previous value: -"Late-bound output recipient, honoured by venues that bind at execution time (Chainflip, Garden, Layerswap, Mayan, NEAR Intents, Rift, 2-hop). Every other venue fixes the recipient when it prices: a DIFFERENT address here is rejected rather than silently ignored. Supply destinationAddress on ravn_quote instead, which every venue honours"New value: +"Late-bound output recipient, honoured by venues that bind at execution time (Chainflip, Garden, Layerswap, Mayan, NEAR Intents, Rift, RAVN two-hop routes). Every other venue fixes the recipient when it prices: a DIFFERENT address here is rejected rather than silently ignored. Supply destinationAddress on ravn_quote instead, which every venue honours"
  3. Changed2 schema fields changed
    • changedInput schema / properties / destinationAddress / description
      Previous value: -"Late-bound output recipient, for venues that support binding it at execution time (e.g. NEAR Intents, Garden, Chainflip, Rift). Does NOT apply to Relay, Across, Eco, or THORChain — those fix the recipient at quote time with no execute-time re-bind, so this is silently ignored for them; supply destinationAddress on ravn_quote instead"New value: +"Late-bound output recipient, honoured by venues that bind at execution time (Chainflip, Garden, Layerswap, Mayan, NEAR Intents, Rift, 2-hop). Every other venue fixes the recipient when it prices: a DIFFERENT address here is rejected rather than silently ignored. Supply destinationAddress on ravn_quote instead, which every venue honours"
    • changedInput schema / properties / refundAddress / description
      Previous value: -"Late-bound refund recipient if the swap fails, for venues that support binding it at execution time. Does NOT apply to a Bitcoin-source Relay or THORChain quote — both fix the refund address at quote time, so this is silently ignored for Relay and rejected outright for THORChain (a mismatch throws rather than executing against a stale address); supply refundAddress on ravn_quote instead"New value: +"Late-bound refund recipient if the swap fails, honoured by the same venues as destinationAddress. Every other venue fixes the refund address when it prices, and a DIFFERENT one here is rejected rather than silently ignored; supply refundAddress on ravn_quote instead"
  4. Changed1 schema field changed
    • changedOutput schema / anyOf
      Previous value: -[
      -  {
      -    "additionalProperties": false,
      -    "properties": {
      -      "data": {
      -        "additionalProperties": false,
      -        "properties": {
      -          "approval": {
      -            "additionalProperties": {},
      -            "propertyNames": {
      -              "type": "string"
      -            },
      -            "type": "object"
      -          },
      -          "approvalData": {
      -            "additionalProperties": {},
      -            "description": "SIGNATURE only, 0x Gasless: a second EIP-712 payload some venues need signed for the approval itself",
      -            "propertyNames": {
      -              "type": "string"
      -            },
      -            "type": "object"
      -          },
      -          "deposit": {
      -            "additionalProperties": {},
      -            "description": "DEPOSIT only",
      -            "propertyNames": {
      -              "type": "string"
      -            },
      -            "type": "object"
      -          },
      -          "executionType": {
      -            "enum": [
      -              "DEPOSIT",
      -              "TRANSACTION",
      -              "SIGNATURE"
      -            ],
      -            "type": "string"
      -          },
      -          "statusRef": {
      -            "description": "DEPOSIT only (the deposit address) — SIGNATURE gets its statusRef from submitting to /api/v1/submit-signature instead",
      -            "type": "string"
      -          },
      -          "submit": {
      -            "additionalProperties": {},
      -            "description": "SIGNATURE only: { url, payload? } — POST the signed payload(s) to ravn_status's ref via /api/v1/submit-signature",
      -            "propertyNames": {
      -              "type": "string"
      -            },
      -            "type": "object"
      -          },
      -          "transaction": {
      -            "additionalProperties": {},
      -            "description": "TRANSACTION only",
      -            "propertyNames": {
      -              "type": "string"
      -            },
      -            "type": "object"
      -          },
      -          "typedData": {
      -            "additionalProperties": {},
      -            "description": "SIGNATURE only",
      -            "propertyNames": {
      -              "type": "string"
      -            },
      -            "type": "object"
      -          }
      -        },
      -        "required": [
      -          "executionType"
      -        ],
      -        "type": "object"
      -      },
      -      "meta": {
      -        "additionalProperties": false,
      -        "properties": {
      -          "requestId": {
      -            "type": "string"
      -          },
      -          "version": {
      -            "type": "string"
      -          }
      -        },
      -        "required": [
      -          "requestId",
      -          "version"
      -        ],
      -        "type": "object"
      -      }
      -    },
      -    "required": [
      -      "data",
      -      "meta"
      -    ],
      -    "type": "object"
      -  },
      -  {
      -    "additionalProperties": false,
      -    "properties": {
      -      "error": {
      -        "additionalProperties": false,
      -        "properties": {
      -          "code": {
      -            "type": "string"
      -          },
      -          "details": {},
      -          "message": {
      -            "type": "string"
      -          }
      -        },
      -        "required": [
      -          "code",
      -          "message"
      -        ],
      -        "type": "object"
      -      },
      -      "meta": {
      -        "additionalProperties": false,
      -        "properties": {
      -          "requestId": {
      -            "type": "string"
      -          },
      -          "version": {
      -            "type": "string"
      -          }
      -        },
      -        "required": [
      -          "requestId",
      -          "version"
      -        ],
      -        "type": "object"
      -      }
      -    },
      -    "required": [
      -      "error",
      -      "meta"
      -    ],
      -    "type": "object"
      -  }
      -]New value: +[
      +  {
      +    "additionalProperties": false,
      +    "properties": {
      +      "data": {
      +        "additionalProperties": false,
      +        "properties": {
      +          "approval": {
      +            "additionalProperties": {},
      +            "propertyNames": {
      +              "type": "string"
      +            },
      +            "type": "object"
      +          },
      +          "approvalData": {
      +            "additionalProperties": {},
      +            "description": "SIGNATURE only, 0x Gasless: a second EIP-712 payload some venues need signed for the approval itself",
      +            "propertyNames": {
      +              "type": "string"
      +            },
      +            "type": "object"
      +          },
      +          "deposit": {
      +            "additionalProperties": {},
      +            "description": "DEPOSIT only",
      +            "propertyNames": {
      +              "type": "string"
      +            },
      +            "type": "object"
      +          },
      +          "executionType": {
      +            "enum": [
      +              "DEPOSIT",
      +              "TRANSACTION",
      +              "SIGNATURE"
      +            ],
      +            "type": "string"
      +          },
      +          "quoteToken": {
      +            "description": "Pass to ravn_submit_signature and ravn_status. On compose this is the post-bind token from execute, not the original quote token",
      +            "type": "string"
      +          },
      +          "statusRef": {
      +            "description": "Poll ravn_status with this. Always set for DEPOSIT and compose; TRANSACTION otherwise uses the origin tx hash",
      +            "type": "string"
      +          },
      +          "submit": {
      +            "additionalProperties": {},
      +            "description": "SIGNATURE only: { url, payload? } — POST the signed payload(s) to ravn_status's ref via /api/v1/submit-signature",
      +            "propertyNames": {
      +              "type": "string"
      +            },
      +            "type": "object"
      +          },
      +          "transaction": {
      +            "additionalProperties": {},
      +            "description": "TRANSACTION only",
      +            "propertyNames": {
      +              "type": "string"
      +            },
      +            "type": "object"
      +          },
      +          "typedData": {
      +            "additionalProperties": {},
      +            "description": "SIGNATURE only",
      +            "propertyNames": {
      +              "type": "string"
      +            },
      +            "type": "object"
      +          }
      +        },
      +        "required": [
      +          "executionType",
      +          "quoteToken"
      +        ],
      +        "type": "object"
      +      },
      +      "meta": {
      +        "additionalProperties": false,
      +        "properties": {
      +          "requestId": {
      +            "type": "string"
      +          },
      +          "version": {
      +            "type": "string"
      +          }
      +        },
      +        "required": [
      +          "requestId",
      +          "version"
      +        ],
      +        "type": "object"
      +      }
      +    },
      +    "required": [
      +      "data",
      +      "meta"
      +    ],
      +    "type": "object"
      +  },
      +  {
      +    "additionalProperties": false,
      +    "properties": {
      +      "error": {
      +        "additionalProperties": false,
      +        "properties": {
      +          "code": {
      +            "type": "string"
      +          },
      +          "details": {},
      +          "message": {
      +            "type": "string"
      +          }
      +        },
      +        "required": [
      +          "code",
      +          "message"
      +        ],
      +        "type": "object"
      +      },
      +      "meta": {
      +        "additionalProperties": false,
      +        "properties": {
      +          "requestId": {
      +            "type": "string"
      +          },
      +          "version": {
      +            "type": "string"
      +          }
      +        },
      +        "required": [
      +          "requestId",
      +          "version"
      +        ],
      +        "type": "object"
      +      }
      +    },
      +    "required": [
      +      "error",
      +      "meta"
      +    ],
      +    "type": "object"
      +  }
      +]
  5. Changed1 schema field changed
    • changedInput schema / properties / refundAddress / description
      Previous value: -"Late-bound refund recipient if the swap fails, for venues that support binding it at execution time. Does NOT apply to a Bitcoin-source Relay quote — Relay bakes the refund address in at quote time, so this is silently ignored for those; supply refundAddress on ravn_quote instead"New value: +"Late-bound refund recipient if the swap fails, for venues that support binding it at execution time. Does NOT apply to a Bitcoin-source Relay or THORChain quote — both fix the refund address at quote time, so this is silently ignored for Relay and rejected outright for THORChain (a mismatch throws rather than executing against a stale address); supply refundAddress on ravn_quote instead"
  6. Changed1 schema field changed
    • changedInput schema / properties / destinationAddress / description
      Previous value: -"Late-bound output recipient, for venues that need it at execution time rather than quote time"New value: +"Late-bound output recipient, for venues that support binding it at execution time (e.g. NEAR Intents, Garden, Chainflip, Rift). Does NOT apply to Relay, Across, Eco, or THORChain — those fix the recipient at quote time with no execute-time re-bind, so this is silently ignored for them; supply destinationAddress on ravn_quote instead"
  7. Changed1 schema field changed
    • changedInput schema / properties / refundAddress / description
      Previous value: -"Late-bound refund recipient if the swap fails"New value: +"Late-bound refund recipient if the swap fails, for venues that support binding it at execution time. Does NOT apply to a Bitcoin-source Relay quote — Relay bakes the refund address in at quote time, so this is silently ignored for those; supply refundAddress on ravn_quote instead"
  8. Changed4 schema fields changed
    • addedInput schema / properties / apiKey / description
      Added value: +"Your RAVN API key, if you have one — raises your rate limit"
    • addedInput schema / properties / destinationAddress / description
      Added value: +"Late-bound output recipient, for venues that need it at execution time rather than quote time"
    • addedInput schema / properties / refundAddress / description
      Added value: +"Late-bound refund recipient if the swap fails"
    • changedOutput schema / (root)
      Previous value: -nullNew value: +{
      +  "$schema": "https://json-schema.org/draft/2020-12/schema",
      +  "anyOf": [
      +    {
      +      "additionalProperties": false,
      +      "properties": {
      +        "data": {
      +          "additionalProperties": false,
      +          "properties": {
      +            "approval": {
      +              "additionalProperties": {},
      +              "propertyNames": {
      +                "type": "string"
      +              },
      +              "type": "object"
      +            },
      +            "approvalData": {
      +              "additionalProperties": {},
      +              "description": "SIGNATURE only, 0x Gasless: a second EIP-712 payload some venues need signed for the approval itself",
      +              "propertyNames": {
      +                "type": "string"
      +              },
      +              "type": "object"
      +            },
      +            "deposit": {
      +              "additionalProperties": {},
      +              "description": "DEPOSIT only",
      +              "propertyNames": {
      +                "type": "string"
      +              },
      +              "type": "object"
      +            },
      +            "executionType": {
      +              "enum": [
      +                "DEPOSIT",
      +                "TRANSACTION",
      +                "SIGNATURE"
      +              ],
      +              "type": "string"
      +            },
      +            "statusRef": {
      +              "description": "DEPOSIT only (the deposit address) — SIGNATURE gets its statusRef from submitting to /api/v1/submit-signature instead",
      +              "type": "string"
      +            },
      +            "submit": {
      +              "additionalProperties": {},
      +              "description": "SIGNATURE only: { url, payload? } — POST the signed payload(s) to ravn_status's ref via /api/v1/submit-signature",
      +              "propertyNames": {
      +                "type": "string"
      +              },
      +              "type": "object"
      +            },
      +            "transaction": {
      +              "additionalProperties": {},
      +              "description": "TRANSACTION only",
      +              "propertyNames": {
      +                "type": "string"
      +              },
      +              "type": "object"
      +            },
      +            "typedData": {
      +              "additionalProperties": {},
      +              "description": "SIGNATURE only",
      +              "propertyNames": {
      +                "type": "string"
      +              },
      +              "type": "object"
      +            }
      +          },
      +          "required": [
      +            "executionType"
      +          ],
      +          "type": "object"
      +        },
      +        "meta": {
      +          "additionalProperties": false,
      +          "properties": {
      +            "requestId": {
      +              "type": "string"
      +            },
      +            "version": {
      +              "type": "string"
      +            }
      +          },
      +          "required": [
      +            "requestId",
      +            "version"
      +          ],
      +          "type": "object"
      +        }
      +      },
      +      "required": [
      +        "data",
      +        "meta"
      +      ],
      +      "type": "object"
      +    },
      +    {
      +      "additionalProperties": false,
      +      "properties": {
      +        "error": {
      +          "additionalProperties": false,
      +          "properties": {
      +            "code": {
      +              "type": "string"
      +            },
      +            "details": {},
      +            "message": {
      +              "type": "string"
      +            }
      +          },
      +          "required": [
      +            "code",
      +            "message"
      +          ],
      +          "type": "object"
      +        },
      +        "meta": {
      +          "additionalProperties": false,
      +          "properties": {
      +            "requestId": {
      +              "type": "string"
      +            },
      +            "version": {
      +              "type": "string"
      +            }
      +          },
      +          "required": [
      +            "requestId",
      +            "version"
      +          ],
      +          "type": "object"
      +        }
      +      },
      +      "required": [
      +        "error",
      +        "meta"
      +      ],
      +      "type": "object"
      +    }
      +  ],
      +  "type": "object"
      +}
  9. First observed

TDQS

Score is being calculated.

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.