POST Request settlement

Creates a settlement request and starts the time delay. Note that Market Maker will be paused from other activities at this point.

post
Header parameters
apiKeystringRequired

The API key that was assigned to you by Native

Body
chainstring · enumRequired

Native blockchain name, eg: ethereum, bsc, etc

Example: ethereumPossible values:
recipientstringRequired

The address of the market maker or the settler

Pattern: ^0x[a-fA-F0-9]{40}$
traderstringRequired

The address of the trader

Pattern: ^0x[a-fA-F0-9]{40}$
Responses
201
Success
application/json
post
POST /lend/v1/lend/request-settlement HTTP/1.1
Host: newapi.native.org
apiKey: text
Content-Type: application/json
Accept: */*
Content-Length: 115

{
  "chain": "ethereum",
  "recipient": "text",
  "positionUpdates": [
    {
      "tokenAddress": "text",
      "amount": "text"
    }
  ],
  "trader": "text"
}
{
  "chain": "ethereum",
  "recipient": "text",
  "positionUpdates": [
    {
      "tokenAddress": "text",
      "amount": "text"
    }
  ],
  "trader": "text"
}

Example response

{
    "id": "d49c39ed-ff63-41c0-bf3a-75f6d56f7346",
    "nonce": "6168514449590345",
    "recipient": "0x9B85B4A413Efe69684290816a3E814B4aA1EFf63",
    "chain": "base",
    "positionUpdates": [
        {
            "tokenAddress": "0x4200000000000000000000000000000000000006",
            "amount": "-5000000000"
        }
    ],
    "creditChangeUsd": -0.00001168615,
    "trader": "0x9B85B4A413Efe69684290816a3E814B4aA1EFf63",
    "requestAt": "2024-01-31T08:09:22.645Z",
    "enableAt": "2024-01-31T08:14:22.645Z",
    "expiresAt": "2024-01-31T08:15:22.645Z",
    "type": "settlement"
}

Error responses

// Try to withdraw more than long position amount
{
    "statusCode": 400,
    "message": "Cannot make long position to become short position",
    "error": "Bad Request"
}

// Try to deposit into long position
{
    "statusCode": 400,
    "message": "Cannot increasing existing long position",
    "error": "Bad Request"
}

// Try to deposit more than short position amount
{
    "statusCode": 400,
    "message": "Cannot make short position to become long position",
    "error": "Bad Request"
}

// Try to withdraw from short position
{
    "statusCode": 400,
    "message": "Cannot decreasing existing short position",
    "error": "Bad Request"
}

// Invalid token address
{
    "statusCode": 400,
    "message": "Cannot settle unexist position",
    "error": "Bad Request"
}

// Invalid mm
{
    "statusCode": 404,
    "message": "MM Settings not found",
    "error": "Not Found"
}

Last updated