For AI agents: a documentation index is available at the root level at /llms.txt and /llms-full.txt. Append /llms.txt to any URL for a page-level index, or .md for the markdown version of any page.
Contact usDashboard
  • Get Started
    • Why Syndicate
    • Quickstart
  • Infrastructure
    • L2 / L3 Chains
    • Smart RPC
    • Mirrors
  • Guides
    • Send and Monitor Transactions
    • IP Allowlisting
    • Mirrors
  • API
      • POSTPersonal Sign
      • POSTSign Typed Data
      • POSTSign Typed Data With Lookup
      • GETGet EIP191 Personal Signatures by Project
      • GETGet EIP191 Personal Signature by ID
      • GETGet EIP712 Typed Data Signatures by Project
      • GETGET EIP712 Typed Data Signature by ID
LogoLogo
Contact usDashboard
APISignatures

Sign Typed Data With Lookup

POST
https://api.syndicate.io/wallet/project/:projectId/signTypedDataWithLookup
POST
/wallet/project/:projectId/signTypedDataWithLookup
$curl -X POST https://api.syndicate.io/wallet/project/d5e9c84f-c2b2-4bf4-b4b0-7ffd7a9ffc32/signTypedDataWithLookup \
> -H "Authorization: Bearer <token>" \
> -H "Content-Type: application/json" \
> -d '{
> "lookups": [
> {
> "chainId": 1,
> "contractAddress": "contractAddress",
> "functionSignature": "functionSignature",
> "type": "contract"
> }
> ]
>}'
1{
2 "message": {
3 "key": "value"
4 },
5 "signature": "signature",
6 "signerAddress": "signerAddress",
7 "signatureId": "d5e9c84f-c2b2-4bf4-b4b0-7ffd7a9ffc32"
8}
Sign EIP712 compliant typed data after asserting all lookups are valid. Lookups can be view or pure functions on smart contracts. Responses are compared to specified values in the request.
Was this page helpful?
Previous

Get EIP191 Personal Signatures by Project

Next
Built with

Authentication

AuthorizationBearer

Bearer authentication of the form Bearer <token>, where token is your auth token.

Path parameters

projectIdUUIDRequired

Request

This endpoint expects an object.
domainobjectRequired

Components of the domain seperator. At least one field is required.

lookupsset of objectsRequired
Specify a maximum of 5 contract lookups to compare data with. All lookups must be valid to receive a signature by the 'signerAddress'.
messagemap from strings to anyRequired
Data to be signed by the 'signerAddress'. The message's structure must be correctly defined in the 'types' mapping, specified by the 'primaryType'.
primaryTypestringRequired
Specifies the name of the key in 'types' that describes the shape of the 'message'.
signerAddressstringRequired
Address of a project wallet that will be used to sign the 'message'.
typesmap from strings to sets of objectsRequired

Type definitions of the domain and data you are requesting signature of. At minimum you must define the domain with key ‘EIP712Domain’ and the type of your message with key specified by ‘primaryType’. More information here.

signatureIdUUIDOptional

(Optional) ID of the request. Needs to be a valid UUID. If provided, it will be saved and returned as the signatureId of the response. If not provided, we will generate one for you and return it as the signatureId.

Response

This endpoint returns an object.
messageany
The raw data requested to be signed.
signaturestring
The signature of 'message' by the 'signerAddress'.
signerAddressstring
The address of the signer of the 'signature'.
signatureIdUUID
UUID of the signature request.

Errors

400
Signature Error
500
Internal Error