Create a supply
This method allows a TEOS user to create a new supply. A supply is an offer to exchange a specific amount of sparks of an offered asset for a specific amount of sparks of a desired asset.
📘 Learn more about supplies.
Request Endpoint:
POST/odata/v1.0/Supplies/CreateSample Request
POST /Supplies/CreateContent-Type: application/json 
In EVM-compatible networks (e.g., Sparknet, Ethereum, and Polygon), the "OriginatorAddress" and "ReceiverAddress" are 42 characters long. In non-EVM networks, the address length may differ. For example, on Internet Computer, it is 63 characters.
{
    "OfferedAssetId" : "0x28fb9b1d9baf5cbf6aea0001",
    "DesiredAssetId" :"0x564f0ffb29de16fba6e00001",
    "OfferedSparksAmount" :"100",
    "ExchangeRate": "1",
    "OriginatorAddress" : "0xfa967924a46b687b27f9cb11dd6f7386f3b9a4ec",
    "ReceiverAddress" : "0xfa967924a46b687b27f9cb11dd6f7386f3b9a4ec",
    "TakeAll" : true,
    "ExpirationDate":"2024-02-15T23:25:24.295Z",
    "ExpirationBlock" : "84572310231845",
    "CreatedBy": "70647697-15c6-454d-8b34-638c8f68c79f"
}Parameters
Name
Description
None
This method does not require URL parameters
Request Body
Field
Type
Description
Mandatory
OfferedAssetId
string
Unique identifier of the offered asset
✅
DesiredAssetId
string
Unique identifier of the desired asset
✅
OfferedSparksAmount
string
Amount of offered asset in sparks
✅
ExchangeRate
string
Amount of desired asset per spark of offered asset
✅
OriginatorAddress
string
Address of the issuer
✅
ReceiverAddress
string
Address of the receiver
✅
CreatedBy
string
Identifier of the creator
✅
ExpirationDate
datetime
Expiration date of the supply (mutually exclusive with ExpirationBlock)
❌
ExpirationBlock
string
Block number when supply expires (mutually exclusive with ExpirationDate)
❌
TakeAll
boolean
Withdraw the whole amount at one iteration (default: false)
❌
Example Response Body
{
  "Id": "C0D34D73-6FD3-40F2-A7E1-08D9412448F7",
  "State": "3",
  "BlockchainTransactionId": "0x748ac47e7226cae0e4e13373375f33ab9e4d43ef29d85d233162a7e7e913703b",
  "Type": "ActivateAsset",
  "OnCreated": "2025-10-08T12:05:17.441Z",
  "OnUpdated": "2025-10-08T12:05:17.441Z",
  "OnSubmitted": "2025-10-08T12:05:17.441Z",
  "OnCommitted": "2025-10-08T12:05:17.441Z",
  "OnConfirmed": "2025-10-08T12:05:17.441Z",
  "OnRevokedByBlockchain": "2025-10-08T12:05:17.441Z",
  "OnRevokedByUser": "2025-10-08T12:05:17.441Z",
  "OnRevokedByTxServer": "2025-10-08T12:05:17.441Z",
  "SignedBy": "string",
  "CreatedBy": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
  "GasPrice": "string",
  "GasUsed": "string",
  "DataAsJson": "string",
  "SigningParametersAsJson": "string"
}Response Fields Description
Field
Type
Description
Id
string
Identifier of the transaction
State
string
Current state of the transaction
BlockchainTransactionId
string
ID of the transaction on blockchain
Type
string
Type of the transaction
OnCreated
datetime
Timestamp when the transaction was created
OnUpdated
datetime
Timestamp when the transaction was last updated
OnSubmitted
datetime
Timestamp when the transaction was submitted
OnCommitted
datetime
Timestamp when the transaction was committed
OnConfirmed
datetime
Timestamp when the transaction was confirmed
OnRevokedByBlockchain
datetime
Timestamp if transaction was revoked by blockchain
OnRevokedByUser
datetime
Timestamp if transaction was revoked by user
OnRevokedByTxServer
datetime
Timestamp if transaction was revoked by transaction server
SignedBy
string
Address or identifier of the signer
CreatedBy
string
Identifier of the creator
GasPrice
string
Gas price used in blockchain transaction
GasUsed
string
Gas consumed for transaction execution
DataAsJson
string
Additional data in JSON format
SigningParametersAsJson
string
Signing parameters in JSON format
Responses
Code
Description
200
OK
201
The transaction was successfully created
400
The supply create data is invalid. Error details are included
401
Unauthorized
404
Not Found
Last updated
Was this helpful?